W codziennej pracy, zarówno mojej, jak i wielu z Was, pojawia się często potrzeba sprawdzenia czegoś na podstawie danych. Jako QA, czyli strażnicy jakości, ale też testerzy, którzy sprawdzają poprawność działania aplikacji i systemów, potrzebujemy źródła prawdy. Najczęściej tym źródłem są właśnie dane.

Wyobraźmy sobie sytuację: testujemy nowy formularz z listą wyboru firm. Lista jest przechowywana w bazie danych, w odpowiedniej tabeli. Jeśli nie znamy podstaw SQL, nie jesteśmy w stanie wyciągnąć potrzebnych informacji, takich jak np. liczba firm czy ich nazwy w całej tabeli.

Dodajmy do tego dodatkowy scenariusz: formularz pokazuje firmy zależnie od kraju użytkownika. Czyli dla danego kraju widzimy tylko odpowiednie firmy. W tym momencie potrzebujemy już podstaw SELECT, JOIN i WHERE.

Przykładowe zapytanie mogłoby wyglądać tak:

SELECT *
FROM Company c
JOIN Country country ON c.CountryID = country.CountryID
WHERE country.LanguageCode = 'PL';


Dzięki temu możemy sprawdzić, ile i jakie firmy powinny pojawić się w formularzu. Jeśli ich tam nie ma – mamy gotowy issue do zgłoszenia.

Po tym przykładzie widać, jak istotne jest, aby tester nie skupiał się tylko na „klikaniu” po interfejsie, ale też rozumiał dane w systemie, relacje między tabelami i potrafił pisać zapytania SQL.

Nie mniej ważne jest również to, że czasami musimy ustawić dane lub konfigurację pod nasze testy. Wtedy przydają się polecenia typu UPDATE czy INSERT INTO – dzięki nim możemy przygotować środowisko do testowania konkretnej funkcjonalności.

Podsumowując: tester, który zna SQL i rozumie strukturę danych, jest dużo bardziej skuteczny. Nie tylko wykrywa błędy, ale też potrafi wskazać ich źródło i przygotować środowisko testowe w sposób świadomy.

Świetna strona do nauki podstaw SQL: https://www.w3schools.com/sql/default.asp