Funksional Testlər
Test Növü Təsvir Nə zaman?
Functional Testing Sistemin tələblərə uyğun işlədiyini yoxlayır. Nə edir?" Hər zaman
Smoke Testing Hər yeni build-dən sonra kritik funksiyaların işlədiyini yoxlayır. 10-30 dəqiqə. Hər yeni build-də
Sanity Testing Kiçik dəyişiklikdən sonra dəyişikliyin ağlabatan işlədiyini yoxlayır. Bug fix sonrası
Regression Testing Yeni dəyişikliklərin köhnə funksionallıqları pozmadığını yoxlayır. Hər release öncəsi
Exploratory Testing Formal test case-siz kəşf edərək test etmək. Tester sezgisi. Zəif sənədli sistemlər
UAT İstifadəçi qəbul testi. Real istifadəçilər tərəfindən icra edilir. Release öncəsi
Smoke vs Sanity Müqayisəsi
Smoke Testing Sanity Testing
Nə vaxt? Hər yeni build-dən sonra Kiçik dəyişiklikdən sonra
Kim edir? QA (çox vaxt avtomatik) QA (manual)
Genişlik Geniş, dayaz (10-20 test) Dar, dərin (5-10 test)
Məqsəd Build-i rədd etmək/qəbul etmək Dəyişikliyin düzgünlüyü
Alt növ Acceptance testing alt növü Regression testing alt növü
Qeyri-Funksional Testlər
• Performance Testing: Sistemin müxtəlif yük şəraitlərindəki davranışını yoxlayır.
• Load Testing: Normal yük altında sistem necə davranır?
• Stress Testing: Həddindən artıq yük altında sistem qırılma nöqtəsini tapır.
• Spike Testing: Ani trafik artımına sistem necə reaksiya verir?
• Endurance Testing: Uzun müddət normal yük altında yaddaş sızıntısı varmı?
• Security Testing: Təhlükəsizlik boşluqlarını aşkarlayır (SQL Injection, XSS, CSRF).
• Accessibility Testing: Əlilliyi olan istifadəçilər üçün əlçatanlığı yoxlayır.
• Compatibility Testing: Müxtəlif browser, OS, cihazlarda sistemin işləməsini yoxlayır.
Test Pyramid
Mike Cohn tərəfindən təklif olunub. Üç səviyyə:
• Unit Test (çox, sürətli, ucuz) – 80% test bu olmalıdır. Tək funksiya. Mock istifadə edir.
• Integration Test (orta) – modullar arası. Database, API, file system. 15% test.
• E2E Test (az, yavaş, bahalı) – bütün sistem, real brauzer. 5% test.
⚠️ Anti-pattern: Ice-cream cone" – E2E test sayı unit test-dən çox olan sistemlər. Yavaş, kövrək, baha.
Geniş izah
Ətraflı praktik bələdçi
Kontekst və məqsəd
QA Handbook: TEST NÖVLƏRİ mövzusu QA üçün sadəcə termin deyil, real release qərarlarına təsir edən praktik yoxlama sahəsidir. TEST NÖVLƏRİ mövzusu üzrə manual QA, test prosesi və real layihə praktikası üçün Azərbaycan dilində geniş izah. Bu mövzunu düzgün anlamaq test engineer-ə requirement-ləri daha aydın oxumağa, riskləri daha tez görməyə və developer komandası ilə daha konkret danışmağa kömək edir.
Bu yazıda mövzunu həm istifadəçi davranışı, həm texniki risk, həm də test sənədləşməsi tərəfindən izah edirik. Məqsəd yalnız tərif vermək deyil; məqsəd bu mövzunu real layihədə necə tətbiq etməyi göstərməkdir.
Nəyi yoxlamaq lazımdır
Əvvəlcə test ediləcək funksiyanın biznes məqsədi başa düşülməlidir. İstifadəçi bu funksiyanı niyə istifadə edir, hansı məlumatı daxil edir, hansı nəticəni gözləyir və səhv baş verəndə sistem necə reaksiya verməlidir? QA Handbook: TEST NÖVLƏRİ üçün scope yazanda happy path, negative path, edge case və recovery behavior ayrıca qeyd olunmalıdır.
Əgər mövzu API testing kateqoriyasına aiddirsə, UI yoxlaması ilə kifayətlənmək olmaz. Lazım olan yerdə API cavabı, database nəticəsi, permission səviyyəsi, log mesajı və browser davranışı da yoxlanmalıdır. Bu yanaşma test coverage-i daha real edir.
Test datası və mühitlər
Düzgün test datası olmadan yaxşı QA nəticəsi almaq çətindir. Valid data, invalid data, boş dəyərlər, minimum və maksimum limitlər, duplicate məlumat, expired session, deaktiv istifadəçi və fərqli role-lar əvvəlcədən hazırlanmalıdır.
Environment də eyni dərəcədə vacibdir. Development, staging və production-like mühitlər fərqli data, fərqli permission və fərqli inteqrasiya vəziyyətinə malik ola bilər. Test nəticəsi yazılanda mühit, build versiyası və istifadə olunan data mütləq qeyd edilməlidir.
İcra yanaşması
İcra zamanı əvvəlcə əsas flow yoxlanılır, sonra riskli variantlara keçilir. QA addımları elə yazmalıdır ki, developer həmin problemi eyni şəraitdə təkrar yarada bilsin. Hər addım konkret olmalı, gözlənilən nəticə ilə faktiki nəticə ayrı göstərilməlidir.
Yaxşı yanaşma belədir: əvvəlcə smoke səviyyəsində kritik davranışı yoxla, sonra regression təsirini qiymətləndir, daha sonra boundary, permission, network və data consistency ssenarilərini genişləndir. Bu ardıcıllıq vaxtı qoruyur və ən riskli defektlərin daha tez tapılmasına kömək edir.
Tipik defektlər
Bu mövzuda ən çox rast gəlinən defektlər validation mesajlarının qeyri-dəqiq olması, statusun səhv dəyişməsi, UI ilə backend nəticəsinin uyğun gəlməməsi, role-based access problemleri, data-nın səhv saxlanması və error handling-in zəif olmasıdır.
QA həm də istifadəçinin gözlənilməz davranışını düşünməlidir: iki dəfə klik, səhifəni refresh etmək, geri düyməsi, zəif internet, expired token, boş forma, çox uzun mətn və xüsusi simvollar. Bu hallar sadə happy path testində görünməyən problemləri üzə çıxarır.
Sübut və reportlama
Bug report yazılanda sübut əsasdır. Screenshot, screen recording, console error, network response, request payload, response body, SQL nəticəsi və log timestamp-i developer üçün çox dəyərlidir. Report qısa olsa da, səbəbi tapmağa kömək etməlidir.
Report-da impact də yazılmalıdır. Problem istifadəçini bloklayırmı, data itkisinə səbəb olurmu, security riski yaradırmı, yoxsa yalnız vizual uyğunsuzluqdur? Severity texniki təsiri, priority isə biznes təciliyini göstərməlidir.
Praktik checklist
Praktik checklist: requirement oxundu və anlaşılmaz hissələr soruşuldu; əsas user flow test edildi; negative case-lər yoxlandı; boundary və boş dəyərlər sınandı; uyğun yerlərdə API və database yoxlaması aparıldı; console/network error-ları izlənildi; bug report üçün sübut toplandı; regression təsiri qiymətləndirildi.
Final sign-off-dan əvvəl açıq critical və major bug qalmamalıdır. Əgər risk qalırsa, QA bunu gizlətməməli, release note və ya risk summary formasında komandaya bildirməlidir.
QA üçün nəticə
QA Handbook: TEST NÖVLƏRİ mövzusu üzrə güclü QA işi təkrarlana bilən, sübuta əsaslanan və real product riskinə bağlı olmalıdır. Məqsəd çox test yazmaq deyil, düzgün yerdə düzgün yoxlama aparmaqdır. Bu yanaşma release-ləri daha etibarlı edir və QA-nı komanda üçün qərarvermə tərəfdaşına çevirir.
Expanded guide
Detailed practical guide
Context and purpose
QA Handbook: TEST NÖVLƏRİ is not just a definition for QA; it is a practical area that affects release confidence and product risk. TEST NÖVLƏRİ mövzusu üzrə manual QA, test prosesi və real layihə praktikası üçün Azərbaycan dilində geniş izah. A QA engineer should understand how this topic appears in requirements, user behavior, implementation details, and defect reports.
The goal of this guide is to make the topic usable in real work. Instead of memorizing the term, QA should know how to test it, how to collect evidence, and how to explain the risk to developers and product owners.
What to verify
Start with the business purpose of the feature. Identify the main user flow, alternative flows, permissions, data states, and expected system behavior. For QA Handbook: TEST NÖVLƏRİ, scope should include happy path, negative path, edge cases, recovery behavior, and regression impact.
When the topic touches API testing, do not stop at the UI. Check API responses, saved data, browser behavior, logs, permissions, and environment-specific behavior when they are relevant. That gives the team stronger coverage and fewer blind spots.
Test data and environments
Good test data is the foundation of strong QA. Prepare valid records, invalid records, empty values, duplicates, boundary values, long strings, special characters, disabled users, expired sessions, and different roles.
Environment details matter as well. Development, staging, and production-like environments may have different integrations, data quality, feature flags, and permissions. Every meaningful result should mention environment, build version, user role, and test data.
Execution approach
Execution should move from the critical flow to the risky variations. Write steps so another person can reproduce the same result. Expected result and actual result should be separate, concrete, and easy to compare.
A practical order is: smoke-check the core behavior, analyze regression impact, expand into boundary and permission scenarios, then validate API, database, logs, and UI consistency where needed. This protects time while still finding important defects early.
Common defects
Common defects include unclear validation messages, incorrect status changes, broken permissions, weak error handling, data not saved correctly, UI and backend mismatch, duplicate actions, and inconsistent loading states.
QA should also think about unexpected user behavior: double click, refresh, back button, slow network, expired token, empty form, very long input, special characters, and interrupted sessions. These cases reveal issues that happy-path testing often misses.
Evidence and reporting
Evidence makes a bug report useful. Add screenshots, screen recordings, console errors, network responses, request payloads, response bodies, SQL evidence, timestamps, and logs when they help explain the issue.
A strong report also explains impact. Does the issue block the user, risk data loss, create a security concern, or damage trust visually? Severity should describe technical impact, while priority should describe business urgency.
Practical checklist
Practical checklist: requirements reviewed; unclear points clarified; main flow tested; negative cases covered; boundary and empty values checked; API and database validated where relevant; console and network errors reviewed; evidence collected; regression impact assessed.
Before sign-off, no critical or major issue should remain unexplained. If a risk is accepted, QA should make it visible in a release note, test summary, or risk comment so the team makes a conscious decision.
QA takeaway
Strong QA for QA Handbook: TEST NÖVLƏRİ is repeatable, evidence-based, and connected to real product risk. The aim is not to write more tests for the sake of volume; the aim is to test the right behavior with the right data and communicate the result clearly.
Geniş açıklama
Detaylı pratik rehber
Bağlam ve amaç
QA Handbook: TEST NÖVLƏRİ QA için sadece bir tanım değildir; release güvenini ve product riskini etkileyen pratik bir alandır. TEST NÖVLƏRİ mövzusu üzrə manual QA, test prosesi və real layihə praktikası üçün Azərbaycan dilində geniş izah. QA engineer bu konuyu requirement, kullanıcı davranışı, teknik uygulama ve bug report bağlamında anlamalıdır.
Bu rehberin amacı terimi ezberletmek değil, gerçek projede nasıl test edileceğini göstermektir. QA neyi kontrol edeceğini, hangi kanıtı toplayacağını ve riski ekibe nasıl anlatacağını bilmelidir.
Neyi kontrol etmek gerekir
Önce feature'ın iş amacını anlamak gerekir. Ana user flow, alternatif flow'lar, permission'lar, data state'leri ve beklenen sistem davranışı belirlenmelidir. QA Handbook: TEST NÖVLƏRİ için scope happy path, negative path, edge case, recovery behavior ve regression impact içermelidir.
API testing alanına dokunan konularda sadece UI kontrolü yeterli değildir. Gerektiğinde API response, kaydedilen data, browser behavior, log, permission ve environment farkları da kontrol edilmelidir.
Test datası ve ortamlar
Güçlü QA için doğru test datası şarttır. Valid record, invalid record, boş değer, duplicate data, boundary value, uzun metin, özel karakter, disabled user, expired session ve farklı roller hazırlanmalıdır.
Environment bilgisi de önemlidir. Development, staging ve production-like ortamlar farklı integration, data kalitesi, feature flag ve permission değerlerine sahip olabilir. Test sonucu yazılırken environment, build version, user role ve test data belirtilmelidir.
Uygulama yaklaşımı
Test execution kritik flow ile başlamalı, sonra riskli varyasyonlara geçmelidir. Adımlar başka bir kişinin aynı sonucu reproduce edebileceği kadar net yazılmalıdır. Expected result ve actual result ayrı gösterilmelidir.
Pratik sıra şudur: core behavior için smoke check, regression impact analizi, boundary ve permission senaryoları, sonra gerekli yerlerde API, database, log ve UI consistency kontrolü.
Tipik defectler
Tipik defect'ler: belirsiz validation mesajları, yanlış status değişimi, permission hatası, zayıf error handling, datanın yanlış kaydedilmesi, UI/backend uyumsuzluğu, duplicate action ve tutarsız loading state.
QA beklenmeyen kullanıcı davranışlarını da düşünmelidir: double click, refresh, back button, yavaş internet, expired token, boş form, çok uzun input, özel karakter ve yarım kalmış session.
Kanıt ve raporlama
Bug report kanıtla güçlü olur. Screenshot, screen recording, console error, network response, request payload, response body, SQL evidence, timestamp ve log bilgisi developer için değerlidir.
Report impact de anlatmalıdır. Problem kullanıcıyı blokluyor mu, data loss riski var mı, security concern yaratıyor mu, yoksa visual trust problemi mi? Severity teknik etkiyi, priority biznes aciliyeti gösterir.
Pratik checklist
Pratik checklist: requirement okundu; belirsiz noktalar soruldu; main flow test edildi; negative case'ler kapsandı; boundary ve empty value kontrol edildi; gerekli yerlerde API/database doğrulandı; console/network error'ları izlendi; kanıt toplandı; regression impact değerlendirildi.
Final sign-off öncesinde açık critical veya major issue açıklamasız kalmamalıdır. Risk kabul ediliyorsa QA bunu release note, test summary veya risk comment ile görünür yapmalıdır.
QA için sonuç
QA Handbook: TEST NÖVLƏRİ için güçlü QA işi tekrarlanabilir, kanıta dayalı ve gerçek product riskiyle bağlantılı olmalıdır. Amaç sadece çok test yazmak değil; doğru davranışı doğru data ile test etmek ve sonucu anlaşılır anlatmaktır.
Расширенное руководство
Подробное практическое руководство
Контекст и цель
QA Handbook: TEST NÖVLƏRİ — это не просто термин для QA, а практическая область, которая влияет на уверенность в релизе и product risk. TEST NÖVLƏRİ mövzusu üzrə manual QA, test prosesi və real layihə praktikası üçün Azərbaycan dilində geniş izah. QA engineer должен понимать, как эта тема проявляется в требованиях, поведении пользователя, реализации и defect reports.
Цель этого руководства — показать, как применять тему в реальной работе. QA должен знать, что проверять, какие доказательства собирать и как объяснять риск developers и product owners.
Что проверять
Сначала нужно понять бизнес-цель функции. Определите main user flow, альтернативные flow, permissions, data states и ожидаемое поведение системы. Для QA Handbook: TEST NÖVLƏRİ scope должен включать happy path, negative path, edge cases, recovery behavior и regression impact.
Если тема связана с API testing, нельзя ограничиваться UI. При необходимости проверяйте API responses, saved data, browser behavior, logs, permissions и различия между environments.
Тестовые данные и среды
Хорошие test data — основа сильного QA. Подготовьте valid records, invalid records, empty values, duplicates, boundary values, long strings, special characters, disabled users, expired sessions и разные roles.
Environment также важен. Development, staging и production-like среды могут отличаться integrations, data quality, feature flags и permissions. В результате теста стоит указывать environment, build version, user role и test data.
Подход к выполнению
Execution должен идти от critical flow к рискованным вариантам. Шаги нужно писать так, чтобы другой человек мог воспроизвести результат. Expected result и actual result должны быть отдельными и конкретными.
Практичный порядок: smoke-check core behavior, анализ regression impact, расширение на boundary и permission scenarios, затем проверка API, database, logs и UI consistency там, где это нужно.
Типовые дефекты
Типовые defects: неясные validation messages, неправильные status changes, broken permissions, слабый error handling, data сохраняется неверно, UI/backend mismatch, duplicate actions и inconsistent loading states.
QA должен учитывать неожиданное поведение пользователя: double click, refresh, back button, slow network, expired token, empty form, very long input, special characters и interrupted sessions.
Доказательства и отчёт
Bug report становится полезным благодаря evidence. Добавляйте screenshots, screen recordings, console errors, network responses, request payloads, response bodies, SQL evidence, timestamps и logs, если они помогают понять проблему.
Хороший report также объясняет impact. Issue блокирует пользователя, создаёт риск data loss, security concern или визуально снижает trust? Severity описывает технический эффект, priority — бизнес-срочность.
Практический checklist
Практический checklist: requirements reviewed; unclear points clarified; main flow tested; negative cases covered; boundary and empty values checked; API/database validated where relevant; console/network errors reviewed; evidence collected; regression impact assessed.
Перед sign-off не должно оставаться необъяснённых critical или major issues. Если риск принимается, QA должен сделать его видимым через release note, test summary или risk comment.
Вывод для QA
Сильный QA для QA Handbook: TEST NÖVLƏRİ — repeatable, evidence-based и связан с реальным product risk. Цель не в количестве тестов, а в правильной проверке правильного поведения с правильными данными и понятной коммуникацией результата.