Att testning av mjukvara har blivit allt mer automatiserad är numera för de flesta en självklarhet. Men hur ska man hitta rätt i djungeln bland verktyg och program? Och finns det tillfällen när automatiserade tester lämpar sig bättre eller sämre?
I detta inlägg redovisar jag några verktyg som jag stött på samt lite trix och knep – för att hitta rätt väg i testautomatiseringsvärlden. Och nej, det är inte så snårigt som det verkar!
Vi lever i en värld som tycks gå fortare för varje minut. Som testare innebär det att nya tekniker och program dyker upp som svampar ur marken varje dag. Det gäller att vara anpassningsbar och ständigt söka efter nya metoder för att möta nya krav och att kunna leverera snabbt.
Till att börja med är det på sin plats att klargöra att testautomatisering kan vara ett bra komplement till manuell testning eftersom det kan bidra till effektivisering av en nuvarande testprocess. Men hur vet du när du ska använda dig av ett verktyg för testautomatisering?
Testpyramiden nedan är en av flera bra hjälpmedel som du kan använda dig av.
Pyramiden visar hur stor täckning av automatiserade tester man kan använda sig av på respektive nivå i en applikation. Unit-tester bör enligt pyramiden ha bredast täckning medan UI-tester har minst täckning av automatiserade tester.
Steg 1, Gränssnittstester
Överst i pyramiden är gränssnittstester/UI-lagret. Denna nivå är som sagt minst lämpad och bör därför utgöra den minsta andelen av automatiserade tester. Testerna tar lång tid att exekvera och det finns mycket integration som kan göra dina tester instabila.
Ett exempel på verktyg som en testare kan använda sig av är Selenium, som är ett ramverk som används för att automatisera webbapplikationer. Selenium består av två varianter där Selenium IDE är ett plugin till webbläsaren. Den kan spela in de kommandon du utför i webbläsaren för att sedan kunna återupprepa samma kommandon. SeleniumWebDriver är den andra varianten, vilket är ett open source ramverk som har stöd från webbläsare som exempelvis Chrome och Firefox . Den består av ett API som kan anropas från flertalet programmeringsspråk, bland annat Java och Python.
Steg 2, Servicetester
Enligt testpyramiden bör nivån för servicelagret kunna utgöra en ganska stor del av automatiska tester. Dessa går till skillnad från UI-testerna lite snabbare att exekvera. Tester i detta lager kan exempelvis vara att testa programmets API, som i sin tur kan vara REST- eller SOAP-tjänster.
Postman är en API-klient som låter dig testa och automatisera SOAP-tjänster och är även populärt för att testa REST-tjänster.
SoapUI är ett annat open source verktyg som används för att testa SOAP och REST-tjänster.
Steg 3, Enhetstester
Enhetstester/Unit-lagret. Enligt pyramiden kan detta lagrer utgöra den största andelen av automatiserade tester och de är också dessa som går snabbast att exekvera. Ett enhetstest kan vara ett test av en metod i en klass.
Det finns många olika ramverk för enhetstester att välja mellan baserat på vilket språk man använder sig av och till vilket användningsområde. JUnit och Mockito är två exempel på open source ramverk som kan användas vid enhetstester för Java-källkod. Medans språk som C/C++ använder sig t.ex. av CUnit, CPPUnit och CUTE ramverk för enhetstester.
Tips på fler ramverk: https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#C.2B.2B
Testpyramiden är ett av många trix man kan ta till för att utröna vilket program eller vilken metod som ska användas vid testautomatisering. Detta var bara ett axplock av verktyg för testautomatisering. Använder ni samtliga delar utav pyramiden i eran verksamhet eller har ni egna erfarenheter att dela med er av så hör gärna av er!
// Claudia von Semkov, Software Consultant, Prevas AB
Du måste vara inloggad för att få kommentera
Stängd för fler kommentarer
Relaterade artiklar
Hur kan vi förbättra användarupplevelsen i gamla system
Anna-Karin Alm: Är det bättre att satsa amerikanskt?
Hållbara vardagshjältar behövs
Stopp i produktionen
Predictive Maintenance, Why, What, and How
Verksamheten i fokus
Möt produktionsutmaningarna med IndTech
Vill du ta ett första steg mot bättre underhållsplanering
4 snabba tips när olyckan inträffar på din arbetsplats
Vårda och skapa starka lösenord
Så får du din produktion att blomstra
Är det dåligt att återanvända lösenord?
Harmonisering av sensordata gör Internet of Things (IoT) enkelt
Hållbar produktion skapas på gränsen mellan ordning och kaos
Vad är bra kod?
Vad kan industrin göra redan idag för att skapa en hållbar framtid?
Har du koll på Agenda 2030, och målen om hållbar industri och produktion?
Chilla, låt systemet göra jobbet
Välj smart, låt systemet göra jobbet
Därför repade sig Chile snabbare än Haiti från jordbävningen 2010
Tar pulsen på energibranschen, Vattenfall Eldistribution
Internet of Moving Things – Kristoffer om samarbetet med Wittra
Mer om DFX, med fokus på Design for Serviceability
Tar pulsen på energibranschen, Göteborg Energi
I påskharens godislager
Mer om DFX, med fokus på Design for Assembly
Med digitalisering och fältservice löser man ärenden med färre kundbesök
DFX – vad är det
The devil is in the details
Blev det fel eller har julklappen redan pajjat
Jultomten har läget under kontroll
Jultomten måste planera om resan
Jultomten behöver assistans
I Jultomtens fältverkstad
Digitalisering av fältservice, film del 2
IoT del 4 - vår nya affärsmodell
Kemikalielagstiftningar, mycket att tänka på
Hur kan industrin utnyttja gamification
Digitalisering av fältservice, film del 1
Vad krävs för att medicintekniska produkter, certifierade under MDD eller AIMDD, ska få fortsätta att säljas i EU
Gamification, i din vardag
Smartare Elektronikhandboken
Klinisk utvärdering av medicintekniska produkter
Framtidens fastighetsunderhåll – digitala tvillingar i fokus
Bildbehandling, inte så komplicerat som det låter
IoT del 3 - vår nya affärsmodell
Att gå med i ett partnernätverk – vad innebär det för mig
Shh - don't say it Innovation too aloud
Underhållssystem – varför välja molnet
Vad är UX och varför är det så viktigt för mitt företag
IoT del 2 - vår nya affärsmodell
Nyfiken på hur du kan digitalisera din fältservice
Är min app en medicinteknisk produkt
Fältservice – vem är din ledstjärna
En IoT fabrik på fyra hjul
Prototyping i Figma
IoT del 1 - vår nya affärsmodell
Brexit, Microservices och AI
Hello IoT Button
Smart Maintenance for competitive edge
Taking advantage of electronics in modern healthcare
En resa in i framtiden
Digitalisering och automation - på rätt sätt
Mobil teknologi växer inom hälso och sjukvården
Kommentarer