Testestimeringsteknikker i programvaretesting
โก Smart oppsummering
Teknikker for estimering av programvaretesting anslรฅr hvor lang tid testingen vil ta og hvor mye det vil koste. En firetrinnsprosess โ bryt ned oppgaver, tildel eiere, estimer innsats og valider med interessenter โ gjรธr vage tidslinjer om til en forsvarlig plan som ledelsen kan godkjenne.

Hva er Software Test Estimation?
Estimering av programvaretest er en ledelsesaktivitet som anslรฅr hvor lang tid en testoppgave vil ta og hvor mye den vil koste. ร produsere et troverdig testestimat er en av de viktigste oppgavene i testledelse fordi det styrer beslutninger om tidsplan, budsjett og ressurser.
Hvorfor testestimatering er viktig
Klienter stiller alltid to spรธrsmรฅl fรธr de signerer et testoppdrag:
For smรฅ prosjekter er disse spรธrsmรฅlene enkle รฅ svare pรฅ. For et stรธrre prosjekt โ for eksempel testing av Guru99 Banks nettsted โ du trenger en strukturert teknikk for รฅ forsvare svaret.
Hva skal estimeres?
- Ressurser: folk, utstyr, fasiliteter, finansiering og alt annet som kreves for รฅ utfรธre arbeidet.
- Tid: den mest verdifulle ressursen i ethvert prosjekt โ hver utgivelse har en tidsfrist.
- Menneskelige ferdigheter: kunnskapen og erfaringen til teamet. Sterkere testere fullfรธrer raskere enn et mindre erfarent team.
- Kostnad: prosjektbudsjettet โ hvor mye penger det tar รฅ gjennomfรธre den planlagte testingen.
Hvordan estimere
Vanlige estimeringsteknikker for programvaretesting er:
- Arbeidsfordelingsstruktur (WBS).
- Trepunktsestimering.
- Bredbรฅnd Delphi.
- Funksjonspunkt- eller testpunktanalyse.
- Brukstilfellepunktmetoden.
- Prosentfordeling.
- Ad-hoc-metode.
Firetrinnsprosessen nedenfor kombinerer flere teknikker for รฅ komme frem til et forsvarlig estimat. Eksemplet bruker Guru99 Casestudie av banker.
Trinn 1) Del hele prosjektet inn i deloppgaver
Bruke Work Breakdown Structure teknikk for รฅ dele et komplekst prosjekt inn i moduler, undermoduler og til slutt de minste meningsfulle oppgavene. Estimater er langt mer pรฅlitelige pรฅ bladnivรฅ enn mot vage overskriftsprosjekter.
Bruk teknikken for รฅ bryte ned Guru99 Bank-prosjektet i fem mindre oppgaver:
Hver oppgave deles deretter inn i underoppgaver inntil hver linje er detaljert nok til รฅ estimere.
| Oppgave | Deloppgave |
|---|---|
| Analyser programvarekravspesifikasjon | Undersรธk kravspesifikasjonene. |
| Intervju utviklere og andre interessenter for รฅ lรฆre mer om nettstedet. | |
| Lag testspesifikasjonen | Design testscenarier. |
| Lag testtilfeller. | |
| Revvise og revidere testtilfeller. | |
| Utfรธr testsakene | Bygg testmiljรธet. |
| Utfรธr testtilfellene. | |
| Revse resultatene av testkjรธringen. | |
| Rapporter feilene | Opprett defekt rapporter. |
| Rapporter manglene. |
Trinn 2) Tildel hver oppgave til et teammedlem
Tildel hver underoppgave til den mest passende eieren.
| Oppgave | Eieren |
|---|---|
| Analyser programvarekravspesifikasjon | Alle teammedlemmer |
| Lag testspesifikasjonen | Tester / Testanalytiker |
| Bygg testmiljรธet | Testadministrator |
| Utfรธr testsakene | Tester, testadministrator |
| Meld fra om mangler | tester |
Trinn 3) Innsatsestimering for hver oppgave
To komplementรฆre teknikker fungerer bra pรฅ dette stadiet:
- Funksjonspunktmetoden.
- Trepunktsestimering.
Metode 1) Funksjonspunktmetode
Testlederen estimerer stรธrrelse, varighet og kostnad for hver oppgave.
Trinn A) Estimer stรธrrelsen pรฅ oppgaven
Ta oppgaven ยซLag testspesifikasjonenยป. Stรธrrelsen avhenger av den funksjonelle stรธrrelsen pรฅ systemet som testes โ jo flere funksjoner, desto mer komplekst er systemet. Funksjonspunkter klassifiseres vanligvis i tre grupper: Komplekse, Medium og Enkel.
Basert pรฅ kompleksitet tildeler testlederen en vekt til hvert funksjonspunkt:
| Gruppe | vekting |
|---|---|
| Complex | 5 |
| Medium | 3 |
| Enkelt | 1 |
Ocuco GuruNettstedet til 99 Bank er delt inn i 12 funksjonspunkter. Kompleksiteten deres er oppsummert nedenfor.
| # | Moduler | Gjeldende roller | Tekniske beskrivelser | vekting |
|---|---|---|---|---|
| 1 | Balanseforespรธrsel | Leder, kunde | Kunde: se kun saldoen pรฅ egne kontoer. manager: se saldoen til hver kunde under oppsyn. |
3 |
| 2 | Overfรธring av midler | Leder, kunde | Kunde: overfรธre penger fra egen konto til et hvilket som helst sted. manager: overfรธre midler fra hvilken som helst kilde til hvilken som helst destinasjon. |
5 |
| 3 | Mini erklรฆring | Leder, kunde | De siste fem transaksjonene pรฅ en konto. Kunde: se bare egne kontoer. manager: se hvilken som helst konto. |
3 |
| 4 | Tilpasset erklรฆring | Leder, kunde | Filtrerte transaksjoner etter dato eller verdi. Kunde: kun egne kontoer. manager: hvilken som helst konto. |
5 |
| 5 | Endre passord | Leder, kunde | Kunde: endre eget passord. manager: endre eget passord (ikke kundens). |
1 |
| 6 | Ny kunde | Leder | Legg til og rediger kundedetaljer (adresse, e-post, telefon). | 3 |
| 7 | Ny konto | Leder | Spare- og brukskontoer; en kunde kan ha flere av hver. Leder legger til nye kontoer for eksisterende kunder. | 5 |
| 8 | Rediger bruker | Leder | Rediger detaljene for en eksisterende konto. | 1 |
| 9 | Slett konto | Leder | Slett en eksisterende konto for en kunde. | 1 |
| 10 | Slett kunde | Leder | Slett en kunde bare nรฅr det ikke finnes noen aktive kontoer. | 1 |
| 11 | Innskudd | Leder | Sett inn kontanter pรฅ en hvilken som helst konto i filialen. | 3 |
| 12 | Tilbaketrekking | Leder | Ta ut kontanter fra hvilken som helst konto i filialen. | 3 |
Trinn B) Estimer varigheten for oppgaven
Nรฅr kompleksiteten er angitt, estimer varigheten som kreves for รฅ teste hver gruppe.
- Total innsats: total innsats for รฅ teste alle funksjonene pรฅ nettstedet.
- Totalt antall funksjonspoeng: totale moduler pรฅ nettstedet.
- Estimat per funksjonspunkt: gjennomsnittlig innsats per poeng; avhenger av teamets produktivitet.
Anta at teamets estimat per funksjonspunkt er 5 timer/poengDen totale innsatsen for GuruEksempel pรฅ 99 Bank er:
| Gruppe | vekting | Funksjonspunkter | Totalt |
|---|---|---|---|
| Complex | 5 | 3 | 15 |
| Medium | 3 | 5 | 15 |
| Enkelt | 1 | 4 | 4 |
| Funksjon Totalt antall poeng | 34 | ||
| Estimat per punkt | 5 | ||
| Total estimert innsats (persontimer) | 170 | ||
Den totale innsatsen for รฅ fullfรธre ยซOpprett testspesifikasjonenยป er rundt 170 arbeidstimerNรฅr innsatsen er kjent, kan du tildele ressurser for รฅ bestemme varighet og kostnad.
Trinn C) Estimer kostnaden for oppgavene
Dette trinnet svarer pรฅ det andre klientspรธrsmรฅlet โ ยซHvor mye koster det?ยป. Anta en gjennomsnittlig teampris pรฅ $ 5 / timeOppgaven ovenfor tar 170 timer, sรฅ kostnaden er 170 ร $5 = $850Bruk den samme beregningen pรฅ tvers av alle WBS-oppgaver for รฅ komme frem til prosjektbudsjettet.
Jo mer nรธyaktig estimatet er, desto bedre kan du styre prosjektets budsjett og sikre at hver krone gir avkastning.
Metode 2) Trepunktsestimering
Trepunktsestimering er en strukturert teknikk der testlederen oppgir tre verdier per oppgave โ optimistisk, mest sannsynligog pessimistisk innsats โ basert pรฅ tidligere erfaring eller beste gjetninger.
For ยซOpprett testspesifikasjonenยป kan de tre verdiene vรฆre:
- Beste tilfelle: 120 arbeidstimer (~15 dager) med et sterkt og erfarent team.
- Mest sannsynlig: 170 arbeidstimer (~21 dager) med et typisk team og ressurser.
- Verste tilfelle: 200 arbeidstimer (~25 dager) med et mindre erfarent team og ekstra omarbeid.
Beregn det vektede gjennomsnittet ved hjelp av PERT-formelen:
Verdien E er den vektlagt gjennomsnitt โ overskriftsestimatet for ยซLag testspesifikasjonenยป.
ร uttrykke tilliten rundt E, beregn standardavviket:
For det Guru99 Bankeksempel estimatet utgjรธr 166.6 ยฑ 13.33 arbeidstimer โ et intervall pรฅ 153.33 til 179.99 arbeidstimer.
Trinn 4) Valider estimatet
Samle alle oppgaveestimater fra WBS-en og send planen til styret (administrerende direktรธr, prosjektleder, viktige interessenter) for gjennomgang og godkjenning.
Gรฅ logisk gjennom estimatet med styret, slik at de forstรฅr forutsetningene, de valgte teknikkene og beredskapen du har bygget inn.
Beste praksis for testestimering
Legg til buffertid
Planer overlever sjelden kontakt med virkeligheten โ teammedlemmer slutter, tester tar lengre tid enn forventet, avhengigheter forsvinner. Bygg en rimelig buffer i hvert estimat slik at tidsplanen absorberer mindre overraskelser.
Planlegg for ressurstilgjengelighet
Ta hensyn til planlagt permisjon, opplรฆring og vaktskifter. Estimater som ignorerer tilgjengelighet ser bra ut pรฅ papiret og kollapser i levering.
Bruk tidligere erfaringer som referanse
Historiske data fra lignende prosjekter er uvurderlige. Hvis du testet et sammenlignbart nettsted i fjor, lรฆr av dets faktiske data, problemene som oppsto og bufferen som reddet dagen.
Hold deg til estimatet โ men gjennomgรฅ det pรฅ nytt
Anslagene er ikke falsketracts; de er de beste gjetningene. RevBesรธk dem ved kjente milepรฆler og juster kun nรฅr kravene endres vesentlig eller ny informasjon endrer bildet. Forhandle om eventuelle endringer med kunden pรฅ en transparent mรฅte.
Software Test Estimation Mal
Last ned programvaretestestimeringen i Excel (.xlsx)
Andre estimeringsteknikker
I tillegg til WBS-, funksjonspunkt- og trepunktsestimering, er flere andre teknikker mye brukt:
- Bredbรฅnd Delphi: iterativ konsensusestimering av et ekspertpanel.
- Brukstilfellepunktmetode: henter innsats fra antallet og kompleksiteten av brukstilfeller.
- Prosentfordeling: allokerer en fast prosentandel av den totale prosjektets innsats til testing.
- Ad-hoc-metode: ekspertvurdering nรฅr historiske data mangler.
Bottom-Up vs Top-Down estimering
Et praktisk syn pรฅ estimering deler seg ogsรฅ opp i to komplementรฆre strategier:
- Bottom-up-estimering: basert pรฅ oppgaver pรฅ det laveste nivรฅet i arbeidsstokksystemet. Flere interessenter, erfarne medarbeidere og bidragsytere kombinerer tallene sine for รฅ komme frem til en nรธyaktig totalsum. Ideelt nรฅr arbeidet er godt forstรฅtt.
- Topp-og-ned-estimering: klassifiserer prosjektet etter stรธrrelse og kompleksitet og sammenligner det med fullfรธrte prosjekter av lignende form. Bruker ogsรฅ gjennomsnittlig innsats per testforsรธk og skaleres etter det anslรฅtte antallet tilfeller. Nyttig tidlig i et prosjekt nรฅr detaljer er knappe.
De fleste team blander de to โ ovenfra-og-ned for overskriftstallene, nedenfra-og-opp for trygghet โ og legger resultatet over med sofistikerte modeller nรฅr budsjettene rettferdiggjรธr innsatsen.














