Sürətli nəzəriyyə sualları
Demək olar ki, hər manual QA interview-ində bir sürətli nəzəriyyə raundu olur: intervyuer ardıcıl 10-15 qısa sual verir və hər birinə 20-30 saniyəlik cavab gözləyir. Bu raund bilikdən çox hazırlığı və aydın danışmağı yoxlayır.
Cavab formulu — 2-3 cümlə, həmişə eyni struktur:
- Cümlə 1 — tərif (nədir)
- Cümlə 2 — fərq və ya əsas nüans (nə ilə qarışdırılır)
- Cümlə 3 — bir konkret nümunə
Bu formul cavabı həm qısa, həm də dolğun edir. Nümunə: "Severity bug-ın texniki təsiridir, priority isə onun nə qədər tez düzəldilməli olmasıdır. Severity-ni tester, priority-ni adətən PO təyin edir. Məsələn, az istifadə olunan səhifədəki crash — high severity, low priority." Üç cümlə, 15 saniyə, tam cavab.
Üç tez-tez edilən səhv: (1) bir sualı 3 dəqiqə danışmaq — raundun ritmini pozur; (2) bilmədiyini gizlətmək üçün ümumi sözlərlə dolaşmaq; (3) tərifi əzbər deyib nümunə verməmək.
| Sual ("X ilə Y-in fərqi?") | Model cavab |
|---|---|
| Severity vs Priority | Severity — bug-ın sistemə texniki təsiri; priority — nə qədər tez düzəldilməli olması. Severity-ni tester, priority-ni PO/lead təyin edir. Nümunə: nadir istifadə olunan səhifədə crash — high severity, low priority; ana səhifədə şirkət adında hərf səhvi — low severity, high priority. |
| Verification vs Validation | Verification — məhsulu **düzgün** qururuqmu (spesifikasiyaya uyğunluq, review və static yoxlamalar). Validation — **düzgün məhsulu** qururuqmu (real user ehtiyacına cavab verirmi, dynamic test və UAT). Nümunə: requirement review verification-dır, UAT validation-dır. |
| Smoke vs Sanity | Smoke — geniş və dayaz: build ümumiyyətlə işləkdirmi, test etməyə dəyərmi. Sanity — dar və dərin: konkret dəyişiklik və ya fix məntiqli işləyirmi. Smoke build-i qəbul etmək qərarı üçün, sanity kiçik dəyişiklikdən sonra. |
| Re-testing vs Regression | Re-testing — konkret bug-ın düzəldiyini eyni addımlarla yoxlamaq. Regression — həmin dəyişikliyin **başqa** işləyən sahələri sındırmadığını yoxlamaq. Re-testing hər fix-dən sonra, regression isə release-dən əvvəl və əhəmiyyətli dəyişikliklərdən sonra. |
| Black box vs White box vs Grey box | Black box — daxili kodu bilmədən, yalnız input/output üzrə (manual QA-nın əsas yanaşması). White box — kod strukturunu bilərək (adətən developer, unit test). Grey box — qismən daxili bilik ilə: DB strukturunu, API-ni və ya arxitekturanı bilib UI-dan test etmək — manual QA praktikada çox vaxt məhz buradadır. |
| Positive vs Negative testing | Positive — sistem düzgün datada gözlənilən nəticəni verirmi. Negative — sistem yanlış datada **düzgün şəkildə imtina edirmi** (crash yox, aydın error mesajı). Nümunə: email sahəsinə düzgün email — positive; "user@@mail" və ya boş sahə — negative. |
| Error vs Defect vs Failure | Error — insanın etdiyi səhv (developer spesifikasiyanı yanlış oxuyur). Defect/bug — həmin səhvin koda düşmüş nəticəsi. Failure — defektin icra zamanı görünən təzahürü (istifadəçi yanlış məbləği görür). Zəncir: error → defect → failure. |
| Test case vs Test scenario vs Checklist | Test scenario — nəyi test edəcəyimizin yüksək səviyyəli təsviri ("poliso yenilənməsi"). Test case — həmin ssenarinin addım-addım, gözlənilən nəticəli konkret variantı. Checklist — yoxlanılacaqların qısa siyahısı, addımsız; sürətli komandalarda test case-in yüngül əvəzidir. |
| Alpha vs Beta testing | Alpha — şirkət daxilində, nəzarət olunan mühitdə, daxili istifadəçilər tərəfindən. Beta — real istifadəçilər tərəfindən öz real mühitlərində, release-dən əvvəl. Hər ikisi acceptance testing növüdür. |
| Load vs Stress testing | Load — gözlənilən normal yük altında sistem tələb olunan cavab müddətini saxlayırmı. Stress — sistemi sınma nöqtəsinə qədər yükləyib həddi tapmaq və **necə** sındığına baxmaq (aydın error verirmi, yoxsa data korlanır). |
| Tək anlayış sualı | Model cavab |
|---|---|
| Bug lifecycle-ı danış | New → Assigned → In Progress → Fixed → Ready for retest → Verified → Closed. Alternativ yollar: retest uğursuz olsa **Reopened**; bug təkrar olsa **Duplicate**; reproduksiya olunmasa **Cannot reproduce**; nəzərdə tutulan davranış olsa **Not a bug**; sonraya saxlanılsa **Deferred**. Vacib nüans: bug-ı adətən onu açan bağlayır. |
| Testing-in 7 prinsipi | Testing defektlərin varlığını göstərir (yoxluğunu yox); exhaustive testing mümkün deyil; early testing; defect clustering; pesticide paradox; testing kontekstdən asılıdır; absence-of-errors fallacy. Sürətli raundda hamısını sadalayıb birini nümunə ilə açmaq kifayətdir. |
| Boundary Value Analysis nədir? | Bug-ların əksəriyyəti sərhədlərdə yaşadığı üçün sərhəd dəyərlərini və onların hər iki tərəfini test edən texnikadır. 18-65 aralığı üçün: 17, 18, 19 və 64, 65, 66. Adətən Equivalence Partitioning ilə birlikdə istifadə olunur. |
| Requirement Traceability Matrix nədir? | Hər requirement-i onu yoxlayan test case-lərlə (və tapılan defektlərlə) əlaqələndirən cədvəldir. Məqsəd: heç bir requirement-in test olunmadan qalmadığını göstərmək və dəyişiklik olanda təsir dairəsini tez müəyyən etmək. |
| Exit criteria nədir? | Testi bitmiş saymaq üçün əvvəlcədən razılaşdırılmış, ölçülə bilən şərtlər: açıq Critical/High bug yoxdur, planlanan case-lərin ≥95%-i icra olunub, kritik axınların regression-u keçib. Onların əsas faydası "nə vaxt bitir?" sualını subyektiv hissdən çıxarmaqdır. |
| Shift-left nə deməkdir? | Test fəaliyyətlərinin SDLC-nin daha erkən fazalarına çəkilməsi: QA refinement-dən qoşulur, requirement-ləri review edir, AC-lərin yoxlanıla bilən olmasını təmin edir. Səbəbi sadədir — erkən tapılan defekt dəfələrlə ucuz başa gəlir. |
| Test olunmuş halda bug production-a düşərsə, bu kimin günahıdır? | Bu, günah sualı deyil — komanda nəticəsidir. Testing bütün defektlərin yoxluğunu sübut edə bilməz (1-ci prinsip). Doğru reaksiya: təsiri qiymətləndirmək, hotfix-i yoxlamaq, sonra blameless kök səbəb analizi — bu ssenari niyə scope-a düşməyib və hansı proses dəyişikliyi onu gələcəkdə tutar. |
Bilmədiyin sual gələndə nə etməli? Uydurmaq ən pis variantdır — intervyuer bunu demək olar ki, həmişə görür. Ən yaxşı formul: "Bu terminlə praktikada rastlaşmamışam. Amma adından belə başa düşürəm ki... — düzdürmü?" Bu cavab üç şey göstərir: dürüstlük, məntiqi düşünmə və öyrənməyə açıqlıq. Bir-iki "bilmirəm" cavabı interview-i pozmur; bir uydurma cavab isə bütün digər cavablara olan inamı azaldır.