Gwaje software shine tsari na tabbatar da cewa software yana aiki kamar yadda aka yi niyya — bincike cewa yana aiki daidai, cikakke bukattu, kuma bai da kurakurai. Yana da mahimmanci don isar da software na amintattun kashi da shuwa kuma kama matsaloli kafin su isa wurare.
Menene gwaje
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)
Me ya sa gwaje yake mahimmanci
✓ 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).
