complete non functional testing guide
Una guida completa ai test non funzionali: scopo, tipi, strumento, casi di test con esempi
Che cosa sono i test non funzionali?
I test non funzionali vengono eseguiti per verificare i requisiti non funzionali dell'applicazione come prestazioni, usabilità, ecc.
Verifica se il comportamento del sistema è conforme al requisito o meno. Copre tutti gli aspetti che non sono trattati test funzionali . Nei nostri test quotidiani, viene prestata molta attenzione ai test funzionali e ai requisiti funzionali.
I clienti sono anche interessati a soddisfare i requisiti funzionali che sono direttamente correlati alla funzionalità di un'applicazione. Ma nella fase attuale, ovvero quando si viene testati funzionalmente, il software entra nel mercato e viene utilizzato dai veri utenti finali, e ci sono possibilità che affronti alcuni problemi legati alle prestazioni.
Questi problemi non sono legati alla funzionalità del sistema, ma possono influire negativamente sull'esperienza dell'utente. Quindi è importante che il software o l'applicazione venga testata anche per i requisiti non funzionali al fine di evitare un'esperienza negativa del cliente.
I test sono generalmente classificati in due tipi:
- Test funzionali
- Test non funzionali
Cosa imparerai:
- Importanza
- Scopo
- Esempio
- Vantaggi
- Come acquisire i requisiti non funzionali?
- Differenza nei requisiti funzionali e non funzionali
- Questa scatola nera o scatola bianca sta testando?
- Elenco di controllo dei casi di test non funzionali
- Documento di approccio
- Tipi di test non funzionali
- Strumenti di test non funzionali
- Conclusione
- Lettura consigliata
Importanza
A questo test è mancata la dovuta attenzione considerando che non sta influenzando la funzionalità del sistema.
Anche i requisiti non funzionali non hanno ricevuto la dovuta attenzione nei cicli di test precedenti. Tuttavia, ora questo è cambiato. I test non funzionali sono ora più importanti in quanto considerano tutte le prestazioni dell'applicazione e i problemi di sicurezza di questi tempi.
Questo test ha un impatto maggiore sulle applicazioni quando si tratta delle prestazioni dell'applicazione con un elevato traffico di utenti. Questo test garantisce che l'applicazione sia stabile e in grado di gestire il carico in condizioni estreme.
Come descrive il nome stesso, questo test si concentra sull'aspetto non funzionale dell'applicazione. Quindi quali sono gli aspetti non funzionali? O dovrei dire quali sono le caratteristiche che non sono legate alla funzionalità dell'applicazione?
Bene, ecco le risposte a quelle:
- Come funziona l'applicazione in circostanze normali?
- Come si comporta l'applicazione quando troppi utenti accedono contemporaneamente?
- L'applicazione può gestire lo stress?
- Quanto è sicura l'applicazione?
- L'applicazione può ripristinarsi da un disastro?
- L'applicazione può comportarsi allo stesso modo in un ambiente o sistema operativo diverso?
- Quanto è facile portare l'applicazione in un sistema diverso?
- I documenti / manuale utente forniti con l'applicazione sono di facile comprensione?
La lista continua. Ma il punto qui è che: queste caratteristiche non contribuiscono alla qualità dell'applicazione? La risposta è si. Queste caratteristiche sono ugualmente importanti.
Immagina che un'applicazione soddisfi perfettamente tutti i requisiti dell'utente, ma un utente non autorizzato vada facilmente a decifrare i dati inseriti dall'utente nell'applicazione, o l'applicazione muoia quando vengono caricati più di 5BB di qualsiasi file. Quindi diresti che l'applicazione è di buona qualità? Ovviamente non va bene !!
Scopo
L'unico scopo di questo tipo di test è garantire che gli aspetti non funzionali dell'applicazione vengano testati e che l'applicazione funzioni bene nel contesto della stessa.
Lo scopo è coprire il test di tutte le caratteristiche dell'applicazione che aiutano a fornire un'applicazione che soddisfi le aspettative aziendali.
Esempio
Questo è un tipo di test importante.
Il test funzionale verifica la funzionalità dell'applicazione e garantisce che funzioni come previsto, ma il test non funzionale garantisce che l'applicazione funzioni abbastanza bene da soddisfare le aspettative aziendali.
Per comprenderne l'importanza, facciamo un semplice esempio:
Un'applicazione viene sviluppata ed è completamente testata per la funzionalità, ma i test non funzionali non vengono eseguiti sulla stessa.
Nel frattempo, quando l'applicazione è attiva, potrebbero verificarsi problemi critici o importanti, ad esempio quando il carico dell'applicazione aumenta, diventa troppo lento e richiede molto tempo per aprirsi.
Il tempo di risposta potrebbe aumentare o quando il carico viene aumentato in una certa misura, l'applicazione potrebbe bloccarsi. Ciò mostra quanto sia importante testare gli aspetti non funzionali di un'applicazione.
Vantaggi
Di seguito sono riportati alcuni dei vantaggi di un test non funzionale:
- Copre i test che non possono essere coperti nei test funzionali.
- Assicura che l'applicazione funzioni in modo efficiente e sia sufficientemente affidabile.
- Garantisce la sicurezza dell'applicazione.
Come acquisire i requisiti non funzionali?
Mentre eseguiamo i test, l'attenzione si concentra principalmente sui test funzionali che testano la funzionalità del prodotto. Ma i test non funzionali sono importanti quanto i test funzionali e i suoi requisiti dovrebbero essere presi in considerazione sin dall'inizio del prodotto.
I requisiti non funzionali vengono utilizzati per eseguire test non funzionali. Questi requisiti includono l'output di prestazioni previsto dall'applicazione o dal software sottoposto a test. Questo fondamentalmente include il tempo impiegato dal software per far funzionare un particolare sistema.
I requisiti non funzionali catturano anche il comportamento quando un gran numero di persone utilizza il software contemporaneamente. La maggior parte delle volte si verifica che i server siano occupati o non disponibili a causa di un carico pesante (ovvero più persone lo utilizzano contemporaneamente). La prenotazione di biglietti ferroviari online può essere la migliore esempio di una tale situazione.
Quindi documentare adeguatamente il requisito Non Funzionale ed eseguire correttamente i test garantirà un'elevata soddisfazione in termini di usabilità da parte dei potenziali clienti.
Sebbene questo test non abbia un impatto aziendale diretto sulla funzionalità del sistema, può aumentare l'esperienza dell'utente e la facilità d'uso in misura maggiore, il che a sua volta avrà un impatto maggiore sulla qualità del software.
Esempio:
Considera lo stesso esempio di pagina di accesso di Facebook. In questo caso, lo scopo dei test non funzionali è quello di prendere nota del tempo richiesto dal sistema per accedere a Facebook dopo aver inserito le credenziali valide.
Inoltre, può essere testato come quando (diciamo 100) gli utenti accedono allo stesso tempo, quanto tempo ci vuole per accedere l'utente su Facebook.
Ciò garantisce che il sistema possa gestire il carico e il traffico che a sua volta ha una buona esperienza utente.
In Agile, il requisito non funzionale dovrebbe essere acquisito utilizzando gli input.
Un requisito non funzionale dovrebbe essere catturato come:
- Storie utente / tecniche
- In Criteri di accettazione
- In Artifact
9
# 1) Storie utente / tecniche
Un requisito non funzionale può essere acquisito utilizzando storie degli utenti o storie tecniche. L'acquisizione di requisiti non funzionali come una user story è la stessa dell'acquisizione di qualsiasi altro requisito. L'unica differenza tra l'utente e una storia tecnica è che la storia dell'utente richiede discussione e ha visibilità.
# 2) Criteri di accettazione
Criteri di accettazione è il punto definito per l'accettazione del prodotto da parte del cliente, ovvero per far accettare il prodotto ai punti definiti dovrebbe essere in stato di superamento.
Un requisito non funzionale dovrebbe essere incluso nei criteri di accettazione, ma a volte non è possibile testare i requisiti non funzionali con ogni storia, cioè con ogni iterazione. Quindi, i requisiti dovrebbero essere aggiunti o testati solo con l'iterazione pertinente.
# 3) Negli artefatti
Un artefatto separato dovrebbe essere preparato per i requisiti non funzionali, questo, a sua volta, aiuterebbe ad avere un'idea migliore di ciò che deve essere testato e di come può essere fatto nelle iterazioni.
Differenza nei requisiti funzionali e non funzionali
Esistono molte differenze tra i requisiti funzionali e non funzionali e alcune di esse sono indicate di seguito:
S.No. | Requisito funzionale | Requisito non funzionale |
---|---|---|
Prestazione | Performance tester tramite uno strumento che tratta l'operazione come una transazione eseguita da un certo numero di utenti simultanei mentre il tester sta analizzando tutta la logistica | Tempo di risposta |
1 | Il requisito funzionale è basato sul cliente. | Il requisito non funzionale si basa sugli sviluppatori e sulla conoscenza tecnica del team. |
Due | Il requisito funzionale specifica quale funzionalità deve essere presa in considerazione, ovvero cosa deve essere testato. | I requisiti non funzionali specificano come deve essere testato. |
3 | Il test funzionale viene eseguito prima che l'applicazione sia attiva. | I requisiti non funzionali includono il test di manutenzione, il test della documentazione che non sono richiesti mentre l'esecuzione è in corso, ma l'applicazione è stata attivata. |
4 | È noto solo come requisito funzionale. | Noto anche come requisiti di qualità. |
5 | Il piano di implementazione per i requisiti funzionali è definito nel documento di progettazione del sistema. | Il piano di implementazione per i requisiti non funzionali è definito nell'architettura di sistema. |
6 | Il requisito funzionale include la verifica della funzionalità tecnica del sistema. | I requisiti non funzionali includono qualità come sicurezza, usabilità, ecc. |
Ulteriore lettura => Differenze tra test funzionali e non funzionali
Questa scatola nera o scatola bianca sta testando?
Il test non funzionale rientra in un file test della scatola nera tecnica.
Questa tecnica non si limita a testare solo le funzionalità, ma può essere utilizzata anche per testare i requisiti non funzionali, nonché le prestazioni, l'usabilità, ecc. La tecnica di test della scatola nera non richiede alcuna conoscenza del sistema interno, ovvero non richiede la conoscenza del codice al tester.
Elenco di controllo dei casi di test non funzionali
Viene utilizzata una lista di controllo per garantire che nessun aspetto importante venga lasciato senza test.
Una lista di controllo viene generalmente utilizzata quando non c'è tempo per la documentazione e il prodotto deve essere testato o quando c'è un vincolo di tempo, una lista di controllo può essere utilizzata per garantire che tutti gli aspetti importanti siano stati coperti.
Vediamo unesempiodell'elenco di controllo per i test di prestazioni, sicurezza e documentazione.
Elenco di controllo per il test delle prestazioni
- Il tempo di risposta dell'applicazione dovrebbe essere verificata, ovvero quanto tempo ci vuole per caricare l'applicazione, qualsiasi input dato all'applicazione fornisce l'output in quanto tempo, aggiornando il browser, ecc.
- Portata dovrebbe essere verificato per il numero di transazioni completate durante un test di carico.
- Ambiente la configurazione dovrebbe essere la stessa dell'ambiente live, altrimenti i risultati non sarebbero gli stessi.
- Tempo di processo - Attività di processo come importazione ed esportazione di Excel, tutti i calcoli nell'applicazione dovrebbero essere testati.
- Interoperabilità dovrebbe essere verificato, ovvero un software dovrebbe essere in grado di interagire con altri software o sistemi.
- ETL il tempo dovrebbe essere verificato, ovvero il tempo impiegato per estrarre, trasformare e caricare i dati da un database all'altro.
- Carico crescente sull'applicazione dovrebbe essere verificato.
Elenco di controllo per i test di sicurezza
- Autenticazione: Solo un utente autentico dovrebbe essere in grado di accedere.
- Autorizzato: L'utente dovrebbe essere in grado di accedere a quei moduli solo per i quali è autorizzato o per i quali all'utente è stato fornito l'accesso.
- Parola d'ordine: Il requisito della password deve essere verificato, ovvero la password deve corrispondere a come il requisito definisce, ovvero lunghezza, caratteri speciali, numeri, ecc.
- Tempo scaduto: Se l'applicazione è inattiva, dovrebbe scadere entro un tempo specificato.
- Backup dei dati: Il backup dei dati deve essere eseguito in un momento specificato e deve essere copiato in una posizione protetta.
- Collegamenti interni all'applicazione web non dovrebbe essere accessibile se posizionato direttamente nel browser.
- Tutte le comunicazioni dovrebbero essere crittografate.
Elenco di controllo per il test della documentazione
- Documentazione utente e sistema.
- Documenti a scopo di formazione.
Documento di approccio
Sviluppare un documento di approccio specifico per la fase di test delle prestazioni perfezionando la strategia di test complessiva. Questo approccio al test guida nella pianificazione e nell'esecuzione di tutte le attività del test delle prestazioni.
convertire più video di YouTube in mp3
- Ambito del test
- Metriche di test
- Strumenti di test
- Date e risultati chiave
Ambito del test
Condurre test delle prestazioni da diverse prospettive, come le prestazioni degli utenti, i processi aziendali, la stabilità del sistema, il consumo di risorse e così via. I tipi di test delle prestazioni da eseguire sono discussi nella sezione precedente dell'articolo (come test di carico, test di stress, ecc.)
Metriche di test
L'approccio Test perfeziona le metriche da misurare e creare report durante il Test, ad esempio:
- Tempo di risposta (online)
- Finestra batch (batch)
- Portata ( Per esempio , il numero di transazioni per unità di tempo)
- Utilizzo ( Per esempio , la percentuale di risorse utilizzate)
Strumenti di test
Per lo più il test delle prestazioni richiede l'uso di strumenti appropriati:
- Strumenti di generazione del carico
- Strumenti di monitoraggio delle prestazioni
- Strumenti di analisi delle prestazioni
- Strumenti di profilazione dell'applicazione
- Strumenti di rivestimento della base.
Date e risultati chiave
Il documento sull'approccio del test delle prestazioni dovrebbe descrivere quanto segue:
- Data e ora di ogni esecuzione del Performance Test.
- Tipi di test e mix di funzionalità da includere in ciascuna condotta di Performance Test.
- Date di completamento del test delle prestazioni.
Tipi di test non funzionali
L'immagine seguente illustra i tipi di test non funzionali:
Test delle prestazioni:
Valuta le prestazioni complessive del sistema .
Gli elementi chiave sono i seguenti:
- Convalida che il sistema soddisfi il tempo di risposta previsto.
- Valuta che gli elementi significativi dell'applicazione soddisfino il tempo di risposta desiderato.
- Può anche essere condotto come parte del test di integrazione e del test di sistema.
Prova di carico:
Valuta se le prestazioni del sistema sono quelle previste in condizioni normali e previste.
I punti chiave sono:
- Convalida che il sistema funzioni come previsto quando utenti simultanei accedono all'applicazione e ottengono il tempo di risposta previsto.
- Questo test viene ripetuto con più utenti per ottenere il tempo di risposta e la velocità effettiva.
- Al momento del test, il database dovrebbe essere realistico.
- Il test dovrebbe essere condotto su un server dedicato che stimoli l'ambiente reale.
Stress Test:
Valuta se le prestazioni del sistema sono quelle previste quando le risorse sono scarse.
I punti chiave sono:
- Test su memoria insufficiente o spazio su disco insufficiente su client / server che rivelano i difetti che non possono essere trovati in condizioni normali.
- Più utenti eseguono le stesse transazioni sugli stessi dati.
- Più client sono connessi ai server con diversi carichi di lavoro.
- Riduci il tempo di riflessione a 'zero' per stressare i server al massimo.
Pensa al tempo: Proprio come l'intervallo di tempo tra la digitazione di utente e password.
Test del volume:
Valuta il comportamento del software quando è coinvolto un grande volume di dati.
I punti chiave sono:
- Quando il software è soggetto a grandi quantità di dati, controlla il limite in cui il software non riesce.
- Viene creata la dimensione massima del database e più client interrogano il database o creano un report più grande.
- Esempio - Se l'applicazione sta elaborando il database per creare un report, un test del volume consiste nell'utilizzare un set di risultati di grandi dimensioni e verificare se il report viene stampato correttamente.
Test di usabilità:
Valuta il sistema per uso umano o controlla se è idoneo all'uso.
I punti chiave sono:
- L'output è corretto e significativo ed è uguale a quello previsto per l'attività?
- Gli errori vengono diagnosticati correttamente?
- La GUI è corretta e coerente con lo standard?
- L'applicazione è facile da usare?
Test dell'interfaccia utente:
Valuta la GUI.
I punti chiave sono:
- La GUI dovrebbe fornire aiuto e suggerimenti per renderlo facile da usare.
- Coerente per il suo aspetto?
- I dati vengono attraversati correttamente da una pagina all'altra?
- La GUI non dovrebbe infastidire l'utente o diventare difficile da capire.
Test di compatibilità:
Valuta che l'applicazione è compatibile con altro hardware / software con configurazione minima e massima.
I punti chiave sono:
- Testare ogni hardware con la configurazione minima e massima.
- Prova con diversi browser.
I casi di test sono gli stessi di quelli eseguiti durante i test funzionali. - Nel caso in cui il numero di hardware e software sia eccessivo, possiamo utilizzare le tecniche OATS per arrivare ai casi di test per avere la massima copertura.
Test di recupero:
Valuta che l'applicazione si concluda regolarmente in caso di guasto e che i dati vengano ripristinati in modo appropriato da eventuali guasti hardware e software.
I test non si limitano ai seguenti punti:
- Interruzione dell'alimentazione, al cliente durante le attività CURD.
- Puntatori e chiavi di database non validi.
- Il processo del database viene interrotto o terminato prematuramente.
- Puntatori, campi e chiavi del database vengono danneggiati manualmente e direttamente all'interno del database.
- Disconnettere fisicamente la comunicazione, spegnere l'alimentazione, spegnere router e server di rete.
Test di instabilità:
Valuta e conferma se il software viene installato e disinstallato correttamente.
migliori programmi per monitorare la temperatura della CPU
I punti chiave sono:
- Convalida che i componenti di sistema siano installati correttamente sull'hardware designato.
- Convalida che la navigazione sulla nuova macchina aggiorni l'installazione esistente e le versioni precedenti.
- Convalida che con spazio su disco insufficiente, non vi è alcun comportamento inaccettabile.
Test della documentazione:
Valuta i documenti e altri manuali utente.
I punti chiave includono:
- Convalida che i documenti indicati siano disponibili nel prodotto.
- Convalida tutte le guide dell'utente, le istruzioni di configurazione, i file leggimi, le note sulla versione e la guida in linea.
Test di failover:
Il test di failover viene eseguito per verificare che in caso di guasto del sistema il sistema sia sufficientemente in grado di gestire risorse extra come i server.
Per prevenire una situazione del genere, il test di backup gioca un ruolo importante. La creazione di un sistema di backup è l'essenza del processo. Se il backup è disponibile, è utile ripristinare il sistema.
Test di sicurezza:
Test di sicurezza è fatto per garantire che l'applicazione non abbia scappatoie che potrebbero portare a perdite di dati o minacce. È uno degli aspetti importanti dei test non funzionali e, se non eseguito correttamente, può portare a minacce alla sicurezza.
Include test di autenticazione, autorizzazione, integrità e disponibilità.
Test di scalabilità:
Il test della scalabilità viene eseguito per verificare se l'applicazione è in grado di gestire un aumento del traffico, del numero di transazioni, del volume di dati, ecc. Il sistema dovrebbe funzionare come previsto quando viene eseguito il volume dei dati o la modifica della dimensione dei dati.
Test di conformità:
Il test di conformità viene eseguito per verificare se gli standard definiti vengono seguiti o meno. Gli audit vengono eseguiti per verificare lo stesso.
Per Esempio , Gli audit vengono eseguiti per verificare il processo di creazione di casi di test / piani di test e posizionarli nella posizione condivisa con il nome standard che viene eseguito o meno. In QC, durante la denominazione dei casi di test, il nome del caso di test standard viene seguito o meno. La documentazione è completa e approvata o meno.
Questi sono i pochi suggerimenti che vengono trattati durante l'audit.
Test di resistenza:
Test di resistenza viene fatto per verificare il comportamento del sistema quando un carico viene aumentato in una certa misura per un lungo periodo.
È anche chiamato test di immersione e test di capacità. Aiuta a verificare se ci sono perdite di memoria nel sistema. I test di resistenza sono un sottoinsieme dei test di carico.
Test di localizzazione:
Test di localizzazione viene fatto per verificare l'applicazione in diverse lingue, ad esempio in diverse lingue. L'applicazione deve essere verificata per una particolare cultura o locale. L'obiettivo principale è testare il contenuto, la GUI dell'applicazione.
Test di internazionalizzazione:
Test di internazionalizzazione è anche conosciuto come test i18n.
I18n rappresenta I - diciotto lettere - N. Viene eseguito per verificare se l'applicazione funziona come previsto in tutte le impostazioni della lingua. Verifica che qualsiasi funzionalità o applicazione stessa non si interrompa, ovvero l'applicazione dovrebbe essere in grado di gestire tutte le impostazioni internazionali.
Verifica inoltre che l'applicazione venga installata senza problemi.
Test di affidabilità:
Il test di affidabilità viene eseguito per verificare se l'applicazione è affidabile e viene testato per un periodo di tempo specifico nell'ambiente definito. Un'applicazione dovrebbe fornire ogni volta lo stesso output previsto, solo allora può essere considerata affidabile.
Test di portabilità:
Il test di portabilità viene eseguito per verificare se, nel caso in cui un software / applicazione sia installato su un sistema diverso o su una piattaforma diversa, dovrebbe essere in grado di funzionare come previsto, ovvero nessuna funzionalità dovrebbe essere influenzata a causa di un cambiamento nell'ambiente.
Durante il test, è anche necessario testare la modifica con la configurazione hardware come lo spazio su disco rigido, il processore e anche con diversi sistemi operativi per garantire che il comportamento corretto dell'applicazione e le funzionalità previste siano intatte.
Test di base:
Il test di base è anche noto come test di benchmark poiché crea una base per qualsiasi nuova applicazione da testare.
Per esempio: Nella prima iterazione, il tempo di risposta per un'applicazione era di 3 secondi. Ora, questo è stato impostato come punto di riferimento per la successiva iterazione e nella successiva iterazione, il tempo di risposta cambia a 2 secondi. È fondamentalmente un documento di convalida che viene utilizzato come base per riferimenti futuri.
Test di efficienza:
I test di efficienza vengono eseguiti per verificare se l'applicazione funziona in modo efficiente e il numero di risorse richieste, strumenti richiesti, complessità, requisiti del cliente, ambiente richiesto, tempo, che tipo di progetto è, ecc.
Questi sono alcuni dei puntatori che aiuterebbero a definire quanto efficientemente funzionerebbe un'applicazione se tutti i parametri considerati funzionassero come previsto.
Test di ripristino di emergenza:
Questo test viene eseguito per verificare la percentuale di successo del ripristino di un'applicazione o di un sistema se si verifica un errore critico e se il sistema è in grado di ripristinare i dati e l'applicazione o il sistema potrebbe far fronte facilmente a tornare al modo in cui funzionava in precedenza, ovvero da il fronte operativo.
Test di manutenibilità:
Una volta che l'applicazione / il prodotto è attivo, è possibile che si verifichi un problema nell'ambiente live o il cliente potrebbe desiderare un miglioramento per l'applicazione già attiva.
In questo caso, il team di test di manutenzione è disponibile per testare gli scenari sopra menzionati. Una volta che l'applicazione è attiva, necessita ancora di manutenzione per la quale lavora il team di test di manutenzione.
Strumenti di test non funzionali
Sul mercato sono disponibili diversi strumenti per i test delle prestazioni (carico e stress).
Alcuni di loro sono elencati di seguito:
- JMeter
- Loadster
- Loadrunner
- Loadstorm
- Neoload
- Previsione
- Caricamento completato
- Strumento di stress del server web
- WebLoad Professional
- Loadtracer
- vPerformer
I test non funzionali vengono sempre eseguiti senza documentazione e casi di test? Perché?
“Ci viene sempre insegnato come scrivere casi di test funzionali. Perché? I 'test non funzionali' vengono eseguiti senza documentazione (in altre parole, su base ad hoc) o si tratta di un processo separato molto più difficile da capire? Come vengono scritti i casi di test per i diversi tipi di test eseguiti su un'applicazione? '
Questa è una delle domande più originali, distintive e fuori dagli schemi che mi sono state poste negli ultimi tempi. Troviamo la risposta.
Come mai non vediamo e non facciamo pratica sulla scrittura di casi di test non funzionali?
Cominciamo con quello che sappiamo e come sempre uno scenario pratico.
Esempio: Di seguito sono riportati i passaggi da eseguire su un'applicazione di Online Banking per eseguire un trasferimento. Usiamolo come nostro test di riferimento.
- Accedi al sito.
- Scegli il conto bancario.
- Scegli il beneficiario (questo beneficiario potrebbe appartenere alla stessa banca o a un'altra banca - questo dipende dalla tua scelta di dati per eseguire questo passaggio. In ogni caso, scegline uno. Inoltre, supponiamo che il beneficiario sia già aggiunto). .
- Inserisci l'importo da trasferire (valore positivo, entro il limite, formato corretto, ecc.).
- Fai clic su Trasferisci e controlla se viene ricevuta la conferma, il saldo del conto è stato aggiornato e tutto il resto.
Questo è il test case funzionale, giusto?
Sulla stessa applicazione, sulla stessa pagina dei trasferimenti, diciamo che stiamo eseguendo Test di prestazioni, sicurezza e usabilità . Questi sono tipi non funzionali, giusto?
Come scriveremmo i casi di test?
# 1) Test di usabilità Test case
Il test di usabilità è un genere di test del software che si occupa dell'esperienza dell'utente. Queste sono alcune delle domande a cui cerchiamo di rispondere.
- Quanto è facile usare l'applicazione?
- Quanto è soddisfacente l'esperienza di utilizzo del sistema?
- Se non è subito familiare, quanto è facile imparare?
Maggiori informazioni su di esso sono qui: Guida ai test di usabilità
In che modo un utente determinerebbe le risposte alle domande di cui sopra nel contesto dei test di usabilità?
L'utente eseguirà esattamente gli stessi passaggi da eseguire nel caso di test funzionale. Ho ragione?
# 2) Test delle prestazioni Casi di test
Esistono diverse varianti al test delle prestazioni, ma in sostanza viene utilizzato per ottenere statistiche sul sistema, il suo utilizzo delle risorse, il tempo di risposta, il consumo di rete, ecc. In vari punti di carico.
Dai un'occhiata al nostro Esercitazioni sul test delle prestazioni per saperne di più.
Ora, se dovessi testare le prestazioni della transazione dei trasferimenti, avrei 10, 20, 30, 100 ... 1000 ... ecc. Gli utenti eseguiranno l'operazione di trasferimento simultaneamente o in modo incrementale a seconda di cosa desidero indirizzare e raccogliere dati.
Quali passaggi eseguirà ciascun utente per utilizzare il trasferimento mentre è in corso il test delle prestazioni?
Gli stessi passaggi esatti del test funzionale, corretto?
# 3) Casi di test dei test di sicurezza
Il test di sicurezza è una branca del controllo qualità che aiuta a rendere i sistemi software a prova di hacker. Identifica le vulnerabilità (potenziali aree problematiche nel sistema software), le sfrutta attraverso la penetrazione o la tecnica di test white-hat e quando vengono trovati loop-hole, vengono lavorati.
Quando voglio verificare se i trasferimenti sono a prova di hacker e sono diretti correttamente ai destinatari previsti e che non ci sono punti neri nell'intero processo? Vorrei eseguire il trasferimento mentre il processo di monitoraggio delle falle di sicurezza continua in parallelo.
Pertanto, in effetti, sto eseguendo esattamente gli stessi passaggi che farei normalmente in caso di un caso di test funzionale.
Immagino che abbiamo abbastanza per stabilire che i passaggi in tutte le situazioni sono gli stessi. Il metodo e l'intenzione dietro il processo sono ciò che è diverso.
Diamo uno sguardo comparativo:
Tipo di test | Oms? | Perché? Intenzione |
---|---|---|
Test funzionali | Tester del controllo di qualità | Precisione |
Efficienza | ||
Applicabilità aziendale | ||
Usabilità | Tester del controllo qualità o utenti in tempo reale | Facilità di utilizzo |
Facilità di apprendimento | ||
Efficienza | ||
Utilizzo della rete ecc. | ||
Sicurezza | Strumenti di scansione e altri sistemi di monitoraggio da parte di esperti di sicurezza specializzati | Hack sicuro |
Protezione dell'identità del beneficiario e del pagatore, ecc. |
Ciò che è interessante notare è questo indipendentemente dalla forma di test che vogliamo eseguire, tutti i passaggi sono gli stessi .
La vera differenza è che:
- Chi esegue questi passaggi?
- Qual è l'intenzione, o in altre parole cosa sto cercando di ottenere tramite questo test?
- Gli strumenti e le tecniche utilizzate.
Tornando alla nostra domanda, perché non impariamo mai a scrivere casi di test non funzionali con tutti i passaggi dettagliati che sono lì per farlo?
È perchè ,In sostanza, le fasi di test per una variazione sui tipi di test su una determinata funzione sono tutte uguali, funzionali o meno. È l'intenzione che fa la differenza e forse il metodo.
Conclusione
Prima di eseguire test non funzionali, è essenziale pianificare correttamente la strategia di test per garantire test adeguati. Esistono diversi strumenti disponibili sul mercato per eseguire questo tipo di test come Load Runner, RPT, ecc.
Questo test gioca un ruolo importante nel successo di un'applicazione e per costruire un buon rapporto con il cliente e quindi non dovrebbe essere trascurato. Questa è una delle parti importanti del test del software e il test non può essere considerato completo senza di esso.
Possiamo includere dettagli di test non funzionali nel piano di test o creare una strategia separata per esso. In entrambi i casi, l'obiettivo è avere un'adeguata copertura degli aspetti non funzionali del software.
Ci auguriamo che questo processo di approfondimento di questo argomento sia stato tanto divertente per voi quanto è stato presentato a tutti voi. Ci piacerebbe sentire il tuo feedback e le tue opinioni su questo argomento.
Come gestisci i test non funzionali nei tuoi team? E come sempre, facci sapere se sei d'accordo o in disaccordo o se hai qualcosa da aggiungere a ciò che stiamo facendo qui.
Lettura consigliata
- Test funzionale vs test non funzionale
- Alpha test e beta test (una guida completa)
- Guida al test di sicurezza delle applicazioni Web
- Guida completa ai test funzionali con i suoi tipi ed esempi
- Guida completa al test di verifica della costruzione (test BVT)
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Guida per principianti al penetration test di applicazioni Web
- Guida completa al test di carico per principianti