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.

  • ???? Start med arbeidsfordeling: Del prosjektet inn i moduler, undermoduler og oppgaver, slik at hvert estimat dekker en liten, egen arbeidsenhet.
  • ๐Ÿ”ข Bruk velprรธvde teknikker: Funksjonspunkt- og trepunktsestimering leverer strukturerte tall; bredbรฅnds Delphi og brukstilfellespunkt gir teamkonsensus.
  • ???? Oversett innsats til kostnad: Multipliser estimerte arbeidstimer med satsen for det blandede teamet for รฅ gi finansavdelingen et klart budsjetttall.
  • ๐Ÿ›ก๏ธ Legg til buffer og valider: Stek i tide til permisjon, omarbeiding og overraskelser, og la deretter styret gjennomgรฅ og godkjenne planen.
  • ๐Ÿค– Bruk AI til รฅ forbedre estimater: AI-assistenter analyserer historiske prosjekter, flagger manglende oppgaver og anbefaler konfidensintervaller for hver linje i planen.

Teknikker for beregning av programvaretest

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:

Hvorfor teste estimering

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?

Hva man skal estimere i testhรฅndtering

  • 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.

Liste over estimeringsteknikker

Firetrinnsprosessen nedenfor kombinerer flere teknikker for รฅ komme frem til et forsvarlig estimat. Eksemplet bruker Guru99 Casestudie av banker.

Firetrinns estimeringsprosess

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.

Del prosjektet inn i deloppgaver

Bruk teknikken for รฅ bryte ned Guru99 Bank-prosjektet i fem mindre oppgaver:

Guru99 bankoppgaver

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:

  1. Funksjonspunktmetoden.
  2. Trepunktsestimering.

Metode 1) Funksjonspunktmetode

Testlederen estimerer stรธrrelse, varighet og kostnad for hver oppgave.

Funksjonspunktmetode

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.

Funksjonspunktkompleksitetsgrupper

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.

Varighetsberegning

  • 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.

Trepunktsestimering

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.

Parameterverdier

Beregn det vektede gjennomsnittet ved hjelp av PERT-formelen:

Trepunktsformel

Verdien E er den vektlagt gjennomsnitt โ€“ overskriftsestimatet for ยซLag testspesifikasjonenยป.

Spรธrsmรฅl fra leder

ร… uttrykke tilliten rundt E, beregn standardavviket:

Standardavviksformel

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.

Bekreft estimatet

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.

Spรธrsmรฅl og svar

Innsats mรฅler det totale antallet arbeidstimer som kreves for รฅ fullfรธre arbeidet. Varighet mรฅler kalendertiden det tar nรฅr du har tildelt personer til det. En oppgave pรฅ 170 timer tar 170 timer for รฉn person, men omtrent 21 timer for ti personer som jobber parallelt.

Start med arbeidsfordelingsstruktur for รฅ dele opp prosjektet, og legg deretter funksjonspunkt- eller trepunktsestimering oppรฅ. Arbeidsfordelingsstruktur gir struktur, mens funksjonspunkt eller trepunkt gir forsvarbare tall.

Ti til tjue prosent er en vanlig buffer for stabile prosjekter. ร˜k den for nye domener, ukjente verktรธy eller store team. Reserver bufferen for ukjente faktorer i stedet for kjent omfang.

Agile team bruker story points og planleggingspoker for รฅ dimensjonere testing sammen med utvikling. Hastighet fra tidligere sprinter konverterer story points til forventet kalendertid, og erstatter detaljerte forhรฅndsestimater.

PERT (Programevaluering og Rev(iew Technique) kombinerer de optimistiske (O), mest sannsynlige (M) og pessimistiske (P) estimatene med formelen E = (O + 4M + P) / 6 for รฅ produsere den forventede innsatsen.

RevIsรฉr estimatet nรฅr omfanget endres, avhengigheter forsvinner eller teamsammensetningen endres betydelig. Kommuniser endringen tidlig og reforhandle med kunden fรธr fristen forlenges i stillhet.

AI-verktรธy analyserer historiske prosjekter, foreslรฅr manglende oppgaver, anbefaler konfidensintervaller og oppdaterer planen etter hvert som faktiske tall kommer inn. Dette reduserer gapet mellom plan og virkelighet og reduserer blindsoner.

Ja. AI-assistenter gjรธr en prosjektbeskrivelse om til en arbeidsfordelingsstruktur, funksjonspunktklassifisering og trepunktsestimater med formler, klare for testlederen รฅ gjennomgรฅ og forbedre.

Oppsummer dette innlegget med: