software test estimation techniques
Per il successo di qualsiasi test di progetto, la stima e la corretta esecuzione è altrettanto importante del ciclo di sviluppo. Attenersi alla stima è molto importante per costruire una buona reputazione con il cliente.
L'esperienza gioca un ruolo importante nella stima degli 'sforzi di test del software'. Lavorare su vari progetti aiuta a preparare una stima accurata del ciclo di test. Ovviamente non si può dedicare ciecamente un certo numero di giorni a qualsiasi attività di test. La stima del test dovrebbe essere realistica e accurata.
In questo articolo, cerco di inserire alcuni punti in modo molto semplice, che sono utili per preparare una stima accurata del test.
Cosa imparerai:
- Breve descrizione del processo di stima del test
- Esempi di stima del test
- 9 Suggerimenti generali su come stimare accuratamente il tempo di prova
- Conclusione
- Lettura consigliata
Breve descrizione del processo di stima del test
'La stima è il processo di ricerca di una stima, o approssimazione, che è un valore utilizzabile per uno scopo anche se i dati di input possono essere incompleti, incerti o instabili.' [Riferimento: Wikipedia ]
Tutti noi incontriamo compiti, doveri e scadenze diversi nel corso della nostra vita come professionisti, ora ci sono due approcci per trovare una soluzione a un problema.
Un primo approccio è un approccio reattivo in base al quale cerchiamo di trovare una soluzione al problema in questione solo dopo che è arrivato.
Nel secondo approccio che può essere chiamato un approccio proattivo in base al quale prima ci prepariamo ben prima che arrivi il problema con le nostre esperienze passate e poi con la nostra esperienza passata, cerchiamo di trovare una soluzione alla sfida quando arriva.
La stima può quindi essere considerata come una tecnica che viene applicata quando adottiamo un approccio proattivo al problema.
Pertanto, la stima può essere utilizzata per prevedere quanto impegno in termini di tempo e costo sarebbe necessario per completare un'attività definita.
Una volta che il team di test è in grado di fare una stima del problema in questione, è più facile per lui trovare una soluzione ottimale per il problema in questione.
La pratica della stima può essere definita quindi più formalmente come un calcolo approssimativo del probabile costo di un pezzo di lavoro.
Inoltre, leggi=> 7 fattori che influenzano la stima del test del progetto di automazione del selenio
I prerequisiti di base del processo di stima del test
# 1) Approfondimenti raccolti lavorando con l'esperienza passata : È sempre una buona pratica dedicare un po 'di tempo, ricordando progetti passati che ponevano sfide simili all'attuale impegno.
# 2) I documenti o gli artefatti disponibili: Il sono disponibili strumenti di repository di gestione dei test utile in questi tipi di scenari in quanto memorizzano i documenti di requisiti e chiarimenti. Questi documenti possono essere riferiti dal team di test per definire chiaramente l'ambito del progetto.
# 3) Presupposti sul tipo di lavoro: L'esperienza lavorativa passata aiuta a formulare ipotesi sul progetto. È qui che conta di più assumere professionisti esperti.
I responsabili dei test possono raccogliere il cervello di queste persone per fornire i risultati desiderati.
# 4) Calcolo dei potenziali rischi e minacce: Il team di test deve anche visualizzare i potenziali rischi, minacce e insidie che potrebbero trovarsi per il team in futuro.
# 5) Determinare se i documenti sono stati baseline: Il team di test deve anche determinare se i requisiti sono stati definiti o meno. Se i documenti non sono di base, è importante determinare la frequenza delle modifiche.
# 6) Tutte le responsabilità e le dipendenze dovrebbero essere chiare: L'organizzazione dovrebbe definire chiaramente i ruoli e le responsabilità di tutte le persone che eseguiranno il processo di stima.
# 7) Documentazione e tracciabilità dei record di stima: Tutte le informazioni rilevanti per il processo di stima dovrebbero essere documentate.
# 8) Attività che devono essere eseguite durante il processo di stima del test
- Organizza il team che eseguirà le stime
- Scomporre il progetto in fasi di progetto e successive attività costitutive
- Calcola la stima sulla base di progetti precedenti e dell'esperienza professionale
- Dare priorità alle possibili minacce e trovare gli approcci per mitigare tali rischi
- Rivedere e documentare la parte rilevante del lavoro
- Invia il lavoro alle parti interessate pertinenti
Tecniche di stima dei test più importanti
Alcune delle tecniche più importanti per la stima del test sono:
- Stima del punto di prova
- Stima basata sulla fase di lavoro
- Usa la stima del caso
Come e dove utilizziamo queste tecniche:
# 1) Stima del punto di prova è una tecnica di stima semplice e facilmente comprensibile che è ampiamente utilizzata in tutto lo spettro di test del software. Fasi iterative e semplicità sono le caratteristiche più importanti di questa particolare tecnica.
qual è il miglior account di posta elettronica gratuito
# 2) Stima basata sulla fase di lavoro è la tecnica di stima che viene utilizzata in base alla quale viene effettuata una stima ipotetica su una fase particolare (normalmente la più breve e la più semplice delle fasi) e quindi il team di test aggiunge gradualmente altre fasi alla stima iniziale e infine fornisce una stima appropriata.
# 3) Tecnica di stima del punto di caso d'uso è la stima sui casi d'uso in cui i pesi degli attori non aggiustati e i pesi dei casi d'uso non aggiustati vengono utilizzati per determinare la stima del test del software.
Dettagli della tecnica di stima del punto di prova
La tecnica di stima del punto di prova viene eseguita seguendo i passaggi elencati: -
(I seguenti pesi che possono variare da progetto a progetto potrebbero essere considerati in questo paradigma - Alcuni di questi pesi sono il peso per il linguaggio di programmazione basato sulla complessità del codice, il peso dell'applicazione basato sul tipo di applicazione e i pesi di prova che sono assegnato in base alle diverse fasi del test del software.)
I punti di prova non elaborati vengono moltiplicati per CWF per ottenere la dimensione del test in Dimensione del punto di prova.
Il fattore di produttività indica la quantità di tempo che un tecnico di test ha per completare il test di un punto di test
Lo sforzo di test in ore di lavoro viene calcolato moltiplicando la dimensione del punto di prova per il fattore di produttività.
Per il calcolo della tecnica di stima del punto di test, consideriamo le seguenti variabili.
- Testare la complessità dei requisiti
- Interfaccia con altri requisiti
- Numero totale di punti di verifica
- Dati di test di base
Dobbiamo quindi considerare i vettori di peso per ciascuna delle variabili di dati e organizzarli nel modo seguente.
Fattore di aggiustamento = Media di (prodotto del peso della complessità e del peso del fattore) / 30
Punto di test di aggiustamento per il progetto dello scenario di test = Punto di test totale X (1 + Fattore di aggiustamento per il progetto dello scenario di test)
creare un makefile c ++
Punto di test aggiustato per l'esecuzione dello scenario di test = Punto di test totale X (1 + Fattore di aggiustamento per l'esecuzione dello scenario di test)
Punto di test totale (normalizzato) X (1 + Fattore di regolazione per la progettazione / esecuzione del caso di test) = Punto di prova corretto per la progettazione / esecuzione dello scenario di test
Impegno totale in ore persona (PH) = numero di punti di test normalizzati / produttività (in punti di test normalizzati per ore di persona)
Esempi di stima del test
Proviamo ad applicare la formulazione di cui sopra in un altro uso pratico.
Supponiamo di avere un requisito di test in base al quale abbiamo 5 scenari di test da testare.
Ora dire che lo scenario di test 1 ha ottenuto 5 risultati attesi di test, lo scenario di test 2 6 risultati attesi di test, solo 2 risultati attesi di test, scenario di test 4 9 risultati attesi di test, scenario di test 5 anche 9 risultati attesi di test, rispettivamente.
Quindi classifichiamo gli scenari di test in tre classi, ovvero complesso, semplice e moderato in base al numero totale di risultati attesi presenti in queste tre classi.
Le classi complesse avranno più di 7 risultati attesi mentre quelle semplici consisteranno in meno di 5 risultati attesi e gli scenari moderati consisteranno tra 4 e 7 risultati attesi.
Pertanto classifichiamo lo scenario di test 1 e lo scenario di test 2 come scenari moderati, lo scenario 5 e lo scenario 6 come scenari complessi e lo scenario di test 3 come semplice.
Ora applicheremo i punti di prova a tutti questi scenari. Applichiamo 5 punti di prova per le classi complesse, 3 per quelle moderate e 2 per gli scenari semplici.
Moltiplichiamo i punti di test presunti per il numero totale di risultati attesi in tutti questi scenari di test. Quindi finiamo con le seguenti approssimazioni.
Scenario 1: 3 punti di test * 5 risultati attesi del test = punti di test modificati = 25
Scenario 2: 3 punti di test * 6 risultati attesi del test = punti di test aggiustati = 30
Scenario 3: 2 punti di test * 2 risultati attesi del test = punti di test aggiustati = 4
Scenario 4: 5 punti di test * 9 risultati attesi del test = punti di test modificati = 45
Scenario 5: 5 punti di test * 9 risultati attesi del test = punti di test modificati = 45
Quindi, considerando che dobbiamo applicare per dire 5 ore di lavoro per ogni punto di test modificato, finiamo per ottenere il seguente risultato approssimativo.
Scenario di test 1:25 punti di test modificati * 5 ore di lavoro = 125 ore di lavoro
Scenario di test 2: 30 punti di test modificati * 5 ore di lavoro = 150 ore di lavoro
Scenario di test 3: 4 punti di test regolati * 5 ore di lavoro = 20 ore di lavoro
Scenario di test 4: 45 punti di test regolati * 5 ore di lavoro = 225 ore di persona
Scenario di test 5: 45 punti di test modificati * 5 ore di lavoro = 225 ore di lavoro
Quindi il totale delle ore persona approssimative è: 745 ore persona
Usa il metodo di stima del punto di caso
Il metodo del punto caso d'uso si basa sui casi d'uso in cui calcoliamo lo sforzo complessivo di stima del test in base ai casi d'uso o ai requisiti.
Di seguito è riportato il processo dettagliato del metodo di stima del punto di caso d'uso:
Un esempio dello stesso è che diciamo che in un particolare requisito abbiamo 5 casi d'uso, caso d'uso 1, caso d'uso 2, ..., caso d'uso 5 rispettivamente. Consideriamo ora che il caso d'uso 1 consiste di 6 attori, il caso d'uso 2 consiste di 15 attori, i casi d'uso 3, 4 e 5, 3, 4 e 5 attori rispettivamente.
Consideriamo ogni caso d'uso che coinvolge il numero totale di attori inferiore a 5 come negativo, ogni caso d'uso con il numero totale di attori è uguale o superiore a 5 e minore o uguale a 10 come positivo e qualsiasi caso d'uso con più di 10 attori eccezionali.
Decidiamo di assegnare 2 punti ai casi d'uso eccezionali, 1 a quelli positivi e -1 per quelli negativi.
Pertanto, classifichiamo i casi d'uso 1 e 5 come positivi, il caso d'uso 2 come eccezionale e il caso d'uso 3, 4 come negativi rispettivamente in base alle nostre ipotesi sopra indicate.
Quindi l'attore non elaborato pesa = Caso d'uso 1 = (numero totale di attori) 5 * 1 (il punto assegnato) = 5. Allo stesso modo
Caso d'uso 2 = 15 * 2 = 30.
Ripetendo il processo per il resto dei casi d'uso, riceviamo i pesi degli attori non elaborati = 33
Peso caso d'uso non elaborato = totale n. di casi d'uso = 5
Caso d'uso non elaborato = Pesi degli attori non aggiustati + Peso del caso d'uso non aggiustato = 33 + 5 = 38
Caso di utilizzo elaborato = 38 * [0,65+ (0,01 * 50] = 26,7 o 28 ore di lavoro circa
Tecnica di ripartizione della fase di lavoro
La tecnica di suddivisione della fase di lavoro può essere descritta nei passaggi seguenti.
- Suddividi il lavoro complessivo in fasi.
- Inizia con la fase più semplice e assegnale un valore di stima approssimativo.
- Quindi procedere con l'identificazione della successiva fase possibile che potrebbe essere avviata una volta completata questa fase.
- Ricava un possibile insieme di valori di approssimazione che potrebbero essere applicati a questa fase e scegli il valore massimo tra tutti i valori di approssimazione derivati.
- Sommare il valore di stima approssimato aggiungendo il valore di stima dello sforzo di fase corrente al valore già esistente.
- Continuare i passaggi da 3 a 5 fino a quando tutte le fasi identificate nel primo passaggio sono esaurite.
- Accetta il valore stimato approssimativo finale come ultimo.
Supponiamo che in un requisito ci siano 5 fasi richieste. Quindi nella fase iniziale 1 assumiamo che gli sforzi totali necessari siano 35 ore-persona e quindi iniziamo la fase successiva 2 per la quale abbiamo 4 ipotesi comparative di 35, 45, 55 e 65 rispettivamente.
Quindi consideriamo le 65 ore persona che è il valore massimo qui. Nella fase 3, 4, 5 si ottengono stime (12, 33, 43, 54), (15, 10, 7, 8) e (2, 16, 5, 13) rispettivamente. Applicando il suddetto principio si ottengono rispettivamente 185 ore persona.
è oculus rift compatibile con ps4
Sto inserendo informazioni su - Come stimare gli sforzi di test per qualsiasi attività di test, che ho imparato dalla mia esperienza.
9 Suggerimenti generali su come stimare accuratamente il tempo di prova
Fattori che influenzano la stima del test del software e suggerimenti generali per una stima accurata:
# 1) Pensa a un po 'di tempo tampone
La stima dovrebbe includere un po 'di buffer. Ma non aggiungere un buffer, il che non è realistico. Avere un buffer nella stima permette di far fronte a eventuali ritardi che possono verificarsi. Avere un buffer aiuta anche a garantire la massima copertura del test.
# 2) Considera il ciclo dei bug
La stima del test include anche il ciclo dei bug. Il ciclo di prova effettivo potrebbe richiedere più giorni di quanto stimato. Per evitare ciò, dovremmo considerare il fatto che il ciclo di test dipende dalla stabilità della build. Se la build non è stabile, gli sviluppatori potrebbero aver bisogno di più tempo per risolverli e, ovviamente, il ciclo di test viene esteso automaticamente.
# 3) Disponibilità di tutte le risorse per il periodo stimato
La stima del test dovrebbe prendere in considerazione tutte le ferie pianificate dai membri del team (in genere le foglie lunghe) nelle prossime settimane o nei prossimi mesi. Ciò garantirà che le stime siano realistiche.
La stima dovrebbe considerare un numero fisso di risorse per un ciclo di test. Se il numero di risorse si riduce, la stima dovrebbe essere riesaminata e aggiornata di conseguenza.
# 4) Possiamo eseguire test paralleli?
Hai delle versioni precedenti dello stesso prodotto in modo da poter confrontare l'output? Se sì, questo può rendere il tuo compito di test un po 'più semplice. Dovresti pensare alla stima basata sulla versione del tuo prodotto.
# 5) Le stime possono andare storte - Quindi rivedi frequentemente le stime nelle fasi iniziali prima di impegnarle.
Nelle prime fasi, dovremmo rivedere frequentemente le stime del test e apportare una modifica se necessario. Non dovremmo estendere la stima una volta congelata, a meno che non vi siano importanti cambiamenti nei requisiti.
# 6) Pensa alla tua esperienza passata per esprimere giudizi!
Le esperienze dei progetti passati svolgono un ruolo fondamentale durante la preparazione delle stime dei tempi. Possiamo cercare di evitare tutte le difficoltà o problemi che sono stati affrontati nei progetti passati. Possiamo analizzare come erano le stime precedenti e quanto ci hanno aiutato a consegnare il prodotto in tempo.
# 7) Considera l'ambito del progetto
Sapere qual è l'obiettivo finale del progetto e l'elenco di tutti i risultati finali. I fattori da considerare per i progetti piccoli e grandi differiscono molto.
Il progetto Large include tipicamente la creazione di un banco di prova, la generazione di dati di test, script di test, ecc. Quindi le stime dovrebbero essere basate su tutti questi fattori. Mentre nei piccoli progetti, in genere il ciclo di test include la scrittura, l'esecuzione e la regressione dei casi di test.
# 8) Hai intenzione di eseguire il test di carico?
Se è necessario dedicare molto tempo ai test delle prestazioni, effettuare una stima di conseguenza. Le stime per i progetti, che comportano test di carico, dovrebbero essere considerate in modo diverso.
# 9) Conosci la tua squadra?
Se conosci i punti di forza e di debolezza delle persone che lavorano nel tuo team, puoi stimare le attività di test in modo più preciso. Durante la stima si dovrebbe considerare il fatto che tutte le risorse potrebbero non produrre lo stesso livello di produttività. Alcune persone possono eseguire più velocemente rispetto ad altre. Sebbene questo non sia un fattore importante, si somma al ritardo totale nei risultati finali.
Conclusione
La stima del test del software è la pratica che richiede il coinvolgimento di professionisti esperti, nonché l'introduzione di best practice a livello di settore come il test case point e utilizza metodi case point.
È anche importante adottare una mente aperta per personalizzare i processi richiesti. L'implementazione di successo di questi processi porta a un miglioramento generale del processo di test.
Questo è un articolo ospite dell'autore “N. Sandhya Rani ”.
Lettura consigliata
- I migliori servizi di test del software QA di SoftwareTestingHelp
- QA Outsourcing Guide: Software Testing Outsourcing Companies
- Alpha test e beta test (una guida completa)
- Perfect Software Testing Resume Guide (con esempio di curriculum per Software Tester)
- Lavori di test del software: una guida completa ai lavori di test del QA
- Tecniche di stima agile: una stima reale in un progetto agile
- 68 Risorse essenziali per essere un tester di successo (da non perdere!)
- Tipi di test del software: diversi tipi di test con dettagli