Teknikker for beregning av programvaretest

Hva er Software Test Estimation?

Testvurdering er en ledelsesaktivitet som tilnærmer hvor lenge en oppgave ville ta å fullføre. Anslå innsats for testen er en av de større og viktig oppgaver i Test Management.

Hvorfor testestimering?

To spørsmål du kan forvente fra kundene dine når du diskuterer potensielle testengasjementer

Testestimat

For små prosjekter er disse spørsmålene relativt enkle å svare på. Men for det store prosjektet som Testing Guru99 Banks nettsted, må du tenke hardt for å svare på disse spørsmålene.

Hva skal estimeres?

Estimat for testledelse

  • Ressurser: Det kreves ressurser for å bære ut eventuelle prosjektoppgaver. De kan være personer, utstyr, fasiliteter, finansiering eller noe annet som kan defineres som kreves for å fullføre en prosjektaktivitet.
  • Tider: Tid er den mest verdifulle ressursen i et prosjekt. Hvert prosjekt har en leveringsfrist.
  • Menneskelige ferdigheter: Menneskelige ferdigheter betyr kunnskap og erfaring av teammedlemmene. De påvirker etter din vurdering. For eksempel vil et team, hvis medlemmer har lave testferdigheter, bruke mer tid på å fullføre prosjektet enn det som har høye testferdigheter.
  • Kostnad: Kostnad er prosjektet budsjett. Generelt sett betyr det hvor mye penger det tar å fullføre prosjektet.

Hvordan estimere?

Liste over estimeringsteknikker for programvaretest

  • Work Breakdown Structure
  • 3-punkts programvaretestingsestimeringsteknikk
  • Bredbånd Delphi-teknikk
  • Funksjonspunkt/testpunktanalyse
  • Bruk – Case Point Method
  • Prosentvis fordeling
  • Ad hoc metode

Estimat for testledelse

Følgende er 4-trinns prosessen for å komme frem til et estimat

Du vil lære hvordan du kombinerer disse teknikkene for å finne estimatet for Guru99 Bank case-studie.

Estimat for testledelse

Trinn 1) Del opp hele prosjektoppgaven i deloppgaver

Oppgave er et stykke arbeid som er gitt til noen. For å gjøre dette kan du bruke Work Breakdown Structure teknikk.

I denne teknikken er et komplekst prosjekt delt inn i moduler. Modulene er delt inn i undermoduler. Hver undermodul er videre delt inn i funksjonalitet. Det betyr å dele opp hele prosjektoppgaven i minste oppgaver.

Del opp hele prosjektoppgaven i deloppgaver

Bruk Work Break Down-strukturen for å dele opp Guru99 Bank-prosjektet i 5 mindre oppgaver-

Del opp hele prosjektoppgaven i deloppgaver

Etter det kan du bryte ut hver oppgave til deloppgave. Formålet med denne aktiviteten er å lage oppgave som detaljert as mulig.

Oppgave Underoppgave
Analyser programvarekravspesifikasjonen Undersøk de myke kravspesifikasjonene
Intervju med utvikleren og andre interessenter for å vite mer om nettstedet
Lag testspesifikasjonen Design testscenarier
Lag testcases
Revse og revidere testsaker
Utfør testsakene Bygg opp testmiljøet
Utfør testsakene
Revse resultater av testutførelse
Rapporter feilene
Opprett Defekt rapporter
Rapporter feilene

Trinn 2) Tildel hver oppgave til et teammedlem

I dette trinnet tildeles hver oppgave til hensiktsmessig medlem i prosjektgruppen. Du kan tildele oppgaven som følger

Oppgave medlemmer
Analyser programvarekravspesifikasjonen Alle medlemmene
Lag testspesifikasjonen Tester/testanalytiker
Bygg opp testmiljøet Test administrator
Utfør testsakene Tester, testadministrator
Meld fra om mangler tester

Trinn 3) Beregning av innsats for oppgaver

Det er 2 teknikker du kan bruke for å beregne innsatsen for oppgaver

  1. Funksjonell punktmetode
  2. Trepunkts estimering

Metode 1) Funksjonspunktmetode

I denne metoden estimerer testlederen størrelse, varighet og kostnad for oppgavene

Funksjonspunktmetode

Trinn A) Estimer størrelsen på oppgaven

In Trinn 1, har du allerede delt opp hele prosjektoppgaven i små oppgaver ved å bruke WBS-metoden. Nå anslår du størrelsen på disse oppgavene. La oss øve med en bestemt oppgave "Lag testspesifikasjonen"

Størrelsen på denne oppgaven avhenger av den funksjonelle størrelsen på systemet som testes. Den funksjonelle størrelsen gjenspeiler beløp funksjonalitet som er relevant for brukeren. Jo flere Antall av funksjonalitet, jo mer komplekse systemet er.

Før du starter faktiske estimere oppgaver innsats, funksjonelle poeng er delt inn i tre grupper som Complex, Middels Enkel som følger:

Funksjonspunktmetode

Basert på komplekset av programvarefunksjoner, må testlederen gi nok vekt til hvert funksjonspunkt. For eksempel

Gruppe Vekt
Complex 5
Medium 3
Enkelt 1

La oss ta en enkel eksempeløvelse for å bli klarere:

Ta en titt på programvarespesifikasjonen til nettstedet Guru99 Bank her., programvareingeniøren har allerede beskrevet programvaremodulene i detalj, kan du bestemme kompleksitet av nettstedets funksjoner ved å angi vekten for hver modul?

Mer kompleks funksjonspunktet, mer er innsatsen for å teste det. Nettsiden er delt inn i 12-funksjon poeng, kan du bestemme kompleksitet av hver funksjon punkter som følger-

Nei. Modulnavn Gjeldende roller Tekniske beskrivelser Vekt
1. Balanseforespørsel Leder

Kunde-

Kunde: En kunde kan ha flere bankkontoer. Han kan kun se saldoen på kontoene sine

manager: En leder kan se balansen til alle kundene som er under hans tilsyn

3
2. Overføring av midler Leder

Kunde-

Kunde: En kunde kan overføre penger fra sin "egen" konto til en hvilken som helst destinasjonskonto.

manager: En leder kan overføre midler fra en hvilken som helst kildebankkonto til destinasjonskonto

5
3. Mini erklæring Leder

Kunde-

En miniutskrift vil vise de siste 5 transaksjonene på en konto

Kunde: En kunde kan se mini-uttalelse av kun sine "egne" kontoer

manager: En administrator kan se miniuttalelse for enhver konto

3
4. Tilpasset erklæring Leder

Kunde-

En tilpasset erklæring lar deg filtrere og vise transaksjoner på en konto basert på dato, transaksjonsverdi

Kunde: En kunde kan kun se tilpasset kontoutskrift for sine "egne" kontoer

manager: En leder kan se tilpasset -uttalelse for enhver konto

5
5. Endre passord Leder

Kunde-

Kunde: En kunde kan endre passord for kun kontoen sin.

manager: En leder kan endre passordet for kun kontoen sin. Han kan ikke endre passord til kundene sine

1
6. Ny kunde Leder manager: En leder kan legge til en ny kunde.

manager: En leder kan redigere detaljer som adresse, e-post, telefon til en kunde.

3
7. Ny konto Leder Systemet tilbyr for øyeblikket 2 typer kontoer

  • Lagrer
  • Gjeldende

En kunde kan ha flere sparekontoer (en i hans navn, en annen i et felles navn osv.).

Han kan ha flere brukskontoer for forskjellige selskaper han eier.

Eller han kan ha flere bruks- og sparekontoer.

manager: En administrator kan legge til en ny konto for en eksisterende kunde.

5
8. Rediger bruker Leder manager: En administrator kan legge til en redigeringskontodetaljer for en eksisterende konto 1
9. Slett konto Leder manager: En leder kan legge til en slette en konto for en kunde. 1
10. Slett kunde Leder En kunde kan bare slettes hvis han/hun ikke har noen aktive kontoer eller sparekontoer

manager: En leder kan slette en kunde.

1
11. Innskudd Leder manager: En leder kan sette inn penger på hvilken som helst konto. Gjøres vanligvis når kontanter settes inn i en bankfilial. 3
12. Tilbaketrekking Leder manager: En leder kan ta ut penger fra hvilken som helst konto. Gjøres vanligvis når kontanter tas ut i en bankfilial. 3

TRINN B) Estimer varighet for oppgaven

Etter å ha klassifisert kompleksitet av funksjonspoengene må du estimere varighet å teste dem. Varighet betyr hvor mye tid trenger for å fullføre oppgaven.

Funksjonspunktmetode

  • Total innsats: Innsatsen for å teste alle funksjonene til nettstedet fullstendig
  • Totalt funksjonspoeng: Totalt antall moduler på nettstedet
  • Estimat definert per funksjonspunkt: Gjennomsnittlig innsats for å fullføre ett funksjonspoeng. Denne verdien avhenger av produktivitet av medlemmet som skal påta seg denne oppgaven.

Anta at prosjektteamet ditt har estimert definerte funksjonspunkter på 5 timer/poeng. Du kan anslå den totale innsatsen for å teste alle funksjonene til nettstedet Guru99 Bank som følger:

  Vekt Antall funksjonspunkter Totalt
Complex 5 3 15
Medium 3 5 15
Enkelt 1 4 4
Funksjon Totalt antall poeng 34
Estimat definerer per punkt 5
Total estimert innsats (person Hours) 170

Så den totale innsatsen for å fullføre oppgaven "Lag testspesifikasjonen" til Guru99 Bank er rundt 170 arbeidstimer

Når du forstår innsatsen som kreves, kan du tildele ressurser for å bestemme hvor lang tid oppgaven vil ta (varighet), og deretter kan du estimere arbeids- og ikke-arbeidskostnader.

Eksempelet ovenfor viser også viktigheten av medlemmet i teamet ditt. Hvis du har talentfull og erfaren medlemmer, kan du fullføre den tildelte oppgaven i liten tid, og prosjektet vil fullføres ved fristen eller tidligere.

TRINN C) Estimer kostnadene for oppgavene

Dette trinnet hjelper deg med å svare på det siste spørsmålet til kunden "Hvor mye koster det?"

Anta at teamlønnen din i gjennomsnitt er $5 per time. Tiden som kreves for oppgaven "Opprett testspesifikasjoner" er 170 timer. Følgelig er kostnaden for oppgaven 5*170 = $850. Nå kan du beregne budsjett for andre aktiviteter i WBS og komme frem til et samlet budsjett for prosjektet.

Som prosjektleder må du bestemme hvordan du skal få de fleste kommer tilbake for din bedrifts investering. Jo flere nøyaktig ditt estimat av prosjektkostnaden er bedre kan du administrere prosjektets budsjett.

Metode 2) Trepunktsvurdering

Tre-punkts estimering er en av teknikkene som kan brukes til å estimere en oppgave. Enkelheten til trepunktsestimatet gjør det til et veldig nyttig verktøy for en prosjektleder som ønsker å estimere.

I trepunkts estimering, tre verdier produseres i utgangspunktet for hver oppgave basert på tidligere erfaring or beste gjetninger som følger

Trepunkts estimering

Når man estimerer en oppgave, må testlederen oppgi tre verdier, som spesifisert ovenfor. De tre verdiene som er identifisert, anslår hva som skjer i en optimal tilstand, hva er mest sannsynlig, eller hva vi tror det ville være i verste fall scenario.

La oss se hvordan du bruker de tre verdiene ovenfor i følgende eksempel

For oppgaven "Lag testspesifikasjonen”, kan du anslå testinnsatsen? Husk at du må dekke alt modulene til Guru99 Bank-nettstedet som gjort i Funksjonspunktmetode

Du kan anslå som følgende

  • Ocuco Beste tilfelle å fullføre denne oppgaven er 120 arbeidstimer (rundt 15 dager). I dette tilfellet har du et dyktig team, de kan fullføre oppgaven på kortest mulig tid.
  • Ocuco mest sannsynlig sak for å fullføre denne oppgaven er 170 arbeidstimer (rundt 21 dager). Dette er et normalt tilfelle, du har nok ressurser og evne til å fullføre oppgaven
  • Ocuco i verste fall å fullføre denne oppgaven er 200 arbeidstimer (rundt 25 dager). Du må utføre mye mer arbeid fordi teammedlemmene dine ikke er erfarne.

Tilordne nå verdien til hver parameter som nedenfor

Trepunkts estimering

Innsatsen for å fullføre oppgaven kan beregnes ved hjelp av dobbelt-trekant fordeling formel som følger-

Trepunkts estimering

I formelen ovenfor er parameter E kjent som Vektet gjennomsnitt. Det er estimeringen av oppgaven "Opprett testspesifikasjonen".

Men sjefen din kan spørre deg

Trepunkts estimering

I estimatet ovenfor bestemmer du bare en mulig og ikke en viss verdi, må vi vite om sannsynlighet at anslaget er riktig. Du kan bruke den andre formelen:

Trepunkts estimering

I formelen ovenfor, SD-gjennomsnittet standardavvik, kan denne verdien gi deg informasjon om sannsynlighet at anslaget er riktig.

Nå kan du konkludere estimatet for oppgaven "Opprett testspesifikasjonen"

For å fullføre oppgaven "Opprett testspesifikasjonen" til Guru99 Bank-nettstedet, trenger du 166.6 ± 13.33 Arbeidstimer (153.33 til 179.99 arbeidstimer)

Trinn 4) Valider estimatet

Når du har opprettet et samlet estimat for alle oppgavene nevnt i WBS, må du videresende det til ledelsen, hvem vil anmeldelse og godkjenne det.

Bekreft estimatet

Styremedlemmet kan bestå av administrerende direktør, prosjektleder og andre interessenter.

Styret vil gjennomgå og diskutere estimeringsplanen din med deg. Du kan forklare dem din vurdering logisk og rimelig slik at de kan godkjenne estimeringsplanen din.

Beste praksis for testberegning

Dette emnet introduserer generelle tips om hvordan du estimerer testnøyaktigheten.

Legg til litt buffertid:

Mange uforutsigbare ting kan skje med prosjektet ditt, for eksempel at et talentfullt teammedlem slutter i jobben plutselig, testingen tar mer tid enn beregnet å fullføre... osv. Derfor må du inkludere en viss buffer i estimeringen din. Å ha en buffer i estimeringen gjør det mulig å takle eventuelle forsinkelser som kan oppstå.

Kontoressursplanlegging i estimering

Hva bør du gjøre hvis noen medlemmer i teamet ditt tar lange permisjoner? Det kan forsinke prosjektet. Ressursplanlegging i estimering spiller en nøkkelrolle. Tilgjengeligheten av ressurser vil bidra til å sikre at estimatene er realistiske. Her må du vurdere bladene til teammedlemmet ditt, vanligvis lange blader.

Bruk tidligere erfaring som referanse

Erfaringer fra tidligere prosjekter spiller en viktig rolle under utarbeidelsen av tidsestimatene. Fordi noen prosjekter kan ha en viss likhet, kan du gjenbruke tidligere estimat. For eksempel, hvis du bruker å gjøre et prosjekt som å teste et nettsted, kan du lære av den erfaringen, prøve å unngå alle vanskelighetene eller problemene som ble møtt i tidligere prosjekter.

Hold deg til din vurdering

Estimat er bare estimat fordi det kan gå Feil.I tidlige stadier av prosjektet bør du ofte sjekk testberegningene på nytt og foreta endringer om nødvendig. Vi bør ikke utvide estimeringen etter at vi har fikset den, med mindre det er store endringer i kravet, eller du må forhandle med kunden om revurderingen

Software Test Estimation Mal

Last ned Software Test Estimation Excel(.xlsx)

Andre teknikker

Wideband Delphi Technique, Use – Case Point Method, Prosentfordeling, Ad-hoc-metoden er andre estimeringsteknikker innen programvareteknikk.

Software Test Estimation Techniques Video

Klikk her. hvis videoen ikke er tilgjengelig

Videoutskrift

  • La oss gjøre en øvelse -for Søknad om flyreservasjon utarbeide en arbeidssammenbruddsstruktur for
  • forskjellige testoppgaver som – Sjekk påloggingsfunksjonalitet, Sjekk ny ordrefunksjonalitet, Sjekk faksfunksjonalitet og annen lignende funksjonalitet og estimer innsatsen som kreves for å teste disse funksjonene
  • For eksempel kan innloggingsfunksjonalitet testes på 2 timer. Lag også en liste over alle oppgavene og tilsvarende innsats. Sett opplæringen på pause og fullfør øvelsen. Jeg håper du gjorde en utdannet gjetning om innsatsen som kreves
  • Dette er Bottom-Up-strategi for testestimering. Teknikken kalles nedenfra og opp siden du estimerer varigheten, avhengighetene og ressursene basert på oppgavene som er på det laveste nivået i arbeidsnedbrytningshierarkiet.
  • I bottom-up-strategien er estimater ikke tatt av en enkelt person, men alle interessenter, individuelle bidragsytere, eksperter og erfarne medarbeidere samlet. Ideen er å trekke på samarbeidsvisdommen til teammedlemmene for å komme frem til nøyaktige testestimater
  • Nå siden du har betydelig erfaring med flyreservasjonssystemet. Bruk denne erfaringen til å anslå innsatsen som kreves for full Funksjonell testing av nettstedet. – http://newtours.demoaut.com/
  • Denne sidens funksjon er identisk med Flight Reservation Application , bare at den er nettbasert. Sett veiledningen på pause og gjør øvelsen nå
  • Jeg håper basert på din erfaring at du gjorde et godt estimat på innsatsen som kreves for å teste nettstedet
    • Dette er Top-down-tilnærmingen til estimering som er basert på erfaring.
    • En annen teknikk er å klassifisere prosjekt basert på deres størrelse og kompleksitet og deretter se hvor lang tid et prosjekt av en bestemt størrelse og kompleksitet har tatt tidligere.
    • En annen tilnærming er å fastsette Gjennomsnittlig innsats pr Testsak tidligere for lignende prosjekter og deretter bruke estimerte testtilfeller av det nåværende prosjektet og komme frem til total innsats
    • Mer sofistikerte estimeringsmodeller involverer komplekse matematiske modeller. I praksis bruker flertallet av prosjektene ovenfra-ned-tilnærming for estimering.
    • Testestimater kan påvirkes av mange faktorer som tidspress, personfaktorer, geografisk fordeling av testteamet og så videre

Oppsummer dette innlegget med: