Qual è una metrica appropriata per queste variabili?

1

Per una suite di test che ho, ogni test ha un tasso di errore (da 0 a 1), dove 1 significa che fallisce ogni volta e 0 significa che non fallisce mai, e una durata in ms (questo è illimitato). Voglio una metrica (penso sia per la moltiplicazione che per la divisione) che catturerà la conoscenza che i test con una durata bassa hanno un valore elevato e i test che hanno un alto tasso di errore hanno un valore elevato.

Qual è la metrica appropriata per questo?

    
posta Michael Hagar 20.10.2016 - 23:34
fonte

2 risposte

2

Aggrega i tuoi dati in quartili :

The first quartile (Q1) is defined as the middle number between the smallest number and the median of the data set. The second quartile (Q2) is the median of the data. The third quartile (Q3) is the middle value between the median and the highest value of the data set.

Questo significa che avrai qualcosa del tipo:

| Runtime | FAILED     | PASSED    |
|---------|------------|-----------|
| 25%     | 20 seconds | 2 seconds |
| 50%     | 30 seconds | 3 seconds |
| 75%     | 33 seconds | 4 seconds |

Ciò significa che il 25% dei test falliti ha meno di 20 secondi. Il 50% ha meno di 30 secondi, ecc.

Puoi quindi confrontarli direttamente. Nota che a volte potrebbe essere utile per altre soglie, come il 90% e il 95% o anche il 99% a seconda della frequenza degli eventi.

    
risposta data 20.10.2016 - 23:45
fonte
0

Penso che una buona metrica da utilizzare sia il "tasso di errore nel tempo": se dovessi eseguire questo test costantemente (riavvio immediato del test ogni volta che finisce), con quale frequenza fallirebbe?

Per calcolare questo, basta dividere la probabilità di fallimento (il tasso di fallimento, come lo hai definito) per la durata del test. Ad esempio, se la probabilità di errore è 0,3 e la durata è 100 millisecondi, il calcolo è:

failure rate over time = (probability of failure) / (duration) = 0.3 / (100 milliseconds) = 0.003 per millisecond

Naturalmente, questo è un numero molto piccolo. Puoi moltiplicare questo valore per 1.000 per ottenere il tasso di errore al secondo, oppure puoi moltiplicarlo per 3.600.000 per ottenere il tasso di errore all'ora.

    
risposta data 21.10.2016 - 20:07
fonte

Leggi altre domande sui tag