Page Image

Testautomatisering

Öka leveranstakten genom att automatisera tester och snabbt återkoppla resultat.

Vi ser till att du får rätt verktyg, användarvänliga testmiljöer och helt automatiserade regressionstester. På så sätt kapar du inte bara repetitiva och okvalificerade arbetsmoment. Du får också bättre uppföljning, minskad risk för manuella fel och mindre felmarginal genom att du utför samma tester på olika uppsättningar av testdata.

 

Vad innebär det?

Färre manuella tester och snabbare leverans. Vi använder oss av smarta verktyg och tekniker för att automatisera tester och för att undvika manuellt repetitiva tester så långt det går. På detta sätt får du fler tester utförda snabbare, mer användbara testresultat och täcker samtidigt fler delar av systemet som skall testas. Det vet vi leder till snabbare återkoppling till utvecklare och ökad leveranstakt.

Snabbare återkoppling och enklare bugg-fix. I många fall går utvecklaren vidare till nästa uppgift efter att ha checkat in sin kod. Först senare kommer en buggrapport på att koden inte fungerade som tänkt. Vi ser till att återkopplingen sker innan dess – och innan nya funktionaliteter har utvecklas. På så sätt kapar du ledtider och kan åtgärda buggar snabbare. Och mycket enklare.

 

Så arbetar vi

Vi kan automatisera tester för många olika ändamål. Här är ett par av dem:

Continuous Integration – En av de viktigaste delarna när en organisation inför CI är att ha en process och verktyg som effektivt och på ett automatiserat sätt kan säkerställa att system fungerar. Det finns flera CI-verktyg på marknaden och vi använder oss av testverktyg som enkelt kan kopplas till dessa CI-system.

DevOps – Efter Continuous Integration kan nästa steg vara att implementera DevOps. Att från en utvecklares push av en ny feature, bygga och testa denna i en pipeline. Går alla tester bra skickas det ut i produktion automatiskt (eller under kontroll av en release manager). Utvecklaren är då både “Developer” och “Operations”. Personen ansvarar för att koden fungerar hela vägen ut till slutkonsumenten av produkten. Man måste dock vara medveten om att det krävs mycket från medarbetare, mjukvara och infrastruktur för att få detta på plats.

Smoketest  När en utvecklare checkar in sin senaste kod, byggs systemet på en dedikerad testmiljö och ett automatiserat test körs som verifierar att de grundläggande funktionerna fungerar som de skall. Detta är vanligtvis integrerat med någon typ av continuous integration-lösning. Utvecklaren kan även gå in manuellt och verifiera att koden fungerar som tänkt.

Automatiserade regressiontester – Om man behöver testa en funktion många gånger under utvecklingen bör detta automatiseras så långt som möjligt. Dels för att det annars tar mycket tid i anspråk av testare och dels för att det inte är något roligt arbete. Enligt vår erfarenhet tenderar tråkiga arbetsuppgifter att leda till slarv vilket riskerar att försämra kvaliteten.

Automatgenererade tester – Vore det inte fint om vi slapp skriva och dokumentera tester. Tänk om utvecklare kunde skapa testfall och automatiserade tester automatiskt när de skapar tex. ett nytt API? Helt utan att de behöver göra något extrajobb.
Det finns sätt vi kan göra det på. Vi nyttjar verktyg som hämtar ut information om API’t och automatiskt skapar tester åt dem. All info om hur API’t fungerar, vad det förväntar sig för input och vilken output som skall förväntas finns redan beskrivet av utvecklaren eller arkitekten. Vi behöver bara samla in informationen och se till att testet körs.

Artificiell Intelligens – Vi utvecklar och samarbetar med andra bolag för att ta fram nya lösningar som nyttjar AI och Machine Learning. Detta för att på ytterligare sätt minska underhåll av automatiserade tester. Detta är ett nytt intressant område som är oerhört svårt att bemästra än så länge. Inga Out-of-the-box-lösningar finns att köpa in, men genom att kombinera ihop ett antal olika verktyg kan vi komma en bit på vägen.

 

FredrikSöderborg2

För mer information, kontakta Fredrik Söderborg

Telefon: 0707 – 58 85 21
E-post: fredrik@nshore.se