Testning av programvara är processen att verifiera att programvara fungerar avsett — kontrollera att den beter sig korrekt, uppfyller krav och är fri från defekter. Det är viktigt för att leverera tillförlitlig, högkvalitativ programvara och för att fånga problem innan de når användare.
Vad testning är
Testing = systematically VERIFYING software behaves correctly:
→ does it do what it's supposed to? (meets requirements)
→ does it handle edge cases, errors, and invalid input?
→ does a change break existing functionality? (regressions)
→ from manual testing (a person checks) to AUTOMATED tests (code that checks code)
Varför testning är viktigt
✓ CATCH BUGS — find defects BEFORE users do (cheaper/easier to fix early than in production)
✓ CONFIDENCE — change/refactor code knowing tests will catch regressions
✓ QUALITY — reliable software; fewer production failures, crashes, data issues
✓ DOCUMENTATION — tests show how code is meant to be used/behave
✓ FASTER long-term — automated tests catch issues quickly vs slow manual re-checking
→ The cost of a bug grows the later it's found (dev < test < production).
