Che cos'è la stima del test del software?
La stima del test è un'attività di gestione che approssima il tempo necessario per completare un'attività . La stima dello sforzo per il test è uno dei compiti principali e importanti nella gestione del test.
Perché testare la stima?
Due domande che puoi aspettarti dai tuoi clienti quando si discute di potenziali incarichi di test sono
Per piccoli progetti, è relativamente facile rispondere a queste domande. Ma per il grande progetto come il sito web di Testing Guru99 Bank, devi pensare bene per rispondere a queste domande.
In questo tutorial imparerai-
- Che cos'è la stima del test del software?
- Perché testare la stima?
- Cosa stimare?
- Come stimare?
- Passaggio 1) Dividi l'intera attività del progetto in attività secondarie
- Passaggio 2) Assegna ogni attività a un membro del team
- Passaggio 3) Stima dello sforzo per le attività
- Metodo 1) Metodo del punto funzione
- Metodo 2) Stima in tre punti
- Passaggio 4) Convalidare la stima
- Testare le migliori pratiche di stima
- Altre tecniche
Cosa stimare?
- Risorse: le risorse sono necessarie per eseguire qualsiasi attività del progetto. Possono essere persone, attrezzature, strutture, finanziamenti o qualsiasi altra cosa che possa essere definita necessaria per il completamento di un'attività di progetto.
- Tempi: il tempo è la risorsa più preziosa in un progetto. Ogni progetto ha una scadenza per la consegna.
- Competenze umane: per abilità umane si intende la conoscenza e l' esperienza dei membri del team. Influiscono sulla tua stima. Ad esempio, un team, i cui membri hanno scarse capacità di test, impiegherà più tempo per completare il progetto rispetto a quello che ha elevate capacità di test.
- Costo: il costo è il budget del progetto . In generale, significa quanti soldi ci vogliono per finire il progetto.
Come stimare?
Elenco delle tecniche di stima del test del software
- Struttura di scomposizione del lavoro
- Tecnica di stima del test del software in 3 punti
- Tecnica Delphi a banda larga
- Punto di funzione / Analisi del punto di prova
- Usa - Metodo punto caso
- Distribuzione percentuale
- Metodo ad hoc
Di seguito è riportato il processo in 4 fasi per arrivare a una stima
Imparerai come combinare queste tecniche per trovare la stima per il caso di studio Guru99 Bank.
Step1) Dividi l'intera attività del progetto in sottoattività
Il compito è un lavoro che è stato dato a qualcuno. Per fare ciò, puoi utilizzare la tecnica Work Breakdown Structure .
In questa tecnica, un progetto complesso è diviso in moduli. I moduli sono suddivisi in sottomoduli. Ogni sottomodulo è ulteriormente suddiviso in funzionalità. Significa dividere l'intera attività del progetto nelle attività più piccole .
Usa la struttura Work Break Down per suddividere il progetto Guru99 Bank in 5 attività più piccole:
Dopodiché, puoi suddividere ogni attività nella sottoattività. Lo scopo di questa attività è creare compito dettagliato come possibile .
Compito | Attività secondaria |
---|---|
Analizza le specifiche dei requisiti software | Esamina le specifiche dei requisiti soft |
Intervista con lo sviluppatore e altre parti interessate per saperne di più sul sito web | |
Crea la specifica del test | Progettare scenari di test |
Crea casi di test | |
Rivedi e rivedi i casi di test | |
Esegui i casi di test | Crea l'ambiente di test |
Esegui i casi di test | |
Rivedi i risultati dell'esecuzione del test | |
Segnala i difetti | |
Crea i rapporti sui difetti | |
Segnala i difetti |
Passaggio 2) Assegna ogni attività a un membro del team
In questo passaggio, ogni attività viene assegnata al membro appropriato nel team di progetto. È possibile assegnare l'attività come segue
Compito | Membri |
---|---|
Analizza le specifiche dei requisiti software | Tutti i membri |
Crea la specifica del test | Tester / Analista del test |
Crea l'ambiente di test | Amministratore del test |
Esegui i casi di test | Tester, amministratore del test |
Segnala i difetti | Tester |
Passaggio 3) Stima dello sforzo per le attività
Ci sono 2 tecniche che puoi applicare per stimare lo sforzo per le attività
- Metodo del punto funzionale
- Stima in tre punti
Metodo 1) Metodo del punto funzione
In questo metodo, il responsabile del test stima le dimensioni, la durata e il costo delle attività
Passaggio A) Stima delle dimensioni per l'attività
Nel passaggio 1, hai già suddiviso l'intera attività del progetto in piccole attività utilizzando il metodo WBS. Ora stimate la dimensione di queste attività. Facciamo pratica con un'attività particolare " Creare la specifica del test "
La dimensione di questa attività dipende dalla dimensione funzionale del sistema sottoposto a test. La dimensione funzionale riflette la quantità di funzionalità rilevante per l'utente. Maggiore è il numero di funzionalità, più complesso è il sistema.
Prima di iniziare lo sforzo effettivo delle attività di stima, i punti funzionali sono divisi in tre gruppi come Complesso , Medio Semplice come segue:
Sulla base del complesso delle funzioni software, il Test Manager deve dare un peso sufficiente a ciascun punto funzionale. Per esempio
Gruppo | Weightage |
---|---|
Complesso | 5 |
medio | 3 |
Semplice | 1 |
Facciamo un semplice esercizio di esempio per essere più chiari:
Dai un'occhiata alle specifiche del software del sito web Guru99 Bank qui, l'ingegnere del software ha già descritto in dettaglio i moduli software, puoi determinare la complessità delle funzionalità del sito web dando il peso per ogni modulo?
Più complesso è il punto di funzione, maggiore è lo sforzo per testarlo. Il sito web è diviso in 12 punti funzione , puoi determinare la complessità di ogni punto funzione come segue:
No. | Nome modulo | Ruoli applicabili | Descrizione | Weightage |
---|---|---|---|---|
1. | Richiesta di equilibrio | Cliente manager | Cliente: un cliente può avere più conti bancari. Può visualizzare il saldo dei suoi account solo Manager: un manager può visualizzare il saldo di tutti i clienti che sono sotto la sua supervisione | 3 |
2. | Trasferimento di fondi | Cliente manager | Cliente: un cliente può trasferire fondi dal proprio account a qualsiasi account di destinazione. Gestore: un gestore può trasferire fondi da qualsiasi conto bancario di origine all'account di destinazione | 5 |
3. | Mini Statement | Cliente manager | Un mini rendiconto mostrerà le ultime 5 transazioni di un conto Cliente: un cliente può vedere il mini estratto solo del suo "proprio" account Manager: un manager può vedere il mini estratto di qualsiasi conto | 3 |
4. | Dichiarazione personalizzata | Cliente manager | Un estratto conto personalizzato consente di filtrare e visualizzare le transazioni in un conto in base alla data, al valore della transazione Cliente: un cliente può visualizzare l'estratto conto personalizzato solo del suo "proprio" account Manager: un manager può visualizzare l'istruzione personalizzata di qualsiasi account | 5 |
5. | Cambiare la password | Cliente manager | Cliente: un cliente può modificare la password solo del suo account. Manager: un manager può cambiare la password solo del suo account. Non può cambiare le password dei suoi clienti | 1 |
6. | Nuovo cliente | Manager | Manager: un manager può aggiungere un nuovo cliente. Manager: un manager può modificare dettagli come indirizzo, e-mail, telefono di un cliente. | 3 |
7. | Nuovo account | Manager | Attualmente il sistema fornisce 2 tipi di account
| 5 |
8. | Modifica account | Manager | Gestore: un gestore può aggiungere una modifica ai dettagli dell'account per un account esistente | 1 |
9. | Eliminare l'account | Manager | Manager: un manager può aggiungere l'eliminazione di un account per un cliente. | 1 |
10. | Elimina cliente | Manager | Un cliente può essere eliminato solo se non dispone di account attivi o di salvataggio. Gestore: Un gestore può eliminare un cliente. | 1 |
11. | Depositare | Manager | Manager: un manager può depositare denaro su qualsiasi conto. Di solito viene fatto quando i contanti vengono depositati presso una filiale bancaria. | 3 |
12. | Ritiro | Manager | Manager: un manager può prelevare denaro da qualsiasi account. Di solito viene eseguito quando i contanti vengono ritirati presso una filiale bancaria. | 3 |
FASE B) Stimare la durata dell'attività
Dopo aver classificato la complessità dei punti funzione, è necessario stimare la durata per testarli. Durata significa la quantità di tempo necessario per completare l'operazione.
- Impegno totale : lo sforzo di testare completamente tutte le funzioni del sito web
- Punti funzione totali : moduli totali del sito web
- Stima definita per punti funzione : lo sforzo medio per completare un punto funzione. Questo valore dipende dalla produttività del membro che assumerà in carico questo compito.
Supponiamo che il tuo team di progetto abbia stimato definito per Function Point di 5 ore / punti . Puoi stimare lo sforzo totale per testare tutte le funzionalità del sito web Guru99 Bank come segue:
Weightage | # di punti funzione | Totale | |
---|---|---|---|
Complesso | 5 | 3 | 15 |
medio | 3 | 5 | 15 |
Semplice | 1 | 4 | 4 |
Funzione Totale punti | 34 | ||
Stima definita per punto | 5 | ||
Impegno totale stimato (ore persona) | 170 |
Quindi lo sforzo totale per completare l'attività "Creare le specifiche di prova" di Guru99 Bank è di circa 170 ore-uomo
Una volta compreso lo sforzo richiesto, è possibile assegnare le risorse per determinare quanto tempo richiederà l'attività (durata), quindi è possibile stimare i costi di manodopera e non.
L'esempio sopra mostra anche l'importanza del membro nella tua squadra. Se hai membri talentuosi ed esperti , puoi completare l'attività assegnata in poco tempo e il tuo progetto finirà alla scadenza o prima.
FASE C) Stimare il costo per le attività
Questo passaggio ti aiuta a rispondere all'ultima domanda del cliente " Quanto costa?"
Supponiamo che in media lo stipendio della tua squadra sia di $ 5 l'ora. Il tempo richiesto per l'attività "Crea specifiche di prova" è di 170 ore. Di conseguenza, il costo per l'attività è 5 * 170 = $ 850. Ora puoi calcolare il budget per altre attività in WBS e arrivare al budget complessivo per il progetto.
In qualità di project manager, devi decidere come ottenere il massimo ritorno dall'investimento della tua azienda. Più accurata è la stima del costo del progetto, migliore sarà la tua capacità di gestire il budget del progetto.
METODO 2) Stima in tre punti
La stima in tre punti è una delle tecniche che potrebbero essere utilizzate per stimare un'attività. La semplicità della stima a tre punti lo rende uno strumento molto utile per un Project Manager che vuole stimare.
Nella stima in tre punti, inizialmente vengono prodotti tre valori per ogni attività in base all'esperienza precedente o alle ipotesi migliori come segue
Durante la stima di un'attività, il Responsabile del test deve fornire tre valori, come specificato sopra. I tre valori identificati stimano cosa succede in uno stato ottimale , qual è il più probabile o quello che pensiamo sarebbe lo scenario peggiore .
Vediamo come utilizzare i tre valori precedenti nell'esempio seguente
Per l'attività " Creare la specifica del test ", potete stimare lo sforzo del test? Ricorda che devi coprire tutti i moduli del sito web di Guru99 Bank come fatto nel metodo Function Point
Puoi stimare come segue
- Il caso migliore per completare questa attività è di 120 ore-uomo (circa 15 giorni). In questo caso, hai una squadra di talento, possono completare l'attività nel minor tempo possibile.
- Il caso più probabile per completare questa attività è di 170 ore-uomo (circa 21 giorni). Questo è un caso normale, hai abbastanza risorse e capacità per completare l'attività
- Il caso peggiore per completare questa attività è di 200 ore-uomo (circa 25 giorni). Devi svolgere molto più lavoro perché i membri del tuo team non hanno esperienza.
Ora, assegna il valore a ciascun parametro come di seguito
Lo sforzo per completare l'attività può essere calcolato utilizzando la formula di distribuzione a doppio triangolare come segue:
Nella formula sopra, il parametro E è noto come media ponderata . È la stima dell'attività "Creare la specifica del test".
Ma il tuo capo potrebbe chiedertelo
Nella stima di cui sopra, si determina solo un valore possibile e non certo , dobbiamo conoscere la probabilità che la stima sia corretta. Puoi usare l'altra formula:
Nella formula sopra, la deviazione standard media SD, questo valore potrebbe fornire le informazioni sulla probabilità che la stima sia corretta.
Ora puoi concludere la stima per l'attività "Creare la specifica del test"
Per completare l'attività "Creare la specifica del test" del sito Web di Guru99 Bank, sono necessarie 166,6 ± 13,33 ora-uomo (da 153,33 a 179,99 ora-uomo)
Passaggio 4) Convalidare la stima
Una volta che si crea una stima aggregata per tutte le attività menzionate nella WBS, è necessario inoltrare al consiglio di amministrazione , che sarà rivedere e approvare esso.
Il membro del consiglio di amministrazione potrebbe comprendere il CEO, il project manager e altri stakeholder.
Il consiglio di amministrazione esaminerà e discuterà con te il tuo piano di stima. Puoi spiegare loro la tua stima in modo logico e ragionevole in modo che possano approvare il tuo piano di stima.
Testare le migliori pratiche di stima
Questo argomento introduce suggerimenti generali su come stimare l'accuratezza del test.
- Aggiungi un po 'di tempo di buffer: molte cose imprevedibili possono accadere al tuo progetto, come un membro del team di talento che lascia il suo lavoro improvvisamente, il completamento del test richiede più tempo del previsto ... ecc. Ecco perché devi includere un po' di buffer nella tua stima. Avere un buffer nella stima consente di far fronte a eventuali ritardi che possono verificarsi.
- Pianificazione delle risorse dell'account nella stima: cosa dovresti fare se alcuni membri del tuo team prendono lunghe assenze? Può ritardare il progetto. La pianificazione delle risorse nella stima gioca un ruolo chiave. La disponibilità di risorse aiuterà a garantire che le stime siano realistiche. Qui devi considerare le foglie per il tuo membro del team, generalmente foglie lunghe.
- Usa l'esperienza passata come riferimento: le esperienze dei progetti passati svolgono un ruolo fondamentale durante la preparazione delle stime dei tempi. Poiché alcuni progetti potrebbero presentare una qualche somiglianza, puoi riutilizzare la stima passata. Ad esempio, se utilizzi un progetto come testare un sito web, puoi imparare da quell'esperienza, cercare di evitare tutte le difficoltà o problemi che sono stati affrontati nei progetti passati.
- Attenersi alla stima: la stima è solo una stima perché potrebbe andare storta . Nelle prime fasi del progetto, è necessario ricontrollare frequentemente le stime del test e apportare modifiche se necessario. Non dovremmo estendere la stima dopo averla risolta, a meno che non ci siano importanti cambiamenti nei requisiti, o non sia necessario negoziare con il cliente in merito alla nuova stima
Modello di stima del test del software
Scarica il Software Test Estimation Excel (.xlsx)
Altre tecniche
La tecnica Delphi a banda larga, il metodo Use - Case Point, la distribuzione percentuale, il metodo ad-hoc sono altre tecniche di stima nell'ingegneria del software.
Fare clic qui se il video non è accessibile
Trascrizione del video- Facciamo un esercizio: per l'applicazione di prenotazione del volo, preparare una struttura di suddivisione del lavoro del file
- varie attività di test come: verifica della funzionalità di accesso, verifica della funzionalità del nuovo ordine, verifica della funzionalità del fax e altre funzionalità simili e stima dello sforzo richiesto per testare queste funzionalità
- Ad esempio, la funzionalità di accesso può essere testata in 2 ore. Allo stesso modo, prepara un elenco di tutte le attività e dello sforzo corrispondente. Metti in pausa il tutorial di formazione e completa l'esercizio. Spero tu abbia fatto un'ipotesi plausibile dello sforzo richiesto
- Questa è la strategia bottom-up per la stima del test. La tecnica è chiamata bottom-up poiché in base alle attività che si trova al livello più basso della gerarchia di suddivisione del lavoro si stima la durata, le dipendenze e le risorse.
- Nella strategia bottom-up, le stime non vengono effettuate da una sola persona ma da tutti gli stakeholder, singoli contributori, esperti e membri del personale con esperienza collettivamente. L'idea è di attingere alla saggezza collaborativa dei membri del team per arrivare a stime di test accurate
- Ora che hai una notevole esperienza sul sistema di prenotazione dei voli. Utilizzare questa esperienza per stimare lo sforzo richiesto per il test funzionale completo del sito Web. - http://newtours.demoaut.com/
- Il funzionamento di questo sito è identico all'applicazione di prenotazione del volo, solo che è basata sul web. Metti in pausa il tutorial e fai l'esercizio ora
- Spero che in base alla tua esperienza tu abbia fatto una buona stima dello sforzo richiesto per testare il sito web
- Questo è l'approccio top-down alla stima che si basa sull'esperienza.
- Un'altra tecnica consiste nel classificare i progetti in base alla loro dimensione e complessità e quindi vedere quanto tempo ha impiegato in passato un progetto di una particolare dimensione e complessità.
- Un altro approccio consiste nel determinare lo sforzo medio per caso di test in passato per progetti simili e quindi utilizzare i casi di test stimati del progetto corrente e arrivare allo sforzo totale
- I modelli di stima più sofisticati implicano modelli matematici complessi. In pratica, la maggior parte dei progetti utilizza un approccio dall'alto verso il basso per la stima.
- Le stime dei test possono essere influenzate da molti fattori come pressioni temporali, fattori relativi alle persone, distribuzione geografica del team di test e così via