Sparround

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 PrioritySeverity — 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 ValidationVerification — 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 SanitySmoke — 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 RegressionRe-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 boxBlack 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 testingPositive — 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 FailureError — 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 ChecklistTest 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 testingAlpha — ş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 testingLoad — 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 prinsipiTesting 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.