Testing-in əsasları və 7 prinsip
Software testing — proqram məhsulunun keyfiyyətini qiymətləndirmək və defektləri aşkar etmək prosesidir. Testing yalnız bug tapmaq deyil: o, məhsul haqqında məlumat verir, riskləri azaldır və qərar qəbuluna kömək edir.
QA (Quality Assurance), QC (Quality Control) və Testing fərqli anlayışlardır:
- QA — proseslərə fokuslanır, defektlərin qarşısını alır
- QC — məhsula fokuslanır, keyfiyyəti yoxlayır
- Testing — QC-nin bir hissəsidir, defektləri aşkar edir
| Prinsip | Mənası |
|---|---|
| 1. Testing defektlərin varlığını göstərir | Test defekt tapa bilər, amma defektin olmadığını sübut edə bilməz |
| 2. Exhaustive testing mümkün deyil | Bütün kombinasiyaları yoxlamaq olmur — risk əsaslı seçim lazımdır |
| 3. Early testing | Nə qədər tez başlanılsa, defektin düzəldilməsi o qədər ucuz olur |
| 4. Defect clustering | Defektlərin çoxu az sayda modulda toplanır (Pareto) |
| 5. Pesticide paradox | Eyni testlər təkrarlansa, yeni bug tapmır — testlər yenilənməlidir |
| 6. Testing kontekstdən asılıdır | Bank sistemi ilə mobil oyun eyni cür test olunmur |
| 7. Absence-of-errors fallacy | Bug-sız sistem user ehtiyacına cavab vermirsə, yenə uğursuzdur |
Interview-də 7 prinsipi əzbər sadalamaqdan çox, real nümunə ilə izah etmək təsir bağışlayır. Məsələn: "Layihəmizdə regression testlər köhnəlmişdi, yeni bug tapmırdı — pesticide paradox-un real halı."
📚 Mənbələr və sənədlər
- ISTQB Glossaryrəsmiglossary.istqb.org
Terminlərin rəsmi tərifləri — interviewda tərif mübahisəsində istinad nöqtəsi.