what is stlc v model
Cos'è STLC V-Model?
Uno dei principali handicap di modello STLC a cascata era che i difetti sono stati rilevati in una fase molto successiva del processo di sviluppo poiché il test è stato eseguito alla fine del ciclo di sviluppo. È diventato molto impegnativo e costoso riparare i difetti poiché è stato trovato in una fase molto successiva. Per ovviare a questo problema, è stato introdotto un nuovo modello di sviluppo denominato 'Modello V'
Il modello V è oggi uno dei processi di sviluppo software più utilizzati. L'introduzione del modello V ha effettivamente dimostrato l'implementazione del testing fin dalla fase dei requisiti. Il modello V è anche chiamato modello di verifica e convalida.
Cosa imparerai:
Verifica e validazione
Per comprendere il modello V, vediamo prima cosa sono la verifica e la convalida nel software.
Verifica : La verifica è una tecnica di analisi statica. In questa tecnica, il test viene eseguito senza eseguire il codice. Gli esempi includono: recensioni, ispezione e procedura dettagliata.
Validazione : La convalida è una tecnica di analisi dinamica in cui il test viene eseguito eseguendo il codice. Gli esempi includono tecniche di test funzionali e non funzionali.
Modello V.
Nel modello V, le attività di sviluppo e QA vengono svolte simultaneamente. Non esiste una fase discreta chiamata Testing, piuttosto il test inizia proprio dalla fase dei requisiti. Le attività di verifica e convalida vanno di pari passo.
Per comprendere il modello V, diamo un'occhiata alla figura seguente:
file swf non riprodotti nel browser
In un tipico processo di sviluppo, il lato sinistro mostra le attività di sviluppo e il lato destro mostra le attività di test. Non sbaglierò se dico che nella fase di sviluppo vengono eseguite sia la verifica che la validazione insieme alle attività di sviluppo vero e proprio.
Ora capiamo la figura:
Lato sinistro
Come detto in precedenza, le attività sul lato sinistro sono attività di sviluppo. Normalmente ci sentiamo, quali test possiamo fare in fase di sviluppo, ma questa è la bellezza di questo modello che dimostra che il test può essere fatto anche in tutte le fasi delle attività di sviluppo.
Analisi dei requisiti : In questa fase vengono raccolti, analizzati e studiati i requisiti. Qui il modo in cui il sistema è implementato non è importante, ma è importante ciò che il sistema dovrebbe fare. Le sessioni di brain storming / walkthrough, le interviste vengono fatte per avere gli obiettivi chiari.
- Attività di verifica : Revisione dei requisiti.
- Attività di convalida : Creazione di UAT ( Test di accettazione dell'utente ) casi test
- Manufatti prodotti : Documento di comprensione dei requisiti, casi di test UAT.
Requisiti di sistema / Design di alto livello : In questa fase viene costruito il design di alto livello del software. Il team studia e indaga su come i requisiti potrebbero essere implementati. Viene inoltre studiata la fattibilità tecnica dei requisiti. Il team presenta anche i moduli da creare / dipendenze, esigenze hardware / software
- Attività di verifica : Revisioni di design
- Attività di convalida : Creazione di Piano di test del sistema e casi, Creazione di metriche di tracciabilità
- Manufatti prodotti : Casi di test di sistema, rapporti di fattibilità, piano di test di sistema, requisiti hardware-software e moduli da creare, ecc.
Progettazione architettonica: In questa fase, sulla base del design di alto livello , viene creata l'architettura software. I moduli, le loro relazioni e le dipendenze, i diagrammi architetturali, le tabelle del database, i dettagli tecnologici sono tutti finalizzati in questa fase.
- Attività di verifica : Revisioni di design
- Attività di convalida : Piano di test di integrazione e casi di test.
- Manufatti prodotti : Documenti di progettazione, piano di test di integrazione e casi di test, progetti di tabelle di database ecc.
Design del modulo / Design di basso livello: In questa fase, ogni singolo modulo dei componenti software viene progettato individualmente. Metodi, classi, interfacce, tipi di dati ecc. Sono tutti finalizzati in questa fase.
- Attività di verifica : Revisioni di design
- Attività di convalida : Creazione e revisione di casi di unit test.
- Manufatti prodotti : Casi di unit test,
Implementazione / Codice : In questa fase viene eseguita la codifica vera e propria.
- Attività di verifica : Revisione del codice, revisione dei casi di test
- Attività di convalida : Creazione di casi di test funzionali.
- Manufatti prodotti : casi di test, revisione della lista di controllo.
Lato destro
Il lato destro mostra le attività di test o la fase di convalida. Inizieremo dal basso.
Test unitario: In questa fase vengono eseguiti tutti gli unit test case, creati nella fase di progettazione di Basso livello.
* Il test unitario è una tecnica di test white box, in cui viene scritta una parte di codice che richiama un metodo (o qualsiasi altra parte di codice) per verificare se lo snippet di codice fornisce l'output previsto o meno. Questo test è fondamentalmente eseguito dal team di sviluppo. In caso di qualsiasi anomalia, i difetti vengono registrati e tracciati.
Manufatti prodotti : Risultati dell'esecuzione degli unit test
Test d'integrazione : In questa fase vengono eseguiti i casi di test di integrazione che sono stati creati nella fase di progettazione architettonica. In caso di anomalie, i difetti vengono registrati e tracciati.
* Test di integrazione: il test di integrazione è una tecnica in cui i moduli testati dell'unità sono integrati e testati se i moduli integrati stanno restituendo i risultati attesi. In parole più semplici, convalida se i componenti dell'applicazione funzionano insieme come previsto.
Manufatti prodotti : Risultati del test di integrazione.
Test di sistemi : In questa fase vengono eseguiti tutti i casi di test di sistema, i casi di test funzionali e i casi di test non funzionali. In altre parole, qui si svolge il test effettivo e completo dell'applicazione. I difetti vengono registrati e tracciati per la sua chiusura. Anche la rendicontazione dei progressi è una parte importante di questa fase. Le metriche di tracciabilità vengono aggiornate per verificare la copertura e il rischio mitigato.
Manufatti prodotti : Risultati dei test, registri dei test, report sui difetti, report di riepilogo dei test e matrici di tracciabilità aggiornate.
Test di accettazione dell'utente : Il test di accettazione è fondamentalmente correlato al test dei requisiti aziendali. Qui il test viene eseguito per convalidare che i requisiti aziendali siano soddisfatti nell'ambiente utente. Test di compatibilità e talvolta test non funzionali ( Carico, stress e volume ) in questa fase vengono eseguiti anche i test.
Manufatti prodotti : Risultati UAT, matrici di copertura aziendale aggiornate.
Quando utilizzare il modello V?
Il modello V è applicabile quando:
- Il requisito è ben definito e non ambiguo
- I criteri di accettazione sono ben definiti.
- Il progetto è di dimensioni medio-corte.
- La tecnologia e gli strumenti utilizzati non sono dinamici.
Pro e contro dell'utilizzo del modello V.
PROFESSIONISTI | CONS |
---|---|
- Lo sviluppo e il progresso sono molto organizzati e sistematici | -Non adatto a progetti più grandi e complessi |
- Funziona bene per progetti di piccole e medie dimensioni. | - Non adatto se i requisiti non sono coerenti. |
- Il test inizia dall'inizio, quindi le ambiguità vengono identificate dall'inizio. | - Nessun software funzionante viene prodotto nella fase intermedia. |
- Facile da gestire in quanto ogni fase ha obiettivi e traguardi ben definiti. | - Nessuna disposizione per fare analisi dei rischi quindi incertezza e rischi sono presenti. |
Lettura consigliata
- Esercitazione sul test SOA: metodologia di test per un modello di architettura SOA
- Migliori strumenti di test del software 2021 [Strumenti di automazione del test QA]
- Test statici e test dinamici - Differenza tra queste due importanti tecniche di test
- Modello a spirale: che cos'è il modello a spirale SDLC?
- Test pratico del software - Nuovo eBook GRATUITO [Download]
- Alpha test e beta test (una guida completa)
- Download dell'eBook Testing Primer
- Onsite - Modello offshore di progetti di test del software (e come farlo funzionare per te)