Lekcja 5 / brakujące dane
NULL: kiedy danych po prostu brakuje
Nauczysz się rozpoznawać brak wartości. To jeden z najważniejszych tematów w QA, bo wiele błędów zaczyna się od danych, których system się spodziewał, ale ich nie dostał.
Sytuacja z pracy
Użytkownik nie dostaje maila resetującego hasło. Zanim zgłosisz błąd w mailingu, sprawdzasz prostszy fakt: czy konto ma w ogóle zapisany adres e-mail?
Dane startowe
| id | status | |
|---|---|---|
| 1 | anna@example.com | active |
| 2 | NULL | pending |
| 3 | celina@example.com | active |
Nowe pojęcie: NULL
NULL oznacza brak wartości. To nie jest zero, pusty tekst ani słowo „null”.
To informacja: w tym miejscu baza nie ma zapisanej wartości.
Dlatego nie sprawdzasz tego przez = NULL. Do brakujących wartości używasz
IS NULL.
Błędnie
SELECT id, email, status
FROM users
WHERE email = NULL;
Poprawnie
SELECT id, email, status
FROM users
WHERE email IS NULL;
Wynik
| id | status | |
|---|---|---|
| 2 | NULL | pending |
Co to znaczy dla QA?
Brak e-maila może psuć reset hasła, powiadomienia, faktury, eksporty i integracje. Wynik nie mówi jeszcze, czemu e-maila brakuje. Pokazuje jednak konkretny rekord, który warto sprawdzić dalej.
Mini-zadanie
Napisz zapytanie, które znajduje konta bez e-maila.
Ćwiczenie praktyczne
Dopisz krótką notatkę QA: jakie funkcje produktu mogą ucierpieć, jeśli email jest NULL?
Wymień minimum trzy.
Quiz
Czym jest NULL?
Brakiem wartości w bazie.
Czy NULL to pusty tekst?
Nie. Pusty tekst to wartość, NULL oznacza brak wartości.
Jak poprawnie szukać brakującego e-maila?
WHERE email IS NULL.
Co dalej?
Potrafisz już wybierać, filtrować i rozumieć brakujące dane. Teraz nauczysz się decydować,
od których rekordów zacząć analizę, czyli poznasz ORDER BY i LIMIT.