Domanda

Stiamo sviluppando test di regressione automatizzati utilizzando VMWare e NUnit.Abbiamo diviso i test in passaggi e ora vorrei che ogni passaggio venisse esaminato per la regressione delle prestazioni.La semplice tempistica dei test, come fa NUnit, non sembra affidabile.Ho calcolato un fattore di accettazione di circa il 15%, ma i nostri passi a volte possono differire fino a oltre il 35%.In un ambiente di test così dipendente dalle risorse esiste un modo coerente per testare le prestazioni?Un sistema di cronometraggio "intelligente" è la mia unica opzione?

È stato utile?

Soluzione

Per questo tipo di test delle prestazioni, non esiste un sistema che dia un semplice risultato superato/fallito.Nella vita reale, è probabile che la modifica del sistema renda alcune cose più veloci e altre più lente, quindi di solito non è una scelta tra "migliore" e "non migliore", ma una scelta tra diversi tipi di meglio.(Naturalmente, vuoi evitare i casi in cui è decisamente peggio.)

Ciò che ho fatto in passato è stato semplicemente mantenere le statistiche nel tempo.Ogni volta che esegui i test, inserisci i risultati in un database SQL con il numero di revisione e i tempi del test.Quindi puoi rappresentarli graficamente quando e come vuoi (idealmente in una piccola applet web in modo che tutti i membri del team possano esaminarli) e vedere se le tue prestazioni stanno aumentando o diminuendo, o se le prestazioni sono state scarse da una particolare revisione.

La cosa fondamentale qui, però, è che deve essere a grafico.In questo modo gli occhi umani possono osservarlo e individuare le tendenze.Potresti passare tutta la settimana cercando di elaborare un algoritmo di intelligenza artificiale per analizzare numericamente i dati, ma non batterebbe mai la capacità di riconoscimento di schemi di un essere umano.

Altri suggerimenti

Potresti esaminare le funzionalità disponibili con uno strumento come Ants Profiler in quanto fornisce tempi di esecuzione/esecuzione del metodo, ma non sono sicuro di cosa offra in termini di test ripetuti.

Per quanto riguarda i test delle prestazioni, sono stato molto scettico sull'utilizzo di VMware o altri processi di virtualizzazione.Il modo in cui abbiamo gestito questo problema in passato è stato quello di fare in modo che parte della build installasse la versione più recente su una macchina statica ed eseguisse i test.Dovresti vedere risultati più coerenti al di fuori della virtualizzazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top