A tutti gli scopi pratici, non puoi. È possibile eseguire numerose prove con successo numerose volte, quindi senza apportare modifiche, un test fallirà. Questo è ciò che rende difficile testare il multi-threading - non è deterministico.
Potresti essere in grado di testare con un grado accettabile di certezza usando metodi statistici, cioè abbiamo eseguito 10 ^ test randomizzati senza errori trovati- è statisticamente probabile che non ci siano difetti.
Non è possibile eseguire un test che garantisca la sicurezza del thread, ma deve essere eseguito in base alla progettazione e al test della white box che il progetto sia stato implementato correttamente.
Per quanto riguarda ConcurrentHashMap - se il tuo venditore dice che qualcosa è sicuro per i thread, puoi solo decidere, mi fido del mio venditore - o forse parafrasando una grande linea di film "Devi pormi una domanda: mi sento fortunato "Beh, vero, punk?" - e se non ti fidi del tuo venditore, penso che tu abbia problemi più grandi.
EDIT: Il mio background coinvolge sistemi embedded Life critical e Hard Real time (sub nanosecondi). Le mie domande hanno una risposta nel contesto di "Qual è la cosa peggiore che succede" essendo un po 'più importante di "un crash del software inspiegabile" ......