Tecniche di stima di test software (Test Sforzo Stima Guida completa)

Per il successo di qualsiasi progetto, la stima dei test e la corretta esecuzione sono altrettanto importanti 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 ci aiuta a preparare una stima accurata del ciclo di test.

Ovviamente non si può semplicemente mettere ciecamente un certo numero di giorni per qualsiasi attività di test. La stima del test dovrebbe essere realistica e accurata.

Questo tutorial includerà alcuni importanti suggerimenti che saranno molto utili per preparare una stima accurata del test in modo molto semplice.

Software Test Estimation TechniquesSoftware Test Estimation Techniques

Test Estimation Process

“La stima è il processo di ricerca di una stima, o approssimazione, che è un valore utilizzabile per qualche scopo anche se i dati di input possono essere incompleti, incerti o instabili.”

Ci imbattiamo tutti in diversi compiti, doveri e scadenze per tutta la nostra vita come professionisti, ora ci sono due approcci per trovare la soluzione a un problema.

Il primo approccio è un approccio reattivo in cui cerchiamo di trovare una soluzione al problema in questione solo dopo che arriva.

Nel secondo approccio che può essere definito un approccio proattivo, ci prepariamo prima che il problema arrivi con le nostre esperienze passate e poi con le nostre esperienze passate, 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.

Quindi la stima può essere utilizzata per prevedere quanto sforzo in termini di tempo e costi sarebbe necessario per completare un’attività definita. Una volta che il team di test è in grado di fare una stima del problema a portata di mano, allora è più facile per loro a venire con una soluzione che sarebbe ottimale per il problema a portata di mano.

La pratica della stima può quindi essere definita più formalmente come un calcolo approssimativo del costo probabile di un pezzo di lavoro.

Inoltre, read => 7 Fattori che influenzano la stima del test del progetto Selenium Automation

Prerequisiti di base

Di seguito sono riportati i prerequisiti di base per il processo di stima del test.

#1) Intuizioni raccolte lavorando con esperienze passate: è sempre una buona pratica passare un po ‘ di tempo, ricordando progetti passati che hanno posto sfide simili allo sforzo attuale a portata di mano.

#2) I documenti o gli artefatti disponibili: Gli strumenti di repository di gestione dei test sono utili in questi tipi di scenari in quanto memorizzano i requisiti e i documenti di chiarimento. Questi documenti possono essere indirizzati dal team di test per definire chiaramente l’ambito del progetto.

#3) Ipotesi sul tipo di lavoro: l’esperienza lavorativa passata aiuta a formulare ipotesi sul progetto. Questo è dove assumere professionisti esperti conta di più. Test manager possono scegliere il cervello di queste persone per fornire i risultati desiderati.

#4) Calcolo di potenziali rischi e minacce: Il team di test deve anche visualizzare i potenziali rischi, le minacce e le insidie che potrebbero trovarsi per il team in futuro.

#5) Determinare se i documenti sono stati baselined: Il team di test deve anche determinare se i requisiti sono stati baselined o meno. Se i documenti non sono baseline, è 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à per tutti coloro che eseguirebbero il processo di stima.

#7) Documentazione e tracciamento dei record di stima: tutte le informazioni rilevanti per il processo di stima dovrebbero essere documentate.

#8) Attività da eseguire durante il processo di stima del test:

  • Organizzare una squadra che eseguirà le stime.
  • Scomporre il progetto in fasi progettuali e successive attività costituenti.
  • Calcola la stima sulla base di progetti precedenti ed esperienze professionali.
  • Priorità possibili minacce e venire con approcci per mitigare tali rischi.
  • Rivedere e documentare le parti rilevanti del lavoro.
  • Invia il lavoro alle parti interessate.

Le più importanti tecniche di stima dei test

Alcune delle tecniche più importanti per la stima dei test sono:

  • Test point estimation
  • Work-phase based estimation
  • Use case point estimation

Come e dove utilizziamo queste tecniche:

#1) La 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.

#2) La stima basata sulla fase di lavoro è la tecnica di stima che viene utilizzata per cui viene effettuata una stima di ipotesi su una particolare fase (normalmente la più breve e semplice delle fasi) e quindi il team di test aggiunge gradualmente altre fasi nella stima iniziale e infine arriva con una stima appropriata.

#3) La tecnica di stima del punto del caso d’uso è la stima dei casi d’uso in cui i pesi dell’attore non regolati e i pesi dei casi d’uso non regolati 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 di seguito:

punto di prova tecnica di stima

(I seguenti pesi, che può variare da progetto a progetto, potrebbe essere considerato sotto questo paradigma di Alcuni di questi pesi sono i pesi per il linguaggio di programmazione basato sulla complessità del codice, l’applicazione di peso in base al tipo di applicazione e verifica dei pesi che sono assegnati sulla base delle diverse fasi di test del software.)

I punti di prova non trasformati vengono moltiplicati per CWF per ottenere la dimensione del test nella dimensione del punto di prova.

Fattore di produttività indica la quantità di tempo per un tecnico di prova per completare il test di un punto di prova.

Lo sforzo di test in ore di persona viene calcolato moltiplicando la dimensione del punto di test per il fattore di produttività.

Per il calcolo della tecnica di stima del punto di prova, consideriamo le seguenti variabili.

  • il requisito della Prova della complessità

il requisito della Prova della complessità

  • Interfaccia con le altre esigenze

Interfaccia con le altre esigenze

  • numero Totale di punti di verifica

numero Totale di punti di verifica

  • linea di base di dati di test

linea di base di dati di test

E ‘ quindi necessario considerare il peso vettori per ciascuna delle variabili di dati e organizzarli nel modo seguente.

peso vettori per i dati variabili

fattore di Aggiustamento = Media (prodotto di complessità peso e fattore di peso) / 30

Regolazione del Punto di Prova per i Test case di design = Totale Test di un Punto X (1 + fattore di Aggiustamento per i Test Case di design)

Regolato Punto di Test per la Prova di esecuzione nel caso = Totale Test di un Punto X (1 + fattore di correzione per la Prova di esecuzione nel Caso)

Totale Test Point (normalizzato) X (1 + fattore di Aggiustamento per i Test Case di progettazione/esecuzione) = Rettificato Punto di Prova per Testare Caso di progettazione/esecuzione

Totale sforzo Ore persona (PH) = Numero di punti di prova normalizzati / Produttività (in punti di prova normalizzati per ore persona)

Esempi di stima del test

Proviamo ad applicare la formulazione di cui sopra ad un altro uso pratico.

Supponiamo di finire con un requisito di test in cui abbiamo 5 scenari di test da testare.

Ora diciamo che lo scenario di test 1 ha 5 risultati attesi, lo scenario di test 2 ha 6 risultati attesi, lo scenario di test 3 solo 2 risultati attesi, lo scenario di test 4 9 risultati attesi, lo scenario di test 5 anche 9 risultati attesi, rispettivamente.

Classifichiamo gli scenari di test in tre classi, cioè complesse, semplici e moderate 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 in tra 4 e 7 risultati attesi.

Classifichiamo quindi lo scenario di prova 1 e lo scenario di prova 2 come scenari moderati, lo scenario 5 e lo scenario 6 come complessi e lo scenario di prova 3 come semplici.

Applicheremo ora i punti di test a tutti questi scenari. Abbiamo applicato 5 punti di test per le classi complesse, 3 per quelle moderate e 2 per gli scenari semplici.

Moltiplichiamo i punti di test ipotizzati con il numero totale di risultati attesi in tutti questi scenari di test. Quindi finiamo con le seguenti approssimazioni:

Scenario 1: 3 punti di prova * 5 risultati attesi del test = Punti di prova regolati = 25
Scenario 2: 3 punti di prova * 6 risultati attesi del test = Punti di prova regolati = 30
Scenario 3: 2 punti di prova * 2 risultati attesi = Punti di prova aggiustati = 4
Scenario 4: 5 punti di prova * 9 risultati attesi = Punti di prova aggiustati = 45
Scenario 5: 5 punti di prova * 9 risultati attesi = Punti di prova aggiustati = 45

Quindi, considerando che dobbiamo richiedere, ad esempio, 5 ore di persona per ogni punto di prova aggiustato, finiamo per ottenere il seguente risultato approssimativo.

Scenario di prova 1: 25 punti di prova regolati * 5 ore persona = 125 ore persona
Scenario di prova 2: 30 punti di prova regolati * 5 ore persona = 150 ore persona
Scenario di prova 3: 4 punti di prova regolati * 5 ore persona= 20 ore persona
Scenario di prova 4: 45 punti di prova regolati * 5 ore persona = 225 ore persona
Scenario di prova 5: 45 punti di prova regolati * 5 ore persona = 225 ore persona

Quindi il totale approssimativo persona-ore è: 745 ore persona

Metodo di stima del punto del caso d’uso

i 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 un processo dettagliato del metodo di stima del punto del caso d’uso:

Metodo di stima del punto del caso d'uso

Un esempio dello stesso è 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 è composto da 6 attori, il caso d’uso 2 è composto da 15 attori, i casi d’uso 3, 4 e 5, 3, 4 e 5 attori rispettivamente.

Consideriamo negativo qualsiasi caso d’uso che implichi un numero totale di attori inferiore a 5, positivo qualsiasi caso d’uso con un numero totale di attori uguale o superiore a 5 e inferiore o uguale a 10 e eccezionale qualsiasi caso d’uso con più di 10 attori.

Abbiamo deciso di assegnare 2 punti per i casi d’uso eccezionali, 1 per 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 negativo rispettivamente in base alle nostre ipotesi sopra indicate.

Quindi l’attore non elaborato pesi = Caso d’uso 1 = (numero totale di attori) 5 * 1 (il punto assegnato) = 5. Allo stesso modo

Usa il caso 2 = 15 * 2 = 30 .

Ripetendo il processo per il resto dei casi d’uso riceviamo l’attore non elaborato pesi = 33

Peso del caso d’uso non elaborato = totale no. di casi d’uso = 5

Punto del caso d’uso non elaborato = Pesi dell’attore non corretti + Peso del caso d’uso non corretto = 33 + 5 = 38

Caso d’uso elaborato punto = 38 * = 26.7 o 28 ore per persona circa

Tecnica di ripartizione in fase di lavoro

La tecnica di ripartizione in fase di lavoro può essere descritta nei passaggi seguenti.

  • Suddividere il lavoro complessivo in fasi.
  • Inizia con la fase più semplice e assegna un valore di stima approssimativo ad esso.
  • Quindi procedere con l’identificazione della prossima fase possibile che può essere iniziata una volta completata questa fase.
  • Ricavare un possibile insieme di valori di approssimazione che potrebbero essere applicati a questa fase e scegliere 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 con i passaggi da 3 a 5 fino a esaurimento di tutte le fasi identificate nel primo passaggio.
  • Accetta il valore di stima approssimativa finale come ultimo.

Supponiamo che in un requisito ci siano 5 fasi richieste. Nella fase iniziale 1, assumiamo che lo sforzo totale necessario sia di 35 ore di persona e quindi iniziamo la fase successiva 2 per la quale abbiamo 4 ipotesi comparative di 35, 45, 55 e 65 rispettivamente.

Consideriamo le 65 ore-persona che è il valore massimo qui. Nella fase 3 , 4 ,5 arriviamo con stime (12 , 33, 43 , 54) , (15 , 10 , 7 , 8) e (2 , 16 , 5 , 13) rispettivamente. Applicando il suddetto principio si finisce con 185 ore persona rispettivamente.

Sto mettendo informazioni su-Come stimare gli sforzi di test per qualsiasi attività di test, che ho imparato dalla mia esperienza.

9 Consigli generali su come stimare con precisione il tempo di test

Fattori che influenzano la stima del test del software e suggerimenti generali per stimare con precisione:

#1) Pensa a un po ‘di tempo di buffer: la stima dovrebbe includere un po’ di buffer. Ma non aggiungere un buffer, che non è realistico. Avere un buffer nella stima ci 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 di bug: la stima del test include anche il ciclo di bug. Il ciclo di prova effettivo può 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 risolverlo e, ovviamente, il ciclo di test viene esteso automaticamente.

#3) Disponibilità di tutte le risorse per il periodo stimato: La stima del test dovrebbe considerare tutte le foglie pianificate dai membri del team (in genere 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 prova. Se il numero di risorse si riduce, la stima dovrebbe essere riesaminata e aggiornata di conseguenza.

#4) Possiamo fare 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 male – Quindi ri-visitare le stime spesso nelle fasi iniziali prima di commetterle: Nelle fasi iniziali, dovremmo spesso ri-visitare le stime di test e apportare modifiche se necessario. Non dovremmo estendere la stima una volta che la congeliamo a meno che non ci siano grandi cambiamenti nei requisiti.

#6) Pensa alla tua esperienza passata per esprimere giudizi! Le esperienze dei progetti passati svolgono un ruolo fondamentale nella preparazione delle stime temporali. Possiamo cercare di evitare tutte le difficoltà o i problemi che sono stati affrontati nei progetti passati. Possiamo analizzare come erano le stime precedenti e quanto hanno contribuito a consegnare il prodotto in tempo.

#7) Considerare l’ambito del progetto: sapere qual è l’obiettivo finale del progetto e l’elenco di tutti i risultati finali. I fattori da considerare per piccoli e grandi progetti differiscono molto. I progetti di grandi dimensioni in genere includono 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 per i piccoli progetti, in genere il ciclo di test include la scrittura, l’esecuzione e la regressione del caso di test.

#8) Hai intenzione di eseguire test di carico? Se è necessario dedicare molto tempo ai test delle prestazioni, stimare 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. Mentre si stima si dovrebbe considerare il fatto che non tutte le risorse possono produrre lo stesso livello di produttività.

Alcune persone possono eseguire più velocemente rispetto ad altri. Anche se questo non è un fattore importante, si aggiunge al ritardo totale nei risultati finali.

Conclusione

La stima dei test software è una pratica che richiede il coinvolgimento di professionisti esperti e l’introduzione di best practice a livello di settore come i metodi test case point e use 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”.

Ultimo aggiornamento: 29 novembre 2021

Write a Comment

Il tuo indirizzo email non sarà pubblicato.