È ragionevole non avere criteri pass / fail per uno stress test

10

Solo per chiarezza, lo stress test che ho scritto aumenta costantemente il carico sul sistema fino a raggiungere un punto di rottura. Funziona teoricamente a tempo indeterminato, ma poiché le risorse di sistema sono limitate, ci si aspetta che falliscano dopo un certo periodo di tempo. Ho un carico previsto per il sistema, ma questo viene testato separatamente in un test load . Lo scopo di questo stress test è scoprire quanto carico posso caricare sul sistema prima di implementare il ridimensionamento.

Sono in procinto di scrivere uno stress test per un sistema, e mi chiedo se abbia senso avere dei criteri pass / fail. Per natura del test, il carico aumenta costantemente fino a raggiungere un punto di rottura (cioè fail ). Ovviamente non so quale sia il punto di rottura in anticipo, e quindi nessuna aspettativa del carico che il sistema può gestire (in teoria comunque).

Ora ho altri test delle prestazioni per testare il sistema con un carico previsto, ecc., che posso facilmente impostare i criteri pass / fail per, e I potrebbe usare questi criteri come base per il mio test di resistenza. In altre parole, potrei stabilire una base minima per il mio stress da raggiungere, ma non sono sicuro che questa sia la cosa giusta da fare (è questo 'duplicare' il mio altro test?).

Spero che qualcuno con più esperienza nei test delle prestazioni possa aiutarmi qui. Quali criteri pass / fail sono stati utilizzati da altri quando test di stress (se ce ne sono)?

    
posta Alex 22.11.2016 - 15:43
fonte

3 risposte

10

In uno stress test il tuo lavoro non è quello di definire lo stress che il soggetto dovrebbe essere in grado di fare. È per misurare lo stress necessario prima che fallisca.

È possibile utilizzare i criteri di rendimento per definire cos'è un errore di stress. Ma il risultato di uno stress test non è pass / fail. È "fallito dopo 90 ore in meno del 100% di utilizzo con ventilazione compromessa al 50%".

    
risposta data 22.11.2016 - 16:51
fonte
1

Dipende dai requisiti, se i tuoi requisiti specificano che il risultato atteso per il rendimento dell'app è X e in realtà hai Y, quindi è un Fail.
Se non hai definito i requisiti, potresti stressare il tuo sistema e raccogliere i dati di confine e quindi capire e documentare questi limiti.

    
risposta data 22.11.2016 - 16:12
fonte
0

È possibile aggiornare facilmente il test di stress primario per supportare anche una verifica pass / fail del QA, ad esempio "in grado di raggiungere / sostenere il carico X senza interruzioni". Idealmente con X configurabile (per diversi rami di rilascio, per esempio).

Il risultato sarebbe fail se il sistema si rompe prima che il carico raggiunga X e pass se non si rompe. Dovresti semplicemente smettere di aumentare il carico una volta raggiunto il valore X in uno scenario di "sustain".

IMHO un test automatico come questo può essere molto utile nel contesto di CI / CD, specialmente sui rami di produzione.

    
risposta data 23.11.2016 - 05:17
fonte

Leggi altre domande sui tag