Sztuczna inteligencja coraz częściej pojawia się w codziennej pracy testerów oprogramowania. Nie oznacza to jednak, że AI samodzielnie przetestuje aplikację i zastąpi doświadczenie testera.
Największą wartość daje wtedy, gdy traktujemy ją jak pomocnika, który przyspiesza analizę, przygotowuje pierwszą wersję dokumentacji, podpowiada dodatkowe scenariusze albo pomaga uporządkować dużą ilość informacji.
Problem polega na tym, że wpisanie do ChatGPT polecenia:
„Napisz przypadki testowe”
zazwyczaj prowadzi do bardzo ogólnej odpowiedzi.
Im więcej kontekstu przekażemy, tym większa szansa, że otrzymamy rezultat, który rzeczywiście przyda się w projekcie.
Poniżej znajdziesz 15 gotowych promptów AI przeznaczonych dla testerów oprogramowania. Możesz wykorzystać je między innymi w ChatGPT, Claude, Gemini, Microsoft Copilot lub innym narzędziu wykorzystującym generatywną sztuczną inteligencję.
Pamiętaj jednak, aby nie wklejać do publicznych narzędzi AI poufnych danych, haseł, tokenów dostępowych, danych klientów ani fragmentów kodu objętych tajemnicą firmy.
1. Analiza wymagań i wykrywanie niejasności
Jednym z najważniejszych zadań testera jest analiza wymagań jeszcze przed rozpoczęciem testów.
AI może pomóc znaleźć brakujące informacje, niejasne sformułowania i potencjalne sprzeczności.
Gotowy prompt
Jesteś doświadczonym testerem oprogramowania i analitykiem biznesowym.
Przeanalizuj poniższe wymaganie:
[WKLEJ WYMAGANIE]
Wskaż:
- niejasne lub wieloznaczne sformułowania,
- brakujące informacje,
- potencjalne sprzeczności,
- założenia, które wymagają potwierdzenia,
- pytania, które tester powinien zadać analitykowi lub właścicielowi produktu.
Nie twórz własnych wymagań. Wyraźnie oddziel informacje wynikające z opisu od swoich przypuszczeń.
Taki prompt szczególnie dobrze sprawdzi się podczas analizy historyjek użytkownika, kryteriów akceptacji i dokumentacji biznesowej.
2. Tworzenie przypadków testowych
AI może szybko przygotować pierwszą wersję przypadków testowych. Nie należy jednak traktować jej jako wersji ostatecznej.
Tester nadal powinien zweryfikować, czy scenariusze odpowiadają rzeczywistemu ryzyku biznesowemu.
Gotowy prompt
Na podstawie poniższego wymagania przygotuj przypadki testowe:
[WKLEJ WYMAGANIE]
Dla każdego przypadku podaj:
- identyfikator,
- nazwę przypadku testowego,
- warunki wstępne,
- kroki testowe,
- dane testowe,
- oczekiwany rezultat,
- priorytet,
- typ testu: pozytywny, negatywny lub brzegowy.
Uwzględnij przypadki pozytywne, negatywne, wartości graniczne, brakujące dane, błędne formaty oraz nietypowe zachowania użytkownika.
Nie zakładaj funkcjonalności, których nie opisano w wymaganiu.
Ostatnie zdanie jest bardzo ważne. Modele AI mają tendencję do uzupełniania brakujących informacji własnymi założeniami.
3. Zastosowanie klas równoważności i analizy wartości brzegowych
Techniki projektowania testów pomagają ograniczyć liczbę przypadków testowych bez utraty istotnego pokrycia.
AI może wesprzeć testera w identyfikacji klas równoważności i wartości granicznych.
Gotowy prompt
Przeanalizuj poniższe pole lub regułę biznesową z perspektywy testera:
[OPIS POLA LUB REGUŁY]
Zastosuj:
- podział na klasy równoważności,
- analizę wartości brzegowych.
Przedstaw:
- prawidłowe klasy równoważności,
- nieprawidłowe klasy równoważności,
- wartości minimalne i maksymalne,
- wartości znajdujące się bezpośrednio poniżej i powyżej granic,
- proponowany zestaw danych testowych,
- uzasadnienie wyboru każdej wartości.
Zaznacz wszystkie założenia wymagające potwierdzenia.
Przykładem może być pole wieku akceptujące wartości od 18 do 65 lat. AI powinno wtedy zaproponować między innymi wartości 17, 18, 19, 64, 65 i 66.
4. Przygotowanie sesji testów eksploracyjnych
Testowanie eksploracyjne nie polega na przypadkowym klikaniu po aplikacji. Dobra sesja powinna mieć określony cel, zakres i obszary ryzyka.
Gotowy prompt
Przygotuj kartę sesji testów eksploracyjnych dla poniższej funkcjonalności:
[OPIS FUNKCJONALNOŚCI]
Uwzględnij:
- cel sesji,
- zakres testów,
- elementy wyłączone z zakresu,
- największe ryzyka,
- obszary wymagające szczególnej uwagi,
- przykładowe heurystyki testowe,
- propozycje nietypowych działań użytkownika,
- dane testowe,
- kryterium zakończenia sesji.
Sesja powinna trwać około [CZAS, NP. 60 MINUT].
Na podstawie takiej odpowiedzi można przygotować praktyczną checklistę, a następnie uzupełnić ją własną wiedzą o produkcie.
5. Generowanie danych testowych
Przygotowywanie dużej liczby danych testowych bywa czasochłonne. AI może wygenerować przykładowe dane prawidłowe, nieprawidłowe i brzegowe.
Gotowy prompt
Wygeneruj dane testowe dla formularza zawierającego następujące pola:
[LISTA PÓL I OGRANICZEŃ]
Przygotuj:
- 10 zestawów poprawnych danych,
- 10 zestawów niepoprawnych danych,
- 5 zestawów danych brzegowych,
- dane zawierające polskie znaki,
- bardzo długie wartości,
- puste wartości,
- znaki specjalne,
- nietypowe formaty,
- próby wprowadzenia kodu HTML i SQL.
Wynik przedstaw w tabeli. Przy każdym zestawie wyjaśnij, jaki scenariusz sprawdza.
Używaj wyłącznie danych fikcyjnych. Nie generuj prawdziwych danych osobowych.
W przypadku adresów e-mail, numerów telefonów czy danych użytkowników zawsze warto podkreślić, że mają to być dane fikcyjne.
6. Tworzenie raportu błędu
Dobry raport błędu powinien być konkretny, powtarzalny i zrozumiały dla osoby, która nie uczestniczyła w testach.
AI może pomóc uporządkować chaotyczne notatki testera.
Gotowy prompt
Na podstawie moich notatek przygotuj profesjonalny raport błędu:
[WKLEJ NOTATKI]
Raport powinien zawierać:
- krótki i jednoznaczny tytuł,
- środowisko,
- warunki wstępne,
- kroki do odtworzenia,
- aktualny rezultat,
- oczekiwany rezultat,
- częstotliwość występowania,
- wpływ na użytkownika,
- proponowany priorytet,
- proponowaną ważność błędu.
Nie dodawaj faktów, których nie ma w notatkach. Brakujące informacje oznacz jako „do uzupełnienia”.
Dzięki temu można szybko przekształcić krótkie notatki w czytelne zgłoszenie do systemu Jira, Azure DevOps lub innego narzędzia używanego w projekcie.
7. Ocena ważności i priorytetu błędu
Severity i priority bywają ze sobą mylone. AI może pomóc przeanalizować wpływ błędu, ale ostateczna decyzja powinna uwzględniać kontekst biznesowy.
Gotowy prompt
Oceń poniższy błąd z perspektywy testera i biznesu:
[OPIS BŁĘDU]
Określ:
- proponowaną ważność błędu,
- proponowany priorytet,
- wpływ na użytkownika,
- wpływ na biznes,
- prawdopodobieństwo wystąpienia,
- możliwość obejścia problemu,
- argumenty przemawiające za podniesieniem lub obniżeniem priorytetu.
Nie podejmuj ostatecznej decyzji. Wskaż, jakie dodatkowe informacje są potrzebne do jej podjęcia.
Takie podejście pomaga przygotować się do rozmowy z deweloperem, analitykiem lub Product Ownerem.
8. Wybór testów do regresji
W dużych projektach wykonanie wszystkich testów regresji po każdej zmianie może być niemożliwe.
AI może pomóc przygotować wstępną analizę wpływu zmiany.
Gotowy prompt
Jesteś testerem odpowiedzialnym za analizę wpływu zmian i regresję.
Opis zmiany:
[OPIS ZMIANY]Moduły systemu:
[LISTA MODUŁÓW]Znane zależności:
[OPIS ZALEŻNOŚCI]Przygotuj:
- obszary bezpośrednio objęte zmianą,
- obszary pośrednio zagrożone,
- najważniejsze scenariusze regresji,
- scenariusze typu smoke test,
- priorytet każdego testu,
- uzasadnienie wyboru,
- ryzyka wynikające z pominięcia danego obszaru.
Wyraźnie zaznacz informacje, których nie da się ustalić na podstawie przekazanego opisu.
Odpowiedź AI nie zastąpi znajomości architektury systemu, ale może pomóc uporządkować analizę i zauważyć dodatkowe zależności.
9. Przygotowanie scenariuszy testów API
AI może być bardzo pomocne podczas testowania REST API, szczególnie gdy dysponujemy dokumentacją endpointu.
Gotowy prompt
Przygotuj scenariusze testowe REST API dla poniższego endpointu:
Metoda HTTP: [METODA]
Endpoint: [ADRES LUB ŚCIEŻKA]
Parametry: [PARAMETRY]
Nagłówki: [NAGŁÓWKI]
Przykładowe body: [BODY]
Oczekiwane kody odpowiedzi: [KODY]
Reguły biznesowe: [REGUŁY]Uwzględnij testy:
- poprawnego żądania,
- brakujących pól,
- nieprawidłowych typów danych,
- wartości granicznych,
- błędnej autoryzacji,
- braku autoryzacji,
- błędnych nagłówków,
- nieobsługiwanej metody HTTP,
- duplikatów,
- idempotencji,
- czasu odpowiedzi,
- struktury odpowiedzi,
- obsługi błędów.
Dla każdego scenariusza podaj przykładowe żądanie i oczekiwany rezultat.
Należy pamiętać, aby przed przekazaniem dokumentacji do publicznego modelu usunąć prawdziwe adresy usług, tokeny i dane dostępowe.
10. Generowanie skryptów testowych w Postmanie
AI może przygotować pierwszą wersję testów wykonywanych po otrzymaniu odpowiedzi z API.
Gotowy prompt
Napisz testy w JavaScript do zakładki Tests w Postmanie dla poniższej odpowiedzi API:
[WKLEJ PRZYKŁADOWĄ ODPOWIEDŹ JSON]
Testy powinny sprawdzać:
- kod odpowiedzi,
- czas odpowiedzi,
- format JSON,
- obecność wymaganych pól,
- typy danych,
- wartości wymaganych pól,
- brak wartości null w kluczowych polach,
- strukturę zagnieżdżonych obiektów,
- strukturę tablic,
- zapisanie wybranej wartości do zmiennej środowiskowej.
Użyj składni pm.test oraz pm.expect.
Dodaj krótkie komentarze wyjaśniające działanie kodu.
Wygenerowany kod należy uruchomić i dokładnie sprawdzić. AI może użyć nieprawidłowej nazwy pola albo stworzyć asercję, która nie odpowiada rzeczywistemu kontraktowi API.
11. Analiza logów aplikacji
Duży fragment logów może być trudny do przeanalizowania, szczególnie gdy zawiera wiele komunikatów z różnych komponentów.
AI może pomóc pogrupować błędy i wskazać możliwe źródło problemu.
Gotowy prompt
Przeanalizuj poniższy fragment logów aplikacji:
[WKLEJ LOGI]
Przygotuj:
- chronologiczną listę najważniejszych zdarzeń,
- wykryte błędy i ostrzeżenia,
- możliwe zależności między komunikatami,
- prawdopodobną przyczynę problemu,
- alternatywne hipotezy,
- informacje, których brakuje do potwierdzenia diagnozy,
- propozycje dalszych kroków diagnostycznych.
Oddziel fakty widoczne w logach od przypuszczeń. Nie przedstawiaj hipotezy jako potwierdzonej przyczyny.
Przed przesłaniem logów trzeba usunąć dane osobowe, tokeny, adresy IP, identyfikatory klientów oraz inne informacje poufne.
12. Generowanie testów automatycznych
AI może przyspieszyć tworzenie testów w Playwright, Cypress, Selenium lub WebdriverIO.
Nie oznacza to jednak, że wygenerowany kod będzie od razu gotowy do wykorzystania w projekcie.
Gotowy prompt
Napisz test automatyczny w [PLAYWRIGHT/CYPRESS/SELENIUM/WEBDRIVERIO] dla następującego scenariusza:
[OPIS SCENARIUSZA]
Informacje dodatkowe:
- język: [JAVASCRIPT/TYPESCRIPT/JAVA/PYTHON],
- adres strony: [ADRES TESTOWY],
- selektory lub dostępne atrybuty: [SELEKTORY],
- dane testowe: [DANE],
- oczekiwany rezultat: [REZULTAT].
Wymagania:
- używaj stabilnych selektorów,
- unikaj stałych opóźnień typu sleep lub waitForTimeout,
- zastosuj czytelne nazwy,
- dodaj asercje,
- zastosuj Page Object Model, jeżeli ma to sens,
- nie duplikuj kodu,
- dodaj obsługę przygotowania i czyszczenia danych,
- wyjaśnij potencjalne źródła niestabilności testu.
Warto przekazać modelowi informacje o strukturze projektu i stosowanych konwencjach. Bez tego AI prawdopodobnie przygotuje bardzo ogólny przykład.
13. Analiza i poprawa testu automatycznego
AI może również pomóc znaleźć problemy w istniejącym teście, takie jak niestabilne selektory, duplikacja kodu lub niepotrzebne oczekiwania.
Gotowy prompt
Przeanalizuj poniższy test automatyczny:
[WKLEJ KOD]
Sprawdź:
- poprawność logiki,
- jakość selektorów,
- możliwość wystąpienia flaky testów,
- niepotrzebne oczekiwania,
- brakujące asercje,
- duplikację kodu,
- zależność testów od siebie,
- obsługę danych testowych,
- czytelność i łatwość utrzymania.
Najpierw opisz wykryte problemy. Następnie przedstaw poprawioną wersję kodu i wyjaśnij każdą istotną zmianę.
Nie zmieniaj zachowania testu bez wyraźnego uzasadnienia.
Taki prompt może być przydatny podczas code review, ale nie powinien zastępować przeglądu wykonywanego przez człowieka.
14. Przygotowanie testów bezpieczeństwa
Tester nie musi być specjalistą od cyberbezpieczeństwa, aby sprawdzić podstawowe mechanizmy ochrony aplikacji.
AI może pomóc przygotować checklistę typowych zagrożeń.
Gotowy prompt
Przygotuj podstawową checklistę testów bezpieczeństwa dla poniższej funkcjonalności:
[OPIS FUNKCJONALNOŚCI]
Uwzględnij:
- uwierzytelnianie,
- autoryzację,
- kontrolę dostępu do danych innych użytkowników,
- zarządzanie sesją,
- walidację danych wejściowych,
- przesyłanie plików,
- komunikaty błędów,
- ujawnianie wrażliwych informacji,
- ograniczenie liczby żądań,
- podatność na wstrzyknięcia,
- XSS,
- CSRF,
- bezpośrednie odwołania do obiektów.
Dla każdego punktu podaj przykładowy scenariusz testowy, oczekiwane bezpieczne zachowanie oraz poziom ryzyka.
Ogranicz odpowiedź do defensywnych testów wykonywanych w autoryzowanym środowisku testowym.
Testy bezpieczeństwa powinny być wykonywane wyłącznie w środowisku, do którego tester ma odpowiednie uprawnienia.
15. Przygotowanie raportu z testów
Po zakończeniu testów trzeba często przygotować podsumowanie dla zespołu lub osób biznesowych.
AI może przekształcić surowe dane w czytelny raport.
Gotowy prompt
Na podstawie poniższych danych przygotuj raport z testów:
[WKLEJ WYNIKI TESTÓW]
Raport powinien zawierać:
- cel testów,
- zakres,
- środowisko,
- wykonane rodzaje testów,
- liczbę testów zakończonych sukcesem,
- liczbę testów zakończonych niepowodzeniem,
- liczbę testów zablokowanych,
- najważniejsze wykryte błędy,
- obszary największego ryzyka,
- ograniczenia testów,
- rekomendację dotyczącą wydania,
- działania wymagane przed wdrożeniem.
Przygotuj dwie wersje:
- szczegółową wersję techniczną dla zespołu,
- krótkie podsumowanie biznesowe dla interesariuszy.
Nie ukrywaj ryzyk i nie dodawaj danych, których nie przekazano.
Dzięki temu te same dane można przedstawić w różny sposób zależnie od odbiorcy.
Jak tworzyć skuteczne prompty dla testera?
Gotowe prompty są dobrym punktem wyjścia, ale najlepsze rezultaty uzyskamy wtedy, gdy nauczymy się samodzielnie je rozwijać.
Dobry prompt powinien zawierać kilka podstawowych elementów.
Określ rolę
Przykład:
Jesteś doświadczonym testerem oprogramowania specjalizującym się w testowaniu API.
Pomaga to modelowi dobrać odpowiedni sposób odpowiedzi.
Przekaż kontekst
Opisz funkcjonalność, użytkownika, środowisko, ograniczenia i cel testów.
Im mniej kontekstu otrzyma model, tym bardziej ogólna będzie odpowiedź.
Dokładnie określ zadanie
Zamiast:
Przetestuj formularz.
lepiej napisać:
Przygotuj pozytywne, negatywne i brzegowe scenariusze testowe dla formularza rejestracji.
Zdefiniuj format odpowiedzi
Możesz poprosić o tabelę, checklistę, kod, raport albo listę pytań.
Przykład:
Przedstaw wynik w tabeli zawierającej nazwę testu, kroki, dane i oczekiwany rezultat.
Dodaj ograniczenia
Warto powiedzieć modelowi, czego nie powinien robić.
Przykład:
Nie zakładaj funkcjonalności, których nie opisano w wymaganiu.
Poproś o wskazanie założeń
To jeden z najważniejszych elementów pracy z AI.
Przykład:
Wyraźnie zaznacz wszystkie informacje, które są jedynie przypuszczeniem.
Czy można ufać odpowiedziom generowanym przez AI?
Nie należy bezkrytycznie ufać odpowiedziom generowanym przez modele językowe.
AI może:
- pominąć ważny scenariusz,
- źle zinterpretować wymaganie,
- wymyślić nieistniejącą funkcjonalność,
- wygenerować błędny kod,
- zaproponować nieaktualne rozwiązanie,
- przedstawić przypuszczenie jako fakt,
- stworzyć przypadki testowe, które wyglądają profesjonalnie, ale nie odpowiadają rzeczywistemu ryzyku.
Dlatego każda odpowiedź powinna zostać sprawdzona przez testera.
Sztuczna inteligencja może przygotować pierwszą wersję materiału, ale odpowiedzialność za jakość testów nadal spoczywa na człowieku.
Jakich danych nie przekazywać narzędziom AI?
Do publicznie dostępnych narzędzi nie należy wklejać:
- loginów i haseł,
- kluczy API,
- tokenów autoryzacyjnych,
- danych osobowych klientów,
- informacji finansowych,
- poufnych wymagań,
- kodu objętego tajemnicą przedsiębiorstwa,
- pełnych logów produkcyjnych,
- wewnętrznych adresów usług,
- informacji o niezałatanych podatnościach.
Przed użyciem AI należy sprawdzić zasady obowiązujące w firmie oraz sposób przetwarzania danych przez wybrane narzędzie.
Podsumowanie
AI nie zastępuje wiedzy testera, znajomości produktu ani umiejętności analizy ryzyka.
Może jednak znacząco przyspieszyć wiele codziennych zadań: od analizy wymagań i przygotowania danych testowych po tworzenie raportów, analizę logów i generowanie pierwszej wersji testów automatycznych.
Największą wartość otrzymamy wtedy, gdy przekażemy modelowi odpowiedni kontekst, precyzyjnie opiszemy zadanie i dokładnie zweryfikujemy odpowiedź.
Warto zacząć od jednego lub dwóch promptów, dostosować je do swojego projektu i stopniowo budować własną bibliotekę poleceń.
Sztuczna inteligencja nie wykona za testera całej pracy. Może jednak sprawić, że wiele powtarzalnych zadań wykonamy szybciej i będziemy mieli więcej czasu na analizę, eksplorację oraz zrozumienie rzeczywistych potrzeb użytkownika.
