Back

QA

QA Handbook: SQL FOR QA

SQL FOR QA mövzusu üzrə manual QA, test prosesi və real layihə praktikası üçün Azərbaycan dilində geniş izah.

QAManual Testing
QA Handbook: SQL FOR QA
Şəkil mənbəyi: Unsplash

QA mühəndisləri SQL bilməlidir ki, məlumatların database-də düzgün saxlandığını yoxlaya bilsinlər. SQL manual testing-in vacib hissəsidir.

Əsas SQL Əmrləri

SELECT

-- Bütün istifadəçiləri seç

SELECT * FROM users;

-- Xüsusi sütunlar, şərt ilə

SELECT id, name, email FROM users WHERE active = 1;

-- Sırala

SELECT * FROM orders ORDER BY created_at DESC;

WHERE Şərtləri

-- Rəqəm aralığı

SELECT * FROM users WHERE age >= 18 AND age <= 60;

-- Çoxlu şərt (OR)

SELECT * FROM orders WHERE status = 'pending' OR status = 'failed';

-- Like ilə axtarış

SELECT * FROM products WHERE name LIKE '%telefon%';

GROUP BY və HAVING

-- Status-a görə sifariş sayı

SELECT status, COUNT(*) as count FROM orders GROUP BY status;

-- 1000 AZN-dən çox xərcləyən istifadəçilər

SELECT user_id, SUM(amount) as total FROM orders

GROUP BY user_id HAVING SUM(amount) > 1000;

JOIN

-- İstifadəçi adı ilə sifariş məlumatı

SELECT u.name, o.id, o.amount

FROM users u

INNER JOIN orders o ON u.id = o.user_id;

-- Heç sifariş verməyən istifadəçilər

SELECT u.name, o.id

FROM users u

LEFT JOIN orders o ON u.id = o.user_id
WHERE o.id IS NULL;

QA üçün SQL Nümunələri

-- Dublikat email yoxlamaq

SELECT email, COUNT(*) FROM users GROUP BY email HAVING COUNT(*) > 1;

-- Boş sahələri tapmaq

SELECT * FROM users WHERE phone IS NULL;

-- Son 24 saatda yaranan sifarişlər

SELECT * FROM orders WHERE created_at >= NOW() - INTERVAL 1 DAY;

-- Uğursuz ödənişlər

SELECT * FROM payments WHERE status = 'failed' ORDER BY created_at DESC;

-- Xüsusi istifadəçinin bütün sifarişləri

SELECT o.*, p.status as payment_status

FROM orders o

LEFT JOIN payments p ON o.id = p.order_id
WHERE o.user_id = 12345;

SQL Əmri Məqsəd QA İstifadə Halı

SELECT Məlumat oxumaq Test edildikdən sonra DB-ni yoxlamaq

WHERE Filtirləmək Xüsusi user/order tapmaq

COUNT() Saymaq Neçə sifariş yarandı yoxlamaq

GROUP BY Qruplaşdırmaq Status-a görə sayları yoxlamaq

JOIN Cədvəlləri birləşdirmək User-Order əlaqəsini yoxlamaq

IS NULL Boş sahə Məcburi sahənin doldurulduğunu yoxlamaq

LIKE Oxşarlıq axtarışı Məlumatın düzgün saxlandığını yoxlamaq

Geniş izah

Ətraflı praktik bələdçi

Kontekst və məqsəd

QA Handbook: SQL FOR QA mövzusu QA üçün sadəcə termin deyil, real release qərarlarına təsir edən praktik yoxlama sahəsidir. SQL FOR QA 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: SQL FOR QA üçü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: SQL FOR QA 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: SQL FOR QA is not just a definition for QA; it is a practical area that affects release confidence and product risk. SQL FOR QA 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: SQL FOR QA, 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: SQL FOR QA 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: SQL FOR QA QA için sadece bir tanım değildir; release güvenini ve product riskini etkileyen pratik bir alandır. SQL FOR QA 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: SQL FOR QA 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: SQL FOR QA 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: SQL FOR QA — это не просто термин для QA, а практическая область, которая влияет на уверенность в релизе и product risk. SQL FOR QA 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: SQL FOR QA 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: SQL FOR QA — repeatable, evidence-based и связан с реальным product risk. Цель не в количестве тестов, а в правильной проверке правильного поведения с правильными данными и понятной коммуникацией результата.