Come testare questo metodo getRandom ()? [duplicare]

0

Ci sono stringhe e ogni stringa ha un peso in una struttura dati. Il metodo getRandom () dovrebbe restituire una stringa in modo casuale con la sua probabilità di peso / peso totale.

C'è già una domanda su come definire questo metodo getRandom () su stackexchange.

Ma questa domanda riguarda come testare questo metodo getRandom ()?

Qualsiasi idea sarebbe davvero utile. Grazie.

    
posta rocky 29.09.2017 - 14:46
fonte

1 risposta

-2

Lo farei in questo modo:

Chiama getRandom() milioni di volte. Più lo chiami, più l'istogramma della frequenza delle occorrenze delle stringhe è più vicino ai pesi delle corde. Quindi, in sostanza, se tutte le frequenze sono abbastanza vicine ai pesi (usando un delta arbitrario), il test passa, altrimenti fallisce.

Si noti che sono possibili falsi positivi / negativi, ma con valori sensibili di N e delta dovrebbe essere raro.

Probabilmente è anche possibile calcolare una percentuale di probabilità in modo più accurato usando metodi statistici, anche se potrebbe essere un sovraccarico.

Sebbene non sia perfect in ogni modo, consente di rilevare la maggior parte degli errori di implementazione (con conseguente distribuzione errata).

    
risposta data 29.09.2017 - 17:42
fonte

Leggi altre domande sui tag