Är manuella tester stenåldern, eller?

Automatiserade tester gör framsteg inom många branscher, inte minst inom mjukvaruutveckling. Team ägnar mycket tid åt att utforska och automatisera majoriteten av sina tester för att säkerställa att de utförs effektivt och för att frigöra tid åt andra aktiviteter. Med alla dessa fördelar, ställer sig många frågan: Är manuell testning fortfarande nödvändigt? Det rungande svaret är JA. Testautomatisering är en stor tillgång, men det finns fortfarande mängder av områden där manuell testning är bäst lämpad att användas.



Manuell testning är ett snabbt sätt att utvärdera en produkt samtidigt som den ger testaren chansen att stifta bekantskap med de funktioner som skall verifieras och kvalitetssäkras under utvecklingsprocessen. Manuell testning i sig är en form av utforskande testning, vilket gör att testaren med tiden förutom att lära dig mer om själva testobjektet, även förstår svagheter och kan identifiera riskområden som eventuellt behöver täckas med fler testfall.

Automatiserade tester kan exempelvis inte exakt tyda en app eller funktion från en användares perspektiv eftersom den enbart består av förinställda villkor. Mänskliga testare klarar däremot av att titta på helhetsbilden, bedöma om en användare kommer att ha en positiv eller negativ upplevelse av appen eller funktionen. Detta inkluderar det estetiska utseendet, användbarhet och funktionalitet. När defekter inte hittats av automatiska tester, så betyder det inte att allt fungerar som förväntat. Om till exempel en app saknar vissa funktioner som användarna behöver för att slutföra sina uppdrag, så är risken att användarna överger appen för en annan som har just önskade funktionerna. Manuell testning kan enkelt upptäcka dessa typer av avvikelser och eliminera dem före release.

Här är några exempel på områden där manuella tester är mest lämpade:

  • Automatiserade testverktyg klarar inte av att bedöma färg, typsnitt eller bildstorlek. Det går inte heller att testa användarupplevelse samt användargränssnitt (GUI) med automatiserad testning.

  • Under utvecklingsfasen är det vanligt att akuta situationer uppstår på grund av kravändringar eller problem som kräver snabba förändringar i funktionalitet eller beteende i modulen. I dessa fall spelar tiden för rättningsverifieringen och snabb feedback en mycket viktig roll. Automatiska tester tar mer tid att ställa om, eftersom testare först måste skapa testfall, programmera till det automatiserade verktyget, och sedan köra testerna. Det kan vara mer tidskrävande att bibehålla och ändra automatiserade skript än att utföra testerna manuellt. Manuell testning i dessa fall innebär snabbare testning och resultat.

  • Manuell testning är det enda alternativet under det inledande skedet av produktutvecklingen. Det är först när produkten är stabil och i regressionsfas som automatiserade tester kommer till sin rätt. Automatiserade tester i en fas med många förändringar tenderar att orsaka onödiga kostnader i både tid och resurser, eftersom det krävs extra arbete för att anpassa testprogrammen efter förändringarna. Dessutom har det observerats att de flesta ”bra och viktiga” defekter oftast hittas via manuella tester (dvs utforskande tester). Testautomatisering kan inte ersätta en erfaren och domänkunnig testare när det kommer till att hitta viktiga produktbuggar.

  • ”Negativa” tester (Negative testing) kan göras mer rigoröst via manuell testning.

  • Ad-hoc tester kan inte utföras av automatiska tester.

  • När ett enskilt testfall tillhörande en automatiserad testsvit få ett ”negativ” resultat så stoppas hela testsvitet på grund av resultatet. I en manuell testsvit så kan testaren ofta hitta ett sätt att kringgå felet (en ”workaround”) och testa vidare. Det vill säga - det är mer flexibilitet i manuell testning.


Manuell testning är alltså fortfarande viktig inom flera områden. Kan det då gå hand i hand med automatiserad testning? Absolut, men det resonemanget får vi ta en annan gång.

















Chithanh Mach, 
Test Engineer på System Verification

2 kommentarer

Detta är en tänkvärd och välskriven artikel, vars huvudämne jag tror, förutom författaren även andra inom test-branschen någon gång har funderat över.

Svara

Är testfallen beroende av varandra så är risken stor att exekveringen av testsviten stoppas vid negativ resultat. Man ska försöka så gott det går få bort beroendet mellan testfallen. Jag tycker att man sparar väldigt mycket tid vid automatisering av regressionstestfallen. Det är en stor engångskostnad men det lönar sig i längden. Man får även mer tid till att testa manuellt de mest känsliga områden i systemet.

Svara

Skicka en kommentar

Trevligt att du vill dela med dig av dina åsikter! Tänk på att hålla på "Netiketten" och använda vårdat språk.