Kvalitetsarbete inom IT är ett brett och många gånger komplext arbetsområde. I detta blogginlägg redovisas en övergripande och ytterst grundläggande genomgång av olika testfaser som er verksamhet kan inkludera i arbetet med att leverera en kvalitetssäkrad IT-lösning till slutanvändarna.
Test i analys- & designfasen
Först och främst, vad innebär att något är kvalitetssäkrat? Kvalitet är en subjektiv bedömning som görs av den som konsumerar en tjänst, en vara och-/eller en produkt. När en IT-lösning tas fram är det oftast kravare och UX:are som tolkar användarens behov/förväntningar och utifrån dessa skapar en skiss för mjukvaran. I denna första fas utkristalliseras kraven för lösningen, det är också de som används likt en måttstock på kvalitén. Redan i analys- och designfasen är det därför av värde att släppa in QA-organisationen. Den kravgranskning som utförs av testare i samband med framtagning av testfall är ett starkt redskap för att minimerar felaktigheter innan de hunnit utvecklas. Ta vara på det momentet. Ni kan redan här förhindra onödiga framtida kostnader.
Steg 1: Kravgranskning & Testfallsframtagning
Utveckling & Test
I utvecklingsfasen är det olika typer av test som exekveras. Utvecklare bör alltid ha som vana att arbeta med enhetstester. Testare bör utföra systemtester. I systemtestfallen bör testarna täcka in positiva -, negativa- och undantagsflöden. Genom att endast arbeta med enhetstester och systemtester har er organisation kommit långt vad gäller att värna om kvalitén. Vill ni effektivisera kvalitetssäkringen kan testarna se över vad som går att automatisera. Ett bra första steg, vad gäller automatisering, är att se över de regressionstester som finns. Regressionstester är tester av befintlig/kritisk funktionalitet, alltså funktionalitet som måste fungera efter varje deploy/uppdatering av en miljö. Genom att automatisera regression frigörs testaren och kan istället fokusera på ny funktionalitet. Testarna har på så vis även mer kontroll över systemets välmående då automatiserade tester kan köras flera gånger och generera resultat. Under systemtestfasen kan ni även köra prestandatester. Det finns inget tråkigare än ett system som är långsamt och trögt. Upplevelsen försämras om prestandan är dålig.
Steg 2: Enhetstester & Systemtester vid utveckling
Steg 3: Bonus: Automatiserade tester & Prestandatest
Implementera säkert
Innan implementation av en ny systemlösning eller en systemuppdatering utförs ofta acceptanstester. Acceptanstester är stickprover som fokuserar på de krav som togs fram i design och analysfasen och utförs många gånger av beställaren. Varje gång en systemlösning testas kan nya fel upptäckas. Jobbar ni i olika miljöer är det ännu viktigare att testa respektive miljö efter en deploy. Det är många gånger svårt att upprepa samtliga tester för alla miljöer, därför är det viktigt att prioritera. Att förstå vilka områden som bör prioriteras kan identifieras genom en riskanalys. Innan implementation är en rekommendation att ni arbetar med acceptanstest och återigen med regressionstester som även täcker in integrationstester. Om er QA-organisation för ett kontinuerligt resonemang vad gäller riskerna för respektive krav och test, i de olika faserna, går det att bedöma kvalitén och på så vis ta hand om systemet på ett kontrollerat sätt.
Steg 4: Acceptanstest
Steg 5: Integrationstest & Regressionstest
Teststrategi baseras på förutsättningar
Har ni utfört samtliga testfaser och testmoment, oberoende av om ni arbetar enligt en vattenfallsmodell eller i ett agilt utvecklingsprojekt, har ni med säkerhet höjt kvalitén för lösningen och på så vis även skapat en bättre upplevelse för era användare. Självklart styrs valet av test utifrån flertalet faktorer. När bedömningen görs tas i beaktande faktorer som kostnader, resurser, organisationens komplexitet/karaktär och tidsperspektiv. Även frågor som rör själva lösningen, exempelvis vilka plattformar den ska finnas tillgänglig på samt hälsotillståndet vad gäller era utvecklingsmiljöer, i beaktande. Era förutsättningar påverkar utformningen av er teststrategi. Ovan ser ni tips på olika faser och moment som ni kan använda er av i ert kvalitetsarbete, hur ni använder er av de och i vilken utsträckning är upp till er. Skräddarsy teststrategin utifrån era behov, förutsättningar och er systemlösning. Ett företag med en tydlig teststrategi där organisationen strategiskt arbetar med kvalitet har garanterat nöjdare användare och ett stabilare system än ett företag som inte gör det.