Många drömmer om att ha snabba, billiga och effektiva tester. Något som man ”bara kör igång” när koden är klar och som spottar ur sig ett resultat och ett svar på hur mjukvaran mår. Man söker efter det som kallas automatiserade tester.
Ordet ”automatiserat” är vilseledande. Vi kan inte automatisera människor – vi är för komplexa för det. Vi kan möjligen automatisera kontroll av det som ett system genererar om alla krav är uppfyllda, men testare gör så mycket mer än så.
Testning är i grunden ett intellektuellt och kreativt arbete, men automatisering tvingar människor att tänka som maskiner. Testare jobbar med att skapa ordning i oredan, bidrar med kritiskt tänkande, experimenterar och utforskar. Inget av detta kan vi få en maskin att göra åt oss. Det som den mänskliga testaren gör är så pass komplext att det många gånger är svårt att beskriva i ord. Därmed är det också svårt att skriva kod för det, och i förlängningen, omöjligt att automatisera.
Även en testare med lite erfarenhet kan göra mycket mer än bara följa ett givet protokoll och observera det svar som systemen generar.
En smart testare använder sig av verktyg för att automatisera vissa repetitiva mönster, men överlåter inte ansvaret att bedöma rätt eller fel till en maskin. Vi ska inte tro att hjälpmedel är dåliga, tvärt om. Använd hjälpmedel – men låt dem inte ta över. För de är just hjälpmedel, inte testare.
Så varför vill så många automatisera test? I grunden handlar det om en felaktig bild av vad en testare gör. Man tror att vem som helst kan göra en testares arbete och att det inte kräver någon kunskap eller bedömningsförmåga. Bra testning handlar i grunden om att utforska och experimentera med en produkt och lära sig om den. Vi vet ju inte i förväg var buggarna kommer att finnas, därför krävs det att vi utforskar och utför experiment med mjukvaran. Att kontrollera det som systemet generar och att alla kraven är uppfyllda – det vi kallar för checkning – är i grund och botten bra. Men att bara utföra checkning räcker inte för att säga att man har testat.
Vår målsättning som testare måste vara att leta fel och brister, inte att verifiera avsaknaden av fel. Om vi bara visar på avsaknaden av fel, exempelvis genom automatiserad checkning, så kommer vi vara blinda för hur vårt system faktiskt fungerar. Tänk på att man kan utföra testning utan automatiserad checkning – men inte tvärt om.
Vill du veta mer om Test & Quality Management? Tveka inte att kontakta oss!