https://commons.wikimedia.org/wiki/File:Godin_van_de_Wind_4_Nieuwpoort.jpg
D: Data - ditt allt!
Av Charlotta Carlsson 2020-07-03
På alla testnivåer är testdata A och O. Eller varför inte A till Ö... Det hade funnits tillräckligt att skriva om i ett helt alfabet om bara testdata. Nu får det blygsamma 1 inlägg av mina 28. Men det är kanske det allra viktigaste av dem.
Låt mig göra följande enkla definition: Testdata är de data du stoppar IN i testmiljön antingen (1) innan du testar eller (2) när du testar. Testdata är inte att förväxla med testresultat. En rapport, ett beräknat värde eller en fil som kommer UT ur systemet när du testar är alltså inte testdata utan ett testresultat.
Det kan vara bra att i testplaneringen identifiera olika komponenter av testdatat för att kunna förbereda de olika delarna på lämpligt sätt. Vissa komponenter förväntas någon alltså lägga in i testmiljön innan testerna (1). Andra hör till enskilda testfall (2).
Några typiska komponenter kan vara:
För alla dessa fall av testdata förväntar sig acceptanstestare att de representerar verkligheten, samt vad gäller grunddata och konfigurationer att det är exakt vad som sedan ska driftsättas. Annars kan de inte känna sig trygga med testresultatet. Det här tycker jag är en avgörande skillnad mellan systemtest och acceptanstest (det finns förstås flera): Representationen av mottagande verksamhet i form av deras verkliga och kompletta data är grundläggande i acceptanstest, medan i systemtest handlar det mer om att använda specifika smarta varianter av testdata för att hitta buggar.
Jag menar så här: I en systemtest går det utmärkt att använda Kalle Anka som normalfall för ett namnfält. Inte i acceptanstest (såvida systemet inte handlar om serietidningar...). Det spelar ingen roll om buggar hittas lika bra med hjälp av testdatat Kalle Anka. I acceptanstest handlar det nämligen inte (borde det i varje fall inte göra) om att leta buggar. Det handlar om att se hur systemet effektiviserar användarnas kommande vardag, att systemet blir trovärdigt, och när testarna förstår datat så testar de också effektivt och korrekt. Testdata i acceptanstest ska därför vara så produktionslikt som möjligt.
Om möjligt: använd en kopia av din produktionsdatabas (som i många fall behöver avpersonifieras - tänk "GDPR"). Det ger, förutom trovärdigheten, en automatisk testtäckning av verksamhetens/kundens olika fall som, i varje fall i nuläget, kan förkomma i verksamheten (tänk t.ex. "hur långa efternamn kan förekomma i kundregistret?").
Men att använda produktionsdata är för den delen inte så enkelt som det verkar vid första anblicken:
Inte nog med det, här är några fler aspekter av testdata som jag direkt kommer på. Listan är naturligtvis inte komplett och varierar kraftigt utifrån kontext:
Med irrelevanta testdata kommer testresultatet antagligen att vara missvisande. Undvik att behöva lägga tid på att tolka felaktiga testresultat och kanske att behöva göra om testerna, lägg lite möda på testdatafrågorna i testplaneringen istället.
Slutsats för bokstaven D: I acceptanstest ska testdata representera den kompletta verkligheten.
© Copyright 2022. All Rights Reserved.