Throw away scripts

En form av testautomatisering är att använda slit-och-släng skript. Dessa skript går fort att skapa, har en kort levnadstid och är specificerade på en uppgift. Ett exempel på ett slit-och-släng-skript skapade jag idag med hjälp av Selenium IDE, ett mycket lättanvänt spela in och spela upp verktyg för webbtester.

Bakgrunden till skriptet är en felrapport som hävdade att det ibland, det magiska ordet, inte visades all data på en webbsida. Användaren uppdaterade sidan och då försvann plötsligt data. Mycket imponerande att det noterades men jag tänker mig att det var en slump; just det datat som skulle verifieras efter förändring i den bakomliggande databasen saknades plötsligt på sidan. Felsökning visade att det ändå visades ibland och här skapades felrapporten.

Här kommer jag in för att återskapa felet i andra miljöer, hur gör man det?Hur hittar man något i en stor datamängd som man inte har något intresse i?

Jag har tidigare skrivit om blinktest och det skulle kunna fungera, om det inte hade varit så att sidan måste scrollas för att visa datat man vill hålla ögonen på, vilket omöjliggör snabba växlingar.

Så jag resonerade lite;

Det är svårt för en människa att komma ihåg exakt större mängder data, det är jättelätt för en maskin att komma ihåg enorma mängder data exakt. Man kan skapa sig en bild av hur det ska se ut och sedan jämför med den, men för en människa tar det tid att skriva av information och sedan att verifiera att det är exakt samma hela tiden. Dessutom är det lätt för en människa att tappa fokus och därmed missa att felet faktiskt fanns där. Och handen på hjärtat, hur kul är det att sitta och stirra på en sida som uppdateras men visar exakt samma information?

Vad gör man? Jo, man skapar ett litet skript som läser all intressant text på sidan, verifierar att allt som ska finnas finns, uppdaterar den sidan och läser igen, oändligt antal gånger om man vill! Exakt, outtröttligt och good enough.

2 minuter tog det att skapa skriptet, det körde 90 uppdateringar och förmodligen kommer jag aldrig använda det igen.

Det är effektiv automatisering i slit-och-släng-tappning!