software test estimation techniques
For at få succes med ethvert projekt er testestimering og korrekt udførelse lige så vigtig som udviklingscyklussen. At holde sig til estimeringen er meget vigtigt for at opbygge et godt omdømme hos klienten.
Erfaring spiller en vigtig rolle i estimeringen af 'Software Testing Insats'. Arbejde med forskellige projekter hjælper med at forberede en nøjagtig vurdering af testcyklussen. Det er klart, at man ikke bare blindt kan lægge et antal dage til enhver testopgave. Testestimering skal være realistisk og nøjagtig.
I denne artikel forsøger jeg at sætte nogle punkter på en meget enkel måde, som er nyttige til at udarbejde nøjagtig testestimering.
Hvad du lærer:
- Kort beskrivelse af testestimeringsprocessen
- Eksempler på testestimering
- 9 generelle tip til, hvordan man estimerer testtiden nøjagtigt
- Konklusion
- Anbefalet læsning
Kort beskrivelse af testestimeringsprocessen
'Estimering er processen med at finde et estimat eller en tilnærmelse, som er en værdi, der kan bruges til et eller andet formål, selvom inputdata kan være ufuldstændige, usikre eller ustabile.' (Reference: Wikipedia )
Vi støder alle på forskellige opgaver og pligter og deadlines i vores liv som professionelle. Nu er der to tilgange til at finde en løsning på et problem.
En første tilgang er en reaktiv tilgang, hvor vi først forsøger at finde en løsning på det aktuelle problem, når det ankommer.
I den anden tilgang, der kan kaldes en proaktiv tilgang, hvor vi først forbereder os længe før problemet ankommer med vores tidligere erfaringer og derefter med vores tidligere erfaringer, prøver vi at finde en løsning på udfordringen, når den ankommer.
Estimering kan således betragtes som en teknik, der anvendes, når vi tager en proaktiv tilgang til problemet.
Således kan estimering bruges til at forudsige, hvor stor indsats med hensyn til tid og omkostninger, der kræves for at gennemføre en defineret opgave.
Når testteamet er i stand til at foretage et skøn over det aktuelle problem, er det lettere for dem at komme med en løsning, der ville være optimal for det aktuelle problem.
Praksis med estimering kan defineres derefter mere formelt som en omtrentlig beregning af de sandsynlige omkostninger ved et stykke arbejde.
Læs også=> 7 faktorer, der påvirker testestimering af Selen Automation Project
De grundlæggende forudsætninger for testestimeringsprocessen
# 1) Indsigt indsamlet fra arbejde med tidligere erfaring : Det er altid en god praksis at bruge lidt tid på at huske tidligere projekter, der udgjorde udfordringer svarende til den nuværende bestræbelse.
# 2) De tilgængelige dokumenter eller artefakter: Det test management arkiver kommer ind praktisk i disse typer scenarier, da de gemmer krav og afklaringsdokumenter. Disse dokumenter kan henvises af testteamet for klart at definere projektets omfang.
# 3) Antagelser om typen af arbejde: Tidligere arbejdserfaring hjælper med at komme med antagelser om projektet. Det er her, ansættelse af erfarne fagfolk betyder mest.
Testledere kan afhente hjernen hos disse mennesker for at levere de ønskede resultater.
# 4) Beregning af potentielle risici og trusler: Testteamet skal også visualisere de potentielle risici og trusler og faldgruber, der ligger for teamet i fremtiden.
# 5) Bestemmelse af, om dokumenterne er baseret på: Testteamet skal også afgøre, om kravene er blevet baselineret eller ej. Hvis dokumenterne ikke er baseline, er det vigtigt at bestemme hyppigheden af ændringerne.
# 6) Alt ansvar og afhængighed skal være klart: Organisationen bør klart definere roller og ansvar for alle de personer, der skal udføre estimeringsprocessen.
# 7) Dokumentation og sporing af estimeringsoptegnelser: Alle relevante oplysninger til estimeringsprocessen skal dokumenteres.
# 8) Aktiviteter, der skal udføres under testestimeringsprocessen
- Organiser det hold, der skal foretage skøn
- Opdel projektet i projektfaser og efterfølgende konstituerende aktiviteter
- Beregn estimeringen baseret på tidligere projekter og erhvervserfaring
- Prioriter de mulige trusler, og find fremgangsmåderne til at afbøde disse risici
- Gennemgå og dokumenter den relevante del af arbejdet
- Aflever arbejdet til de relevante interessenter
Mest prominente testestimeringsteknikker
Nogle af de vigtigste teknikker til testestimering er:
- Estimering af testpunkt
- Arbejdsfasebaseret estimering
- Brug case point estimation
Hvordan og hvor vi bruger disse teknikker:
# 1) Estimering af testpunkt er en enkel og let forståelig estimeringsteknik, der er meget brugt på tværs af softwaretestspektret. Iterative faser og enkelhed er de vigtigste træk ved denne særlige teknik.
testplaneksempel til webapplikation
# 2) Arbejdsbaseret estimering er den estimeringsteknik, der anvendes, hvorved der foretages et gætterestimat for en bestemt fase (normalt den korteste og enkleste af faserne), og derefter tilføjer testteamet gradvis andre faser til den oprindelige estimering og til sidst kommer med en passende estimering.
# 3) estimeringsteknik for brug-case-punkt er estimeringen af brugstilfælde, hvor den ujusterede aktørvægt og ujusterede brugssagsvægt bruges til at bestemme estimeringen af softwaretest.
Detaljer om estimeringsteknikken for testpunkt
Testpunktestimeringsteknikken udføres ved at følge de anførte trin: -
(Følgende vægte, der kan variere fra projekt til projekt, kan overvejes under dette paradigme - Nogle af disse vægte er vægten for programmeringssprog baseret på kodens kompleksitet, applikationsvægt baseret på applikationstypen og testvægte, der er tildelt baseret på de forskellige faser af softwaretest.)
Uforarbejdede testpoint ganges med CWF for at opnå teststørrelsen i testpunktets størrelse.
Produktivitetsfaktoren angiver, hvor lang tid en testingeniør har gennemført testen af et testpunkt
Testindsats i personlige timer beregnes ved at multiplicere testpunktstørrelsen med produktivitetsfaktoren.
Til beregning af testpunktestimeringsteknikken overvejer vi følgende variabler.
- Testkravets kompleksitet
- Grænseflade med andre krav
- Samlet antal verifikationspunkter
- Baseline testdata
Vi skal derefter overveje vægtvektorer for hver af datavariablerne og organisere dem på følgende måde.
Justeringsfaktor = Gennemsnit af (produkt af kompleksitetsvægt og faktorvægt) / 30
Justeringstestpunkt for testkassedesign = Samlet testpunkt X (1 + Justeringsfaktor for testkassedesign)
iOS interview spørgsmål og svar til erfaren pdf
Justeret testpunkt til udførelse af testtilfælde = samlet testpunkt X (1 + justeringsfaktor til udførelse af testsag)
Samlet testpunkt (normaliseret) X (1 + Justeringsfaktor for design / udførelse af testkasse) = Justeret testpunkt for design / udførelse af testkasse
Samlet indsats i persontimer (PH) = antal normaliserede testpunkter / produktivitet (i normaliserede testpunkter pr. Personstid)
Eksempler på testestimering
Lad os prøve at anvende ovenstående formulering i en anden praktisk anvendelse.
Antag, at vi ender med et testkrav, hvorved vi har 5 testscenarier at teste.
Sig nu Testscenarie 1 har fået 5 test forventede resultater, testscenarie 2 6 test forventede resultater, testscenarie 3 kun 2 test forventede resultater, testscenarie 4 9 test forventede resultater, testscenarie 5 også 9 test forventede resultater.
Så vi klassificerer testscenarierne i tre klasser, dvs. komplekse, enkle og moderate baseret på det samlede antal forventede resultater til stede i disse tre klasser.
Komplekse klasser vil have mere end 7 forventede resultater, mens de enkle vil bestå af mindre end 5 forventede resultater, og de moderate scenarier vil bestå af mellem 4 og 7 forventede resultater.
Vi klassificerer således testscenarie 1 og testscenarie 2 som moderate scenarier, scenario 5 og scenario 6 som komplekse og testscenarie 3 som enkle.
Vi anvender nu testpunkter på alle disse scenarier. Vi anvender 5 testpoint for komplekse klasser, 3 for moderate og 2 for de enkle scenarier.
Vi multiplicerer de antagne testpunkter med det samlede antal forventede resultater i alle disse testscenarier. Så vi ender med følgende tilnærmelser.
Scenarie 1: 3 testpunkter * 5 forventede testresultater = Justerede testpunkter = 25
Scenarie 2: 3 testpunkter * 6 forventede testresultater = Justerede testpunkter = 30
Scenarie 3: 2 testpoint * 2 test forventede resultater = Justerede testpunkter = 4
Scenarie 4: 5 testpunkter * 9 forventede testresultater = Justerede testpunkter = 45
Scenarie 5: 5 testpunkter * 9 forventede testresultater = Justerede testpunkter = 45
Så i betragtning af at vi er nødt til at ansøge om at sige 5 person timer for hvert justeret testpunkt, ender vi med at få følgende omtrentlige resultat.
Testscenarie 1: 25 justerede testpunkter * 5 Personstimer = 125 Personstimer
Testscenarie 2: 30 justerede testpunkter * 5 Personstimer = 150 Personstimer
Test Scenario 3: 4 justerede testpunkter * 5 Personstimer = 20 Personstimer
Testscenarie 4: 45 justerede testpunkter * 5 Personstimer = 225 Personstimer
Testscenarie 5: 45 justerede testpunkter * 5 Personstimer = 225 Personstimer
Den samlede tilnærmede antal timer er således: 745 personstimer
Brug metode til estimering af sagspoint
Use-Case Point-metoden er baseret på de anvendelsestilfælde, hvor vi beregner den samlede testestimeringsindsats baseret på brugssagerne eller kravene.
Her er den detaljerede proces med estimeringsmetoden Use case point:
Et eksempel på det samme er at sige i et bestemt krav, at vi har henholdsvis 5 use cases, use case 1, use case 2,…, use case 5. Lad os nu overveje, at use case 1 består af 6 aktører, use case 2 består af 15 aktører, use cases 3, 4 og 5, 3, 4 og 5 aktører.
Vi betragter enhver brugssag, der involverer det samlede antal aktører som mindre end 5 som negativ, enhver brugssag med det samlede antal aktører er lig med eller mere end 5 og mindre end eller lig med 10 som positiv, og enhver brugssag med mere end 10 skuespillere som usædvanlige.
Vi beslutter at tildele 2 point til de ekstraordinære brugstilfælde, 1 til de positive og -1 for de negative.
Således kategoriserer vi Use cases 1 og 5 som positive, use case 2 som exceptionelle og use case 3, 4 henholdsvis negative baseret på vores ovennævnte antagelser.
Så den ubehandlede skuespiller vægte = Use case 1 = (samlet antal aktører) 5 * 1 (det tildelte punkt) = 5. Tilsvarende
Brug sag 2 = 15 * 2 = 30.
Gentagelse af processen for resten af brugssagerne modtager vi de uforarbejdede skuespillervægte = 33
Ubehandlet brugssagens vægt = samlet nr. brugssager = 5
Ubearbejdet brugssagspunkt = Ujusteret aktørvægt + Ujusteret brugssagsvægt = 33 + 5 = 38
Behandlet brugssagspunkt = 38 * (0,65+ (0,01 * 50) = 26,7 eller 28 person timer ca.
Arbejdsfase opdelingsteknik
Teknikken til opdeling af arbejdsfasen kan beskrives i de følgende trin.
- Opdel det samlede arbejde i faser.
- Start med den enkleste fase, og tildel den en omtrentlig estimeringsværdi.
- Fortsæt derefter med at identificere den næste mulige fase, som kan påbegyndes, når denne fase er afsluttet.
- Udled et muligt sæt tilnærmelsesværdier, der kan anvendes på denne fase, og vælg den maksimale værdi blandt alle de afledte tilnærmelsesværdier.
- Opsummer den tilnærmede estimeringsværdi ved at tilføje den aktuelle faseindsats estimeringsværdi til den allerede eksisterende værdi.
- Fortsæt trin 3 til 5, indtil alle faser identificeret i det første trin er opbrugt.
- Accepter den endelige omtrentlige estimerede værdi som den ultimative.
Antag, at der i et krav er 5 påkrævede faser. Så i den indledende fase 1 antager vi, at den samlede indsats, der kræves, er 35 person-timer, og så starter vi den næste fase 2, som vi har 4 sammenlignende antagelser på henholdsvis 35, 45, 55 og 65.
Så vi overvejer 65 person-timer, som er den maksimale værdi her. I fase 3, 4, 5 kommer vi med estimater (henholdsvis 12, 33, 43, 54), (15, 10, 7, 8) og (2, 16, 5, 13). Ved at anvende det nævnte princip ender vi med henholdsvis 185 Person Hours.
Jeg lægger oplysninger om - Hvordan estimerer jeg testindsatsen for enhver testopgave, som jeg lærte af min erfaring?
9 generelle tip til, hvordan man estimerer testtiden nøjagtigt
Faktorer, der påvirker estimering af softwaretest og generelle tip til nøjagtigt at estimere:
# 1) Tænk på noget buffertid
Estimationen skal omfatte en vis buffer. Men tilføj ikke en buffer, som ikke er realistisk. At have en buffer i estimeringen gør det muligt at håndtere eventuelle forsinkelser. At have en buffer hjælper også med at sikre maksimal testdækning.
# 2) Overvej bugcyklussen
Testestimationen inkluderer også bugcyklussen. Den aktuelle testcyklus kan tage flere dage end estimeret. For at undgå dette skal vi overveje det faktum, at testcyklussen afhænger af konstruktionens stabilitet. Hvis bygningen ikke er stabil, kan udviklere muligvis have mere tid til at rette, og selvfølgelig bliver testcyklussen automatisk udvidet.
bedste gratis ssh-klient til windows
# 3) Tilgængelighed af alle ressourcer i estimeret periode
Testestimatet skal tage højde for alle de blade, som holdmedlemmerne planlægger (typisk lange blade) i de næste par uger eller de næste par måneder. Dette vil sikre, at estimaterne er realistiske.
Estimationen skal overveje et bestemt antal ressourcer til en testcyklus. Hvis antallet af ressourcer reduceres, skal estimatet genbesøges og opdateres i overensstemmelse hermed.
# 4) Kan vi udføre parallel test?
Har du nogle tidligere versioner af det samme produkt, så du kan sammenligne output? Hvis ja, kan dette gøre din testopgave lidt lettere. Du bør overveje estimeringen baseret på din produktversion.
# 5) Estimeringer kan gå galt - Så besøg estimaterne ofte i de indledende faser, inden du begår det.
I de tidlige stadier bør vi ofte besøge testestimaterne og foretage en ændring, hvis det er nødvendigt. Vi bør ikke udvide estimatet, når vi fryser det, medmindre der er store ændringer i kravene.
# 6) Tænk på din tidligere erfaring med at dømme!
Erfaringer fra tidligere projekter spiller en vigtig rolle under udarbejdelsen af tidsestimater. Vi kan forsøge at undgå alle de vanskeligheder eller problemer, der stod over for i tidligere projekter. Vi kan analysere, hvordan de tidligere estimater var, og hvor meget de hjalp med at levere produktet til tiden.
# 7) Overvej omfanget af projektet
Ved, hvad der er det endelige mål for projektet og listen over alle endelige resultater. Faktorer, der skal overvejes for små og store projekter, adskiller sig meget.
Det store projekt inkluderer typisk opsætning af en testbed, generering af testdata, test-scripts osv. Derfor skal estimaterne baseres på alle disse faktorer. Mens der i små projekter typisk inkluderer testcyklussen skrivning, udførelse og regression af testsager.
# 8) Skal du udføre belastningstestning?
Hvis du har brug for at bruge lang tid på præstationstest, skal du estimere det. Skøn for projekter, der involverer belastningstest, bør overvejes forskelligt.
# 9) Kender du dit team?
Hvis du kender styrker og svagheder hos personer, der arbejder i dit team, kan du estimere testopgaver mere præcist. Mens man estimerer, skal man overveje det faktum, at alle ressourcer muligvis ikke giver det samme produktivitetsniveau. Nogle mennesker kan udføre hurtigere sammenlignet med andre. Selvom dette ikke er en væsentlig faktor, tilføjer det den samlede forsinkelse i leverancer.
Konklusion
Estimering af softwaretest er den praksis, der kræver involvering af erfarne fagfolk såvel som indførelsen af branchens bedste praksis som test case point og bruger case point-metoder.
Det er også vigtigt for at vedtage et åbent sind til at tilpasse de krævede processer. En vellykket implementering af disse processer fører til en samlet forbedring i testprocessen.
Dette er en gæsteartikel af forfatteren “N. Sandhya Rani ”.
Anbefalet læsning
- Bedste QA Software Testing Services fra SoftwareTestingHelp
- QA Outsourcing Guide: Software Testing Outsourcing Company
- Alpha-test og betatestning (En komplet guide)
- Perfekt softwaretest CV-guide (med software-test CV-prøve)
- Softwaretestjob: En komplet guide til QA-testjob
- Agile Estimation Techniques: En sand estimering i et smidigt projekt
- 68 væsentlige ressourcer til at blive en vellykket tester (gå ikke glip af!)
- Typer af softwaretest: Forskellige testtyper med detaljer