7 Principper for softwaretest: Lær med eksempler

Denne vejledning introducerer de syv grundlæggende softwaretestprincipper, som enhver softwaretester og kvalitetssikring skal kende.

7 Principper for softwaretest

  • Test viser tilstedeværelsen af ​​mangler
  • Udtømmende test er ikke mulig
  • Tidlig test
  • Fejlklyngedannelse
  • Pesticid paradoks
  • Test er kontekstafhængig
  • Fravær af fejlfejl

Lad os lære testprincipperne med følgende videoeksempel-

Klik her, hvis videoen ikke er tilgængelig

Baggrund

Det er vigtigt, at du opnår optimale testresultater, mens du udfører softwaretest uden at afvige fra målet. Men hvordan bestemmer du, at du følger den rigtige strategi til testning? Til det skal du holde dig til nogle grundlæggende testprincipper. Her er de syv almindelige testprincipper, der er bredt praktiseret i softwareindustrien.

For at forstå dette skal du overveje et scenarie, hvor du flytter en fil fra mappe A til mappe B.

Tænk på alle de mulige måder, du kan teste dette på.

Bortset fra de sædvanlige scenarier kan du også teste følgende betingelser

  • Forsøger at flytte filen, når den er åben
  • Du har ikke sikkerhedsrettighederne til at indsætte filen i Mappe B.
  • Mappe B er på et delt drev, og lagerkapaciteten er fuld.
  • Mappe B har allerede en fil med samme navn, faktisk er listen uendelig
  • Eller antag, at du har 15 indtastningsfelter til test, der hver har 5 mulige værdier, antallet af kombinationer, der skal testes, er 5 15

Hvis du skulle teste hele mulige kombinationer, stiger projektet EXECUTION TIME & COSTS eksponentially. Vi har brug for visse principper og strategier for at optimere testindsatsen

Her er de 7 principper:

1) Udtømmende test er ikke mulig

Ja! Udtømmende test er ikke mulig. I stedet har vi brug for den optimale testmængde baseret på risikovurderingen af ​​applikationen.

Og spørgsmålet om million dollar er, hvordan bestemmer du denne risiko?

For at besvare dette, lad os lave en øvelse

Efter din mening, Hvilken operation vil sandsynligvis få dit operativsystem til at mislykkes?

Jeg er sikker på, at de fleste af jer ville have gættet ved at åbne 10 forskellige applikationer på samme tid.

Så hvis du testede dette operativsystem, ville du indse, at mangler sandsynligvis vil blive fundet i multitasking-aktivitet og skal testes grundigt, hvilket bringer os til vores næste princip Fejlklyngning

2) Fejlklyngedannelse

Defect Clustering, der angiver, at et lille antal moduler indeholder de fleste af de registrerede defekter. Dette er anvendelsen af ​​Pareto-princippet til softwaretest: ca. 80% af problemerne findes i 20% af modulerne.

Efter erfaring kan du identificere sådanne risikable moduler. Men denne tilgang har sine egne problemer

Hvis de samme tests gentages igen og igen, vil de samme test tilfælde ikke længere finde nye bugs.

3) Pesticidparadoks

Gentagen brug af den samme pesticidblanding til udryddelse af insekter under opdræt vil med tiden føre til, at insekterne udvikler resistens over for pesticidet Dermed ineffektivt for pesticider på insekter. Det samme gælder for softwaretest. Hvis det samme sæt gentagne tests udføres, vil metoden være ubrugelig til at opdage nye defekter.

For at overvinde dette skal testsagerne regelmæssigt gennemgås og revideres og tilføjes nye og forskellige testsager for at hjælpe med at finde flere mangler.

Testere kan ikke bare stole på eksisterende testteknikker. Han skal løbende se ud for at forbedre de eksisterende metoder for at gøre testning mere effektiv. Men selv efter al denne sved og hårdt arbejde med testning kan du aldrig hævde, at dit produkt er fejlfrit. For at køre hjem dette punkt, lad os se denne video af den offentlige lancering af Windows 98

Du tror, ​​at en virksomhed som MICROSOFT ikke ville have testet deres operativsystem grundigt og ville risikere deres omdømme bare for at se deres operativsystem gå ned under dets offentlige lancering!

4) Test viser tilstedeværelse af mangler

Derfor siger testprincippet, at - Test taler om tilstedeværelsen af ​​mangler og tal ikke om fraværet af mangler. dvs. softwaretest reducerer sandsynligheden for, at uopdagede mangler forbliver i softwaren, men selvom der ikke findes fejl, er det ikke et bevis for korrekthed.

Men hvad nu hvis du arbejder ekstra hårdt og tager alle forholdsregler og gør dit softwareprodukt 99% fejlfrit. Og softwaren opfylder ikke kundernes behov og krav.

Dette fører os til vores næste princip, der siger, at - fravær af fejl

5) Fravær af fejl - fejlslutning

Det er muligt, at software, der er 99% fejlfri, stadig er ubrugelig. Dette kan være tilfældet, hvis systemet testes grundigt for det forkerte krav. Softwaretestning er ikke blot at finde mangler, men også at kontrollere, om software imødekommer forretningsbehovet. Fraværet af fejl er en fejltagelse, dvs. at finde og rette mangler ikke hjælper, hvis systembygningen er ubrugelig og ikke opfylder brugerens behov og krav.

For at løse dette problem siger det næste testprincip, at Early Testing

6) Tidlig test

Tidlig testning - Testning skal starte så tidligt som muligt i softwareudviklingens livscyklus. Så alle fejl i kravene eller designfasen fanges i tidlige faser. Det er meget billigere at rette en defekt i de tidlige stadier af testningen. Men hvor tidligt skal man begynde at teste? Det anbefales, at du begynder at finde fejlen, i det øjeblik kravene defineres. Mere om dette princip i en senere træningsvejledning.

7) Test er kontekstafhængig

Test er kontekstafhængig, hvilket grundlæggende betyder, at den måde, du tester et e-handelswebsted på, vil være forskellig fra den måde, du tester en reklame på hyldeanvendelsen. Al den udviklede software er ikke identisk. Du bruger muligvis en anden tilgang, metoder, teknikker og typer af test afhængigt af applikationstypen. For eksempel test vil ethvert POS-system i en detailbutik være anderledes end at teste en pengeautomat.

Myte: "Principper er kun til reference. Jeg vil ikke bruge dem i praksis."

Dette er så meget usant. Testprincipper hjælper dig med at oprette en effektiv teststrategi og udkast til fejlfangst i testsager.

Men læringstestprincipper er ligesom at lære at køre for første gang.

Oprindeligt, mens du lærer at køre, skal du være opmærksom på alt som gearskift, hastighed, koblingshåndtering osv. Men med erfaring fokuserer du bare på at køre resten kommer naturligt. Sådan at du endda holder samtaler med andre passagerer i bilen.

Det samme gælder for testprincipper. Erfarne testere har internaliseret disse principper til et niveau, hvor de anvender dem selv uden at tænke. Derfor er myten om, at principperne ikke anvendes i praksis, simpelthen ikke sand.

Interessante artikler...