W tym odcinku…

Testowanie na danych “test1 / test2” to proszenie się o kłopoty na produkcji. Dlaczego nie testujemy na takich danych? Prawdziwy użytkownik rzadko wpisuje idealne informacje. Ludzie robią błędy ortograficzne, używają dziwnych znaków i wpisują numery z myślnikami. Jeśli testujemy formularze tylko na prostych słowach, przegapimy błędy, które na pewno pojawią się w prawdziwym życiu. Musimy symulować chaos prawdziwego świata.

Dziś zamieniamy AI w zaawansowaną fabrykę danych testowych.

Dlaczego używamy AI do generowania danych?
Stworzenie ręcznie 100 powiązanych ze sobą rekordów (np. 100 klientów i ich 100 zamówień) w formacie JSON to godziny żmudnej pracy. AI potrafi zrozumieć te powiązania (relacje) i wygenerować gotowy, skomplikowany plik z błędami w kilka sekund.

⚠️ Pamiętaj o ważnej zasadzie: AI bywa słabe z matematyki. Jeśli generujesz numery takie jak PESEL lub NIP, zawsze weryfikuj sumy kontrolne zewnętrznym narzędziem lub poproś AI, żeby wygenerowało pod to zadanie weryfikujący skrypt w Pythonie.

📚 Pojęcia, które warto znać:

  • Edge Case (Przypadek brzegowy): Sytuacja skrajna lub nietypowa, o której programista mógł zapomnieć (np. bardzo długie nazwisko, pusty e-mail, ujemna cena).
  • JSON: To format zapisu danych (wyglądający jak tekst w klamrowych nawiasach), którego programiści i aplikacje używają do przesyłania sobie informacji (np. między formularzem a serwerem).
  • Baza Relacyjna: System, w którym dane są ze sobą powiązane (np. Klient ma przypisane do siebie Zamówienie za pomocą unikalnego ID).

🎯 3 Strategie Generowania Danych:

  • 🌪️ Dane Kreatywne (Chaos): Idealne do testów UI i Exploratory. Generujemy opinie o różnym sentymencie, długości i stylu (slang, błędy ortograficzne, CAPS LOCK, emoji), aby sprawdzić, jak zachowa się frontend.
  • 🇵🇱 Dane Formalne (Lokalne): AI rozumie kontekst lokalny. Wygeneruje poprawne polskie adresy, kody pocztowe pasujące do miast i polskie znaki.
  • ⚙️ Dane Techniczne (JSON/API): Generowanie złożonych struktur dla automatyków. Zagnieżdżone obiekty, nulle, ujemne wartości i edge case’y gotowe do wklejenia w Postmana.

Przykładowe prompty (bazujące na odcinku)

  1. Scenariusz A: “Czego zapomniałam?” (Gap Analysis)
    pdf z TCs

    Rola: Senior QA Engineer / Analityk Biznesowy.
    Kontekst: Testuję moduł kodów rabatowych w koszyku e-commerce.
    Zadanie: Przeanalizuj moją listę testów (poniżej). Zidentyfikuj luki w pokryciu.
    Szczegóły: Skup się na interakcjach między kodem rabatowym a kosztami dostawy oraz zwrotami towaru. Wypisz 5 brakujących scenariuszy.
    
  2. Scenariusz B: Matematyka i Brzegowe Wartości

    Rola: Czepliwy Tester Techniczny.
    Zadanie: Wypisz przypadki testowe dla kodu rabatowego "-20% na wszystko przy zakupach powyżej 200 zł".
    Technika: Użyj Analizy Wartości Brzegowych (Boundary Value Analysis).
    Format: Tabela: Wartość Koszyka | Czy kod działa? | Oczekiwana Wartość końcowa.
    
  3. Scenariusz C: Symulacja “Kombinatora” (Persona Testing)

    Rola: Hacker / Złośliwy Użytkownik (Exploratory Tester).
    Zadanie: Spróbuj "oszukać" koszyk i wymusić podwójny rabat. Wypisz 5 kreatywnych scenariuszy, jak spróbowałbyś to zrobić.
    Kontekst: System pozwala wpisać tylko jeden kod.
    

Emilia Krzemińska-Komenda


Emilia to doświadczona inżynierka QA w Hicron Software, łącząca w swojej pracy analityczny umysł testera z pasją do automatyzacji.

Mocno wierzy, że technologia, w tym sztuczna inteligencja, powinna służyć ludziom, dlatego aktywnie rozwija swoją wiedzę w kierunku testowania AI oraz dostępności cyfrowej. Wierzy, że testowanie to droga do tworzenia lepszych i bardziej inkluzywnych produktów.

Jeden komentarz

  1. Świetna lekcja 👍.
    Tez używam AI do generowania danych testowych używanych w testach manualnych. Zazwyczaj modele radzą sobie naprawdę nieźle, ale zauważyłem, że mojego doświadczenia nie zastąpią i potrafię często wymyślić jeszcze kilka przypadków więcej. AI po prostu nie ma takiego doświadczenia w pracy z dana aplikacją, zwłaszcza jeśli jest to długo rozwijana aplikacja desktopowa.

    Avatar Przemysław Kozak

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *