Automatiserad testning

”Framtiden inom testautomatisering handlar inte så mycket om ny teknik utan mer om att tänka praktiskt inför teknikvalen. Testautomatisering och test har en vital plats i hela Continuous processen och därför är det en väl värd investering”

Risker med automatiserad testning

  • Orealistiska förväntningar
  • Man underskattar kostnad och arbetsinsats för att introducera verktyget
  • Man underskattar arbetsinsats för att underhålla tester
  • Man har en övertro till testautomatiseringsramverket
  • Att automatisera felaktiga testfall resulterar bara i att man fortsätter göra fel, fast bara fortare
  • Testerna och ramverket behöver utvecklas i takt med att produkten man testar utvecklas
  • En övertro till testsystemet gör att man glömmer bort mänsklig kreativitet och därför minskar ned på manuella tester så att man släpper igenom fler defekter

Möjligheterna då? Vad anses som positivt?

  • Automatiserade tester som körs ofta tjänar snabbare in investerad tid
  • En bra idé är att automatisera tester i rätt ordning –och inte ha som mål att automatisera allt
  • Väl på plats krävs liten insats och hög effektivitet på automatiserad testning
  • I vissa fall kan hela releasecykeln snabbas upp
  • Det är spännande och utmanande att jobba med automatisering
  • Agila utvecklingsmodeller kan ha en snabbt växande lista med regressionstester som det kan bli orealistiskt att testa manuellt på ett tillfredsställande sätt

Hur ska man automatisera?

Det beror på vad vi testar och vad som är syftet testerna. Vilka intilliggande system som vi ska simulera? Hur vi ska hantera testdata? Ofta finns det ett behov av att använda samma testdata varje gång testet exekveras. Då kan man behöva sätta upp en virtuell miljö med bestämd databas innan testet körs igång. Om man inte simulerar intilliggande system utan kör mot systemen i deras testmiljö kan man få problem med att testdata inte stämmer överens. Därför kan det vara bättre att simulera omgivningen så att vi har kontroll.

Svårigheter vi ställs inför med automatisering

Det vi absolut inte vill ha när vi automatiserar, är en stor mängd falska fel, det vill säga signaler om fel som inte är fel, eftersom det skapar extra arbete med att reda ut vilka signalerade fel som verkligen är fel och vilka som är falska. Man bör automatisera på ett sätt som minimerar behovet av uppdateringar av testerna och felsökning av falska fel.

Men man behöver också fundera på hur automatiseringen ska fungera ihop med byggprocessen, i testmiljöer och arbetssätt. När ska testerna köras? Hur får vi reda på resultatet? Hur hanterar vi underhållet av testerna? Och hur utvecklas våra nya tester allt eftersom systemet utvecklas?

Med andra ord finns det en stor mängd frågor som är relevanta när man ska automatisera. Det är först när realiseringen av testerna ska göras som frågan om verktyg är intressant.

Testautomatisering är en viktig hörnsten i hela utvecklingskedjan

Testautomatisering en viktig hörnsten, men det är också viktigt att hela utvecklingskedjan genomsyras av ett kvalitetstänk – från en gemensam kodstil och grenstrategi till parprogrammeringenhetstestning och kodgranskning.

Det bästa sättet att nå en hög kvalitet är att bygga för framtiden och ta höjd för Testautomatisering redan från början. Men det är minst lika viktigt att man skapar en strategi för att automatisera annars kan det på sikt bli dyrt att underhålla kunskap om olika verktyg hos en skock testare och utvecklare.

För ytterligare frågor

ANDERS SANDSTRÖM
VD PÅ PURE TEST AB 

+46 73 600 17 43