what is early testing
Che cos'è il test iniziale?
Il test del software dovrebbe iniziare all'inizio del ciclo di vita dello sviluppo del software. Ciò aiuta a catturare ed eliminare i difetti nelle prime fasi dell'SDLC, ovvero la raccolta dei requisiti e le fasi di progettazione. Un inizio precoce del test aiuta a ridurre il numero di difetti e alla fine il costo della rilavorazione.
I vari aspetti di Test precoci che aiuterebbero i responsabili e i responsabili del controllo qualità durante lo sviluppo o l'elaborazione del documento sulla strategia di test in SDLC sono spiegati qui.
L'adozione di Early Test comporterà immensamente la consegna di successo di un prodotto di qualità.
Entro la fine di questo tutorial, i lettori, i responsabili del controllo qualità, i lead ei tester avranno una discreta conoscenza dei concetti seguenti:
con cosa aprire i file bin
- Perché eseguire test preliminari in SDLC (progetto o versione software)?
- Scoping dello sforzo di Early Testing
- Cosa testare in anticipo?
- Avvia ed esci
- Pro e contro
Esploriamo ora le sfumature in dettaglio !!
Cosa imparerai:
- Principi di test
- Perché testare in anticipo in SDLC?
- Lo scopo del test iniziale
- Cosa testare in anticipo?
- Avvia ed esci al primo test
- Pro e contro
- Conclusione
- Lettura consigliata
Principi di test
Figura 1 - Vista semplificata dei principi di test
Per un determinato software o sistema o versione del prodotto in SDLC, esistono varie metodologie o strategie ben definite per la maggior parte dei seguenti Principi di test.
- Cos'è il test?
- Perché testare?
- Cosa testare?
- Come testare?
Tuttavia, alcune delle domande più persistenti che molti lettori, tester, lead e responsabili del controllo di qualità chiederebbero o vorrebbero ottenere maggiore chiarezza su include (area grigia in Figura 1 )
- Quando iniziare il test in una versione software o Quando dovrebbe iniziare il test in un progetto?
- Quando iniziare il test e quando interromperlo?
- Perché i test dovrebbero iniziare presto in SDLC?
- Che cos'è un test iniziale nello sviluppo del software?
Per una facile comprensione del pubblico, ho riunito tutte le domande della 'zona grigia' sotto un unico ombrello chiamato Test precoci.
Perché testare in anticipo in SDLC?
Parliamo di alcuni eventi e attività che fanno parte del test.
Di solito, il team di gestione del programma assegna un Program Manager (PM) a una determinata versione del software oa un progetto. Il PM, in collaborazione con tutte le parti interessate, inclusi i team di marketing, sviluppo, controllo qualità e supporto, presenta un programma di rilascio
In questo tutorial, ho scelto Programma trimestrale di rilascio utilizzando il modello Waterfall per spiegare il Concetti iniziali dei test in dettaglio.
Pianificazione del test del rilascio del software
La maggior parte delle organizzazioni segue ancora la tradizione Rilascio basato sul tempo (TBR) in cui le versioni del Software o del Prodotto sono pianificate per la consegna trimestrale, semestrale o annuale.
Prevalentemente, il modello Waterfall viene utilizzato per eseguire tali versioni del software. In alcuni casi, per un ciclo di rilascio più breve, viene adottato il modello Agile / Scrum.
figura 2 - Tipica pianificazione trimestrale dei test di rilascio (non complessiva del progetto o della pianificazione del rilascio)
Impatto di difetti critici o di gravità elevata
Figura 3 - Impatto tipico dei difetti critici
Principalmente , durante il corso del Test, ci si aspetta che
- Difetti critici o di gravità elevata devono essere identificati e registrati dai tester.
- Gli sviluppatori dovranno correggere questi difetti.
- Successivamente, i tester dovranno verificare le correzioni.
In secondo luogo , è ampiamente riconosciuto da molte organizzazioni di ingegneria del prodotto e del software che la correzione e la verifica di bug critici o di gravità elevata in un numero molto elevato è
- Richiede tempo
- Hogging di risorse (uomo + macchina)
- Tendente al collaterale, la correzione di bug critici tocca principalmente gran parte del codice, comprese le aree di intersezione.
da ultimo , se viene rilevato un gran numero di bug critici durante la fine di una data versione, si verifica uno o più dei seguenti sviluppi negativi.
- Alta probabilità di prolungamento del ciclo di test.
- Alta probabilità di mancato rispetto della scadenza del rilascio.
- Una caratteristica particolare che presenta un gran numero di difetti potrebbe dover essere rimossa da quella particolare versione.
- Mancato impegno del cliente.
E gli altri difetti?
Sono presenti difetti di priorità media e bassa che verranno identificati e registrati dai tester. Anche questi devono essere gestiti in modo appropriato dal team di sviluppo e QA. Quindi, nel complesso è un esercizio voluminoso.
Non c'è Silver Bullet
È un fatto ben noto che nessuna quantità di test può portare alla luce tutti i difetti che un prodotto software o il sistema presenta. Significa, in pratica, che non c'è fine ai test né il prodotto è privo di difetti.
Tuttavia, dal ' Facilità di manutenzione 'Punto di vista in un modello TTM (Competitive and Time To Market), è necessario rompere la mentalità tipica per scoprire i massimi difetti all'inizio di un ciclo di rilascio, in particolare l'identificazione di difetti critici e di alta gravità.
Qualunque o tutto quanto sopra avrà un impatto negativo sull'attività dell'organizzazione. In questo contesto, l'adozione di ‘ Test precoci 'Avere un attività di test separata sarà vantaggioso per la gestione complessiva di SDLC per un determinato progetto o rilascio.
Lo scopo del test iniziale
Avendo compreso l'obiettivo del test all'inizio nella sezione precedente intitolata ' Perché i primi test? ', Parliamo ora del' Portata del test iniziale ' in dettaglio.
Dato che stiamo introducendo il test precoce come una nuova attività da monitorare esclusivamente durante il corso dell'esecuzione del test, si consiglia di mettere in pratica l'ambito del test come spiegato di seguito
Assunzione:
- L'intero programma del progetto o del rilascio del software viene approvato e reso disponibile a tutte le parti interessate.
- Il documento sulla strategia di test globale viene sviluppato, riesaminato e approvato da tutti gli stakeholder.
- Le funzionalità ad alta, media e bassa priorità da testare sono ben documentate.
- Piani di test e casi di test per tutte le funzionalità vengono sviluppati, riesaminati e approvati da tutti gli stakeholder.
- Tutti i piani di test e i casi di test vengono caricati in un repository centrale per monitorare l'esecuzione dei test.
- Tutte le risorse umane, le attrezzature infrastrutturali e gli strumenti sono disponibili per la configurazione del banco di prova e per l'esecuzione dei piani di prova.
Cosa testare in anticipo?
Figura 4 - Approccio globale allo scopo del test precoce
Approccio
- Prendiamo un file Esempio della versione XYZ con 3 funzionalità ad alta priorità A, B e C, 10 funzionalità a priorità media e 15 funzionalità a priorità bassa (o bassa).
- Le caratteristiche ad alta priorità sono quelle che generano entrate elevate e / o conformità agli standard e / o il recupero della concorrenza e / o l'ottimizzazione della concorrenza e tutte queste cose.
- Le funzionalità ad alta priorità di solito comportano una codifica complessa, un gran numero di nuove righe di codice aggiunte.
- Un numero elevato di nuove righe di codice può anche significare un'alta probabilità di aree di intersezione.
- Di solito, le funzionalità ad alta priorità e / o le funzionalità che hanno un numero elevato di nuove righe di codice sono i migliori candidati per il test anticipato.
- Non è necessario che sia sviluppato un piano di test separato per l'attività di test iniziale.
- I responsabili del controllo qualità o i tester insieme ai responsabili dello sviluppo o alle PMI (esperti in materia) devono discutere e concordare la copertura del codice / test per questa attività di test.
- Identifica i casi di test ad alta priorità appropriati e anche alcuni casi di test a priorità media se ritieni che sia necessario da ciascuna delle funzionalità Piani di test A, B e C.
- Una volta identificate le caratteristiche appropriate e il sottoinsieme di casi di test, assicurarsi che vengano tracciati utilizzando lo strumento di tracciamento dei test adottato dall'organizzazione.
Suggerimento: la collaborazione è fondamentale! Durante l'attività di Early Test, sia il team di sviluppo che quello di QA devono collaborare strettamente per assicurarsi che gli obiettivi prefissati siano raggiunti con risultati di qualità.
Avvia ed esci al primo test
È importante che sia il team di sviluppo che il team di controllo qualità si confrontino e accettino tutti gli approcci dell'intera attività di test iniziale, comprese le date di inizio e di uscita, in modo che tutti siano sulla stessa pagina.
Criteri di ingresso per l'inizio
- Percentuale di completamento del test di integrazione
- Numero di bug aperti
- Nessun blocco per avviare Early Test
Fase dell'attività
- Monitoraggio dei progressi
- Numero di cadute di codice durante questo test
- Approccio alla correzione dei bug
- Approccio alla verifica dei bug
- Registra i risultati del test
Criteri di uscita
- Passaggio delle attività alla fase successiva del test (di solito test delle funzionalità).
- Risoluzione di bug irrisolti trovati durante il test iniziale.
- Risoluzione degli eventuali bloccanti per la fase successiva del test.
- Pubblica i risultati dei primi test.
Pro e contro
Ogni nuova iniziativa o attività ha i suoi meriti e demeriti.
Esploriamo i pro ei contro di questo approccio di test.
Professionisti
- Ideale per il modello Waterfall.
- Aiuta a scoprire bug critici nelle prime fasi del ciclo di test.
- Identificazione di bug critici all'inizio di un ciclo di rilascio.
- Aiuta il team di sviluppo a stabilizzare tempestivamente il codice.
- Aiuta a ridurre al minimo il collaterale dovuto a correzioni di bug.
- Aiuta il team di sviluppo a identificare in dettaglio le vulnerabilità nelle aree di intersezione nelle prime fasi del ciclo di rilascio.
- Il team di gestione può prendere decisioni aziendali appropriate con la dovuta diligenza su bug critici irrisolti in quel particolare rilascio o in un progetto.
- Aiuta ad estendersi copertura di prova e pedalare in modo efficace.
- Aiuta a distribuire le risorse di sviluppo e test in modo efficiente ed efficace.
Contro
- Non ideale per il modello Agile / Scrum. Tuttavia, tali modelli possono adottare l'Early Test in Sprint con opportune modifiche.
- C'è una possibilità di riduzione Test d'integrazione dal team di sviluppo.
Conclusione
I clienti o gli utenti finali acquistano o adottano un prodotto o un sistema o una soluzione di manutenzione. La convalida di un software in esecuzione su tale sistema o prodotti per la sua funzionalità è il requisito principale
Componenti chiave di Principles of Testing come Why to Test? Cos'è il test? Cosa testare? Come testare? sono per lo più ben definiti e compresi. Tuttavia, ci sono alcune domande persistenti che continuano a sorgere nella mente di lettori, tester, lead e manager su concetti come Early Testing.
L'adozione del test precoce come attività integrante del programma di test complessivo per un dato progetto software o una versione è un enorme vantaggio per l'organizzazione in quanto fornisce un prodotto o un sistema solido e qualificato.
Hai mai realizzato l'importanza di Early Testing nella tua carriera? Sentiti libero di condividere i tuoi pensieri ed esperienze nella sezione commenti qui sotto !!
Lettura consigliata
- Migliori strumenti di test del software 2021 [Strumenti di automazione del test QA]
- Guida ai test di portabilità con esempi pratici
- Lavoro assistente QA test software
- Test pratico del software - Nuovo eBook GRATUITO [Download]
- Alpha test e beta test (una guida completa)
- Corso di test del software: quale istituto di test del software dovrei iscrivermi?
- Scegliere il test del software come carriera
- Lavoro freelance di scrittore di contenuti tecnici di test del software