Blogg - Återanvändning

https://commons.wikimedia.org/wiki/File:Godin_van_de_Wind_4_Nieuwpoort.jpg

Å: Återanvändning

Av Charlotta Carlsson 2020-06-28


Återanvändning och test är väl egentligen varandras motpoler. Jag återkommer till varför.


Det finns ett undantag: regressionstest. (Det är när man testar att allt det gamla som tidigare fungerade fortfarande fungerar efter att man gjort nya tillägg och ändringar i systemet.) Det är t.ex vanligt med automatiserade checkar på komponenttestnivå i samband med nya byggen av kod. Speciellt nödvändigt är detta i en continuous delivery miljö. Då återanvänds såklart de testfall som man programmerat. Även i en av människor utförd regressionstest på acceptanstestnivå, vilket kan behövas vid nya större releaser, har man förmodligen stor nytta av att återanvända gamla testfall. Om man är säker på att dessa är aktuella fortfarande, vill säga. Annars riskerar man lägga massa tid på att analysera förmodade fel som inte är fel.


Hur är det då med övriga tester, kan man inte återanvända testplaner och testfall i fler situationer? Jo visst, men aldrig rakt av! Dels är varje testsituation är unik: Det du ska testa är ofta nytt (då begriper nog iofs alla att det behövs nya testfall), men åtminstone har något ändrats. Varför skulle du annars testa (ber om ursäkt om jag slår in öppna dörrar)? Men framför allt: för att testarbetet ska vara meningsfullt krävs ett intellektuellt arbete där test utmanar krav och produkt. Förberedelserna för acceptanstesten är därför minst halva testarbetet. Förhoppningsvis börjar det arbetet parallellt med kravarbetet och utvecklingen, och de testidéer som då tas fram hjälper till att hitta missförstånd och att därmed förebygga fel på acceptansnivån. 


Även om testunderlaget tagits fram för den specifika situationen så är det färskvara. Ändringar i krav och produkt sker hela tiden och då behöver du se över såväl teststeg som testdata, för att inte tala om testplaner och -strategier. Testvara som är tänkt att återanvändas behöver förvaltas.


Med det sagt, här är några sätt att återanvända testvara på ett klokt sätt:


  • Du som testare kan basera ett nytt testfall på ett befintligt där du eller någon annan hade en bra struktur, precis som en systemutvecklare i princip alltid bygger sin kod på att återanvända tidigare moduler som man modifierar. 


  • Du har en testfallsbank som återspeglar (de tidigare) systemomfattningen och verksamhetens processer vilket ger överblick över testområdena på ett bra sätt vid nästa testtillfälle.


  • Du som testledare hade en tidigare testplan som fungerade bra som arbetsdokument den gången för alla detaljer som behöver fungera för att göra testerna så effektiva som möjligt. Utgå ifrån den när du tar fra nästa testplan, för att se till att inget faller mellan stolarna eller glöms bort i form av testmiljöbehov, testdatafrågor, bemanning, ansvar, kommunikationsplan, risker, m.m. 


  • I ett tidigare testschema, testdesign eller vad du kallar ditt översiktliga dokumenterade testupplägg, kan det finnas tidigare bra tankar om beroenden mellan testområden och vilka områden som ska prioriteras utifrån (dåvarande) risker. 


  • I organisationen finns olika grupperingar som har behov av liknande tester, t.ex. för inloggning. Återanvänd varandras testfall inom dessa områden och fokusera istället på det som är unikt för just din grupp.


  • Om det är möjligt att samarbeta mellan organisationer som använder samma system kan återanvändning av testfall vara en möjlighet till erfarenhetsutbyte.


I alla dessa situationer är det inte bara att plocka fram testfall eller dokument ur byrålådan och tro att de fungerar igen. Det behövs alltid en genomgång utifrån den nya testsituationen. Räkna med att minst 50% av det förberedande testarbetet är ogjort även om det finns testvara att återanvända. Procenttalet ökar om det är länge sedan det senast användes - och förstås om den nya testen gäller helt nya saker.


Slutsats för bokstaven Å:  Återanvändning av testfall och planer kan vara möjligt men de måste anpassas till varje ny testsituation.