Denna handledning introducerar de sju grundläggande programvarutestningsprinciperna som alla programvarutestare och kvalificerade yrkesutövare borde veta.
7 Principer för programvarutestning
- Testning visar närvaron av defekter
- Uttömmande testning är inte möjligt
- Tidig testning
- Defektkluster
- Bekämpningsmedelsparadox
- Testning är sammanhangsberoende
- Frånvaro av fel misstag
Låt oss lära oss testprinciperna med följande videoexempel-
Klicka här om videon inte är tillgänglig
Bakgrund
Det är viktigt att du uppnår optimala testresultat medan du utför programvarutestning utan att avvika från målet. Men hur bestämmer du att du följer rätt strategi för testning? För det måste du hålla dig till några grundläggande testprinciper. Här är de vanliga sju testprinciperna som är allmänt praktiserade i mjukvaruindustrin.
För att förstå detta, överväg ett scenario där du flyttar en fil från mapp A till mapp B.
Tänk på alla möjliga sätt att testa detta på.
Förutom de vanliga scenarierna kan du också testa följande villkor
- Försöker flytta filen när den är öppen
- Du har inte säkerhetsrättigheter för att klistra in filen i mapp B.
- Mapp B finns på en delad enhet och lagringskapaciteten är full.
- Mapp B har redan en fil med samma namn, faktiskt är listan oändlig
- Eller antar att du har 15 inmatningsfält att testa, var och en har 5 möjliga värden, antalet kombinationer som ska testas skulle vara 5 15
Om du skulle testa hela möjliga kombinationer skulle projektet TID & KOSTNADER stiga exponentiellt. Vi behöver vissa principer och strategier för att optimera testinsatsen
Här är de 7 principerna:
1) Uttömmande testning är inte möjlig
ja! Uttömmande testning är inte möjligt. Istället behöver vi den optimala mängden testning baserat på riskbedömningen av applikationen.
Och miljonfrågan är, hur bestämmer du denna risk?
För att svara på detta, låt oss göra en övning
Enligt din åsikt, Vilken åtgärd är mest sannolikt att ditt operativsystem misslyckas?
Jag är säker på att de flesta av er skulle ha gissat att man öppnade 10 olika applikationer samtidigt.
Så om du testade detta operativsystem skulle du inse att defekter sannolikt kommer att hittas i multitasking-aktivitet och måste testas noggrant vilket leder oss till vår nästa princip Defektklustering
2) Defektkluster
Defect Clustering som anger att ett litet antal moduler innehåller de flesta av de upptäckta defekterna. Detta är tillämpningen av Pareto-principen på programvarutestning: cirka 80% av problemen finns i 20% av modulerna.
Genom erfarenhet kan du identifiera sådana riskabla moduler. Men detta tillvägagångssätt har sina egna problem
Om samma tester upprepas om och om igen, så småningom kommer samma testfall inte längre att hitta nya buggar.
3) Bekämpningsmedelsparadox
Upprepad användning av samma bekämpningsmedelsblandning för att utrota insekter under jordbruket kommer med tiden att leda till att insekterna utvecklar resistens mot bekämpningsmedlet. Därmed ineffektiva bekämpningsmedel på insekter. Detsamma gäller för programvarutestning. Om samma uppsättning repetitiva tester genomförs är metoden värdelös för att upptäcka nya defekter.
För att övervinna detta måste testfallet regelbundet granskas och revideras, och nya och olika testfall läggs till för att hitta fler defekter.
Testare kan inte bara vara beroende av befintliga testtekniker. Han måste ständigt se upp för att förbättra de befintliga metoderna för att göra testningen mer effektiv. Men även efter allt detta svett och hårt arbete med att testa kan du aldrig hävda att din produkt är felfri. För att köra hem denna punkt, låt oss se den här videon om den offentliga lanseringen av Windows 98
Du tror att ett företag som MICROSOFT inte skulle ha testat sitt operativsystem noggrant och riskerar deras rykte bara för att se deras operativsystem krascha under sin offentliga lansering!
4) Test visar närvaron av defekter
Därför säger testprincipen att - Testning talar om närvaron av defekter och pratar inte om frånvaron av defekter. dvs Programvarutestning minskar sannolikheten för att oupptäckta fel kvarstår i programvaran men även om inga fel upptäcks är det inte ett bevis på korrekthet.
Men vad händer om du arbetar extra hårt, tar alla försiktighetsåtgärder och gör din programvaruprodukt 99% buggfri. Och programvaran uppfyller inte kundernas behov och krav.
Detta leder oss till vår nästa princip, som säger att - Frånvaro av fel
5) Frånvaro av fel - fel
Det är möjligt att programvara som är 99% felfri fortfarande är oanvändbar. Detta kan vara fallet om systemet testas grundligt för fel krav. Programvarutestning är inte bara att hitta fel, utan också att kontrollera att programvara tillgodoser företagets behov. Frånvaron av fel är en felaktighet, dvs att hitta och åtgärda defekter hjälper inte om systembyggnaden är oanvändbar och inte uppfyller användarens behov och krav.
För att lösa detta problem, säger nästa princip för testning att Early Testing
6) Tidig testning
Tidig testning - Testning bör börja så tidigt som möjligt under programvaruutvecklingens livscykel. Så att eventuella defekter i kraven eller designfasen fångas upp i tidiga skeden. Det är mycket billigare att fixa en defekt i de tidiga stadierna av testningen. Men hur tidigt bör man börja testa? Det rekommenderas att du börjar hitta felet i det ögonblick som kraven definieras. Mer om denna princip i en senare utbildning.
7) Test är sammanhangsberoende
Testning är sammanhangsberoende vilket i princip innebär att sättet du testar en e-handelswebbplats kommer att skilja sig från det sätt du testar en reklam från hyllans applikation. Alla utvecklade programvaror är inte identiska. Du kan använda en annan metod, metoder, tekniker och typer av test beroende på applikationstyp. Till exempel testning kommer alla kassasystem i en butik att skilja sig från att testa en bankomat.
Myt: "Principer är bara för referens. Jag kommer inte använda dem i praktiken."
Detta är så väldigt osant. Testprinciper hjälper dig att skapa en effektiv teststrategi och utkast till testfall.
Men att lära sig testprinciper är precis som att lära sig att köra för första gången.
Inledningsvis, medan du lär dig att köra, är du uppmärksam på allt som växling, hastighet, kopplingshantering etc. Men med erfarenhet fokuserar du bara på att köra resten kommer naturligt. Så att du till och med håller konversationer med andra passagerare i bilen.
Samma gäller för testprinciper. Erfarna testare har internaliserat dessa principer till en nivå att de tillämpar dem även utan att tänka. Därför är myten att principerna inte används i praktiken helt enkelt inte sant.