På samma sätt som att du behöver fundera på hur du ska genomföra dina funktionella tester, är det viktigt att ta fram en strategi för icke funktionella tester. Dessa tester omfattar egenskaper hos systemet som till exempel prestanda, säkerhet, användarbarhet och underhållsbarhet.
Beroende på vilken typ av system som ska testas och vem som ska nyttja det finns det också en mängd olika krav. I detta blogginlägg finner du därför även ett urval av icke funktionella krav och vad de innebär. Kraven skall täckas av tester som verifierar dessa.
När det gäller icke funktionella tester bör man fokusera på de affärskritiska användningsfallen snarare än att testa heltäckande. Förutom de affärskritiska skall de mest frekventa användningsfallen prestandatestas då de utgör den huvudsakliga lasten mot systemet. Beroende på hur känslig information som exponeras och sårbarhet måste omfattningen av säkerhetstester beslutas och genomföras.
Ett bra sätt att tänka är riskbaserat, förslagsvis enligt nedan utgångspunkter.
Kan det inträffa?
Vad blir effekten om det inträffar?
Vem behöver åtgärda problemen när de uppstår?
Hur pass viktigt är det att systemet är tillgängligt? Tappas det till exempel ordrar,
intäkter och kunder på att systemet inte är igång eller öppet under en tid?
För att säkerställa att ett system klarar kraven på flera samtidiga användare behöver man utföra prestandatester. Oavsett hur väl du utvecklar systemet och hur kraftfull miljö som planeras, behöver dessa tester utföras.
Det är väldigt svårt att förutse hur pass ett system med flertal samband kommer att prestera för en slutanvändare på ritbordet. Det är först vid prestandatester du får reda på om du har tillräcklig prestanda för att systemet ska kunna gå till produktion.
Prestandatest täcker in följande områden:
Applikationer och nätverk blir hela tiden alltmer komplexa och öppna när större mängd information görs tillgänglig via Internet. Applikationer och system utvecklas i snabb takt, ofta med stor tidspress och fokus på funktion. Detta medför att produktionssättning ofta görs utan att säkerheten har varit en del i kravställningen eller testningen.
I och med att applikationerna blir mer komplexa när vi går mot mer distribuerade system med många integrationer till andra system både internt och externt. Att få vetskap om vad som hur systemet beter sig när olika tillstånd inträffar krävs det negativa miljötester som till exempel Chaos Engineering.
Hur enkelt det är att flytta programvaran till en annan plattform/databas.
Det finns en uppsjö av verktyg som kan användas till att verifiera kraven ovan på ett effektivt sätt. Vissa krav kan genomföras manuellt medan andra kräver verktyg, till exempel prestandatest. En del av dessa verktyg är OpenSource, andra kostar en del, vissa utvecklar till och med egna verktyg.
När det är dags att skaffa verktyg som ska stödja valda plattformar och kodspråk finns det flera saker som är viktiga att tänka på.
Oavsett vilket verktyg du väljer är ett aktivt engagemang i verktyget inom organisationen avgörande för hur effektivt och användbart verktyget blir.
Delar av ovanstående text är ett utdrag från vår nya guide "Det här bör din teststrategi innehålla". I guiden hittar du allt du behöver veta om hur du skapar en robust och bra teststrategi, alltifrån metodik till hur du ska tänka riskbaserat och prioritera dina tester. Ladda ner den här!