functional testing vs performance testing
Test funzionale vs test delle prestazioni:
Differenze tra Test delle prestazioni, test di carico e stress test sono stati spiegati con esempi nel nostro ultimo tutorial.
Il test del software copre una vasta gamma di aree in cui può verificarsi qualsiasi verifica o convalida della funzionalità del software. Occasionalmente, gli aspetti non funzionali diventano meno riguardanti gli aspetti funzionali. Non vengono eseguiti praticamente; contemporaneamente durante il test del software.
=> Fare clic qui per una serie completa di esercitazioni sui test delle prestazioni
Questo articolo spiega i vantaggi aggiuntivi della qualità del prodotto software durante i vari scenari del ciclo di vita del test del software quando sia funzionale che non funzionale vengono presi contemporaneamente.
Cosa imparerai:
- Differenza rapida tra test delle prestazioni e test funzionale
- Perché il test funzionale e il test delle prestazioni dovrebbero essere eseguiti contemporaneamente?
- Argomento di studio
- Conclusione
- Lettura consigliata
Differenza rapida tra test delle prestazioni e test funzionale
Sl NO | Test funzionali | Test delle prestazioni |
---|---|---|
uno | Per verificare l'accuratezza del software con input definiti rispetto all'output previsto | Per verificare il comportamento del sistema alle varie condizioni di carico |
Due | Può essere manuale o automatizzato | Può essere eseguito in modo efficace se automatizzato |
3 | Un utente che esegue tutte le operazioni | Diversi utenti eseguono le operazioni desiderate |
4 | Coinvolgimento richiesto da Cliente, Tester e Sviluppatore | Coinvolgimento richiesto da cliente, tester, sviluppatore, DBA e team di gestione N / W |
5 | L'ambiente di prova delle dimensioni di produzione non è obbligatorio ei requisiti H / W sono minimi | Richieste vicine all'ambiente di test di produzione e diverse strutture H / W per popolare il carico |
Perché il test funzionale e il test delle prestazioni dovrebbero essere eseguiti contemporaneamente?
Il test funzionale diventa molto più importante per qualsiasi pre-rilascio del software. Basato sui risultati effettivi verifica e validazione nella produzione replicata o nell'ambiente di test sono i luoghi in cui avviene solitamente il test.
La perdita di difetti può diventare uno dei problemi maggiori:
I tester hanno più responsabilità degli sviluppatori in termini di qualità del prodotto. Fondamentalmente, non vogliono che il prodotto testato abbia perdite di difetti. I tester generalmente tendono a eseguire solo test funzionali per raggiungere questo obiettivo.
Quella che segue è una conversazione tra aTest Manager e un Tester :
(Test Manager è indicato come 'TM' e Tester come 'TR')
TM : Hey amico ... come stiamo andando nel test 'A' del prodotto?
TR : Sì ... Stiamo progredendo in modo più grande.
TM : È fantastico ... E qual è il nostro scopo in termini di test delle prestazioni mentre i test funzionali sono in esecuzione?
TR : Non li stiamo coprendo, i nostri risultati dovrebbero essere solo nell'area funzionale e non nell'area non funzionale. Inoltre, l'ambiente di test che stiamo utilizzando non è una replica esatta della produzione.
Ci sono alcune domande da considerare dalla conversazione precedente:
- I test funzionali hanno un fattore dipendente dalle prestazioni?
- Cosa succede se le prestazioni del software vengono ridotte, ma la consegna del prodotto avviene senza controllare le prestazioni?
- Test delle prestazioni: coesiste all'interno del processo di test funzionale?
È diventata una pratica generale per i tester non lavorare sugli aspetti non funzionali a meno che non venga richiesto di farlo. È comune evitare test non funzionali fino a quando il client non ha segnalato problemi con le prestazioni del software in prova.
Quindi, ci sono 2 domande da considerare:
- Prestazioni: influisce sui test funzionali?
- Manteniamo i test delle prestazioni come deliverable separato, anche se preoccupa il cliente?
Il test delle prestazioni lo è importante !
domande e risposte dell'intervista unix per esperti
Il software funziona sulla base di varie architetture e dei seguenti modelli, tra cui:
- Modelli di risposta di risposta richiesti
- Sistemi basati sulle transazioni
- Sistemi basati sul carico
- Sistemi basati sulla replica dei dati
Il comportamento del test funzionale del modello sistematico sopra menzionato dipende dalle prestazioni del sistema.
Il punto di vista dell'automazione richiede molta attenzione verso i test delle prestazioni.
Quella che segue è una conversazione tra aclient e il Test Manager.
(Il cliente è indicato come 'CL' e il responsabile del test come 'TM')
CL : Quindi arrivando alla soluzione che abbiamo richiesto, spero che ci saranno più iterazioni del test che è attualmente in corso.
TM : Sì, questo può essere fatto. Come hai detto, ci sarà una maggiore probabilità di test iterativo, vorremmo proporre l'automazione per affrontare il test funzionale (regressione).
CL : OK fantastico, inviaci il tuo approccio in modo che possiamo approvarlo. L'automazione avrà un rendimento molto più elevato con il minimo sforzo.
TM : Esattamente. Lavoreremo sull'approccio e ti risponderemo con una prova di concetto.
Dalla conversazione di cui sopra, è chiaro che l'esigenza dei clienti è ottimizzare l'efficienza.
Argomento di studio
La società ABC lavora a un progetto per lo sviluppo del software A. Il test del software A viene eseguito dalla società XYZ.
Il contratto per la società ABC e XYZ ha alcune limitazioni per la loro collaborazione. Qualsiasi discussione tra le 2 società dovrebbe avvenire una volta alla settimana o tre volte al mese. Il sistema funziona su un modello di modalità richiesta-risposta. La fase di sviluppo è stata completata dalla società ABC.
Ora è il momento per la società XYZ di eseguire i test funzionali formali sul software A. XYZ inizia a lavorare sul test del software A. Hanno dato una risposta pulita al software e hanno dato il 'via' per l'implementazione dal vivo dopo 2 cicli di test.
Nonostante il certificato di qualità del team di test, l'implementazione live non è andata bene. C'erano molti bug di post-produzione. I clienti hanno dovuto affrontare un gran numero di problemi, inclusa un'interruzione della funzionalità per i processi aziendali end-to-end.
Quindi ora qual è il fileproblema?
- È un problema con una restrizione alla collaborazione tra il team di sviluppo e test?
- È che i requisiti non sono stati acquisiti al 100%?
- È che il prodotto non è stato testato in un ambiente di test adeguato?
- O altre cause?
Dopo un'attenta ricerca e analisi, ilseguenti sono stati dedotti:
- C'erano poche applicazioni dipendenti e interdipendenti che presentavano problemi di prestazioni durante il recupero delle risposte.
- Gli input di test utilizzati non erano assoluti.
- La robustezza del software non è stata curata.
- Molti problemi di sincronizzazione tra le molteplici applicazioni indipendenti.
- Il test del software aveva eseguito più rilavorazioni che non erano state prese in considerazione.
Quindi dopo ilAzioni correttiveintervenuto il team di pianificazione, è stato suggerito quanto segue:
- L'interazione tra il team di sviluppo e il team di test deve essere aumentata.
- Tutte le applicazioni dipendenti devono essere collegate e incluse nel test funzionale del sistema
- Il valore del timeout di richiesta e risposta deve essere aumentato per dare spazio ad ambienti non di produzione
- Vari input che vanno dal semplice al complesso devono essere utilizzati nei test funzionali
- I test non funzionali, in particolare il test delle prestazioni e del carico, devono essere eseguiti come consigliato dal team di riparazione.
- Oltre al test di sistema, deve essere eseguito il test di integrazione del sistema.
- Deve essere previsto un intervallo di tempo minimo tra due iterazioni di test. Serve per testare nuovamente i bug identificati in precedenza.
- Tutti i bug identificati nelle iterazioni precedenti dovrebbero essere corretti nell'iterazione corrente.
Il team di test ha implementato tutte le azioni proposte e in poco tempo sono stati scoperti un gran numero di difetti.
Osservazioni:
- Il programma di implementazione live del software è migliorato in modo significativo ottimizzando i tempi del ciclo di test.
- Sono stati compiuti buoni progressi nell'ottimizzazione della qualità del software. Quindi c'è stata una tremenda diminuzione dei ticket di supporto dopo l'implementazione.
- Le rilavorazioni sono state ridotte e si stavano testando le iterazioni invece di essere rielaborate. Tra le diverse iterazioni, sono stati osservati migliori miglioramenti nella qualità.
Conclusione
L'esecuzione di test non funzionali durante l'esecuzione di test funzionali è più vantaggioso e aggiungerà ulteriori vantaggi alla qualità complessiva del software. Ciò identificherà i bug di prestazioni (limitati all'ambiente di test e alla dipendenza) e quindi ridurrà le situazioni di ipotesi di problemi funzionali.
Deve essere eseguita una pianificazione sufficiente per eseguire test funzionali e non funzionali (al livello minimo) al fine di mantenere una forte relazione tra gli altri stakeholder del progetto.
Circa l'autore: Questo è un articolo scritto da Nagarajan. Lavora come test lead con oltre 6 anni di esperienza di test in varie aree funzionali come Banking, Airlines, Telecom sia in termini di manuale che di automazione.
Il nostro prossimo tutorial spiegherà di più sul piano di test delle prestazioni e sulla strategia di test.
=> Visita qui per una serie completa di tutorial sui test delle prestazioni
Tutorial PREV | PROSSIMO Tutorial
Lettura consigliata
- Test funzionale vs test non funzionale
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Test delle prestazioni vs test di carico vs stress test (differenza)
- Georgia Tech standardizza i suoi test delle prestazioni su RadView WebLOAD
- Differenza tra desktop, test server client e test Web
- Download dell'eBook Testing Primer
- Le differenze tra test unitari, test di integrazione e test funzionali
- Test delle prestazioni del cloud: fornitori di servizi di test di carico basati sul cloud