Automatiserad testning
Varför automatisera tester?
Automatiserade tester körs varje gång du pushar kod, vilket gör att du snabbt märker om en förändring gått sönder något. Det är särskilt värdefullt när projektet växer.
Tänk på att designa koden så att den går att testa — varje funktion/modul bör göra en sak och ha minimala beroenden.
Testramverk
Välj ett testramverk som passar din teknikstack:
| Plattform | Ramverk |
|---|---|
| JavaScript / Node.js | Jest, Mocha |
| Python | pytest |
| Java | JUnit |
| C# | xUnit, NUnit |
| Go | inbyggt (go test) |
Jest — JavaScript exempel
Enhetstester vs integrationstester
- Enhetstester — testar en enskild funktion/klass isolerat. Snabba och enkla att skriva.
- Integrationstester — testar att flera delar fungerar ihop (t.ex. API + databas). Långsammare men testar mer realistiska flöden.
Börja med enhetstester. Lägg till integrationstester för kritiska delar.
Dokumentera automatiska tester i testspecifikationen
Automatiserade testfall dokumenteras med testkoden själv — ge varje test ett tydligt namn som beskriver vad det testar:
I testspecifikationen räcker det att referera till testsviten och länka till koden. I testrapporten, bifoga en screenshot eller output från testkörnigen.
Koppling till CI/CD
När du satt upp en pipeline körs testerna automatiskt vid varje push. Se Vecka 6 - CI/CD för hur du kopplar ihop testning med din pipeline.