Jednostka 2 / 11

Generowanie scenariuszy testowych i przypadków testowych: od wymagań do kompleksowej kontroli

Zyski:

  • Możliwość przekształcenia wymagań i kryteriów akceptacji w kompleksowe przypadki testowe za pomocą technik takich jak klasy równoważności, analiza wartości brzegowych i tablice decyzyjne, przy wsparciu sztucznej inteligencji
  • Możliwość oddzielnego tworzenia scenariuszy pozytywnych, negatywnych i skrajnych oraz uzupełniania przypadków brzegowych pominiętych przez sztuczną inteligencję informacjami o produkcie
  • Możliwość ustalenia identyfikowalności i wyeliminowania luk w pokryciu oraz niepotrzebnego wzdęcia poprzez powiązanie przypadków testowych z kryteriami akceptacji

Praca testera często zaczyna się od czystej karty: ma on wymóg („użytkownik musi mieć możliwość zresetowania swojego hasła”) i musi zamienić to pojedyncze zdanie w dziesiątki konkretnych kontroli, które udowodnią, że oprogramowanie faktycznie działa poprawnie. Transformacja ta nazywana jest projektowaniem testów. Kluczowa jest znajomość różnicy między scenariuszem testowym — celem wysokiego poziomu opisującym, co należy przetestować, np. „należy odrzucić nieprawidłowe hasło” — a przypadkiem testowym — wykonywalną jednostką, która szczegółowo opisuje scenariusz z konkretnymi krokami, danymi wejściowymi i oczekiwanym wynikiem. Sztuczna inteligencja (AI) przyspiesza dokładnie ten moment, w którym pojawia się pusta strona: w ciągu kilku sekund zamienia jedno wymaganie w dziesiątki wersji roboczych scenariuszy. Pamiętaj jednak – sztuczna inteligencja odtwarza sytuacje, o których myślisz; Dzięki swojej wiedzy o produkcie wybierasz, które sytuacje są naprawdę ważne.

W tej części dowiesz się krok po kroku, jak zamienić wymagania w kompleksowy, ale uporządkowany zestaw testów ze wsparciem AI.

Krok po kroku: od wymagania do zestawu testowego

Krok 1 – Wyjaśnij wymóg. Zbierz kryteria akceptacji (warunki, które musi spełnić zadanie, aby zostało uznane za „ukończone”), zanim przekażesz AI surowe wymagania. „Hasło musi być resetowalne” nie wystarczy; Reguły takie jak „link resetujący jest ważny przez 30 minut”, „nie można ponownie użyć tego samego hasła” są źródłem prawdziwego testu.

Krok 2 — Wdrożenie technik testowania. Nie mów po prostu „napisz scenariusz” o sztucznej inteligencji; Zapytaj o klasyczne techniki projektowania testów według nazwy:

  • Klasy równoważności (podział równoważności): Dzielenie danych wejściowych na grupy, od których oczekuje się tego samego zachowania. Na przykład w przypadku pola wieku klasami są „prawidłowy zakres”, „za mały” i „za duży”; Wystarczy przetestować jeden przykład z każdej klasy.
  • Analiza wartości granicznych: Testowanie wartości progowych w oparciu o fakt, że błędy występują najczęściej na granicach. To jakby oddzielnie testować 17, 18, 19 lat dla granicy 18 lat.
  • Tabela decyzyjna: zestawienie kombinacji wielu warunków i oczekiwanego wyniku każdej kombinacji.
  • Przejście stanu: Testowanie przejść systemu ze stanu do stanu (na przykład zamówienie: utworzone → opłacone → wysłane) i nieprawidłowych przejść.

Krok 3 — Oddziel stany dodatni, ujemny i krawędziowy. Poproś o test pozytywny (oczekiwany wynik przy prawidłowych danych wejściowych), test negatywny (prawidłowy błąd przy nieprawidłowych danych wejściowych) i przypadek brzegowy — przypadki graniczne lub nietypowe. Sztuczna inteligencja generalnie podkreśla to, co pozytywne; Przypadki negatywne i brzegowe są niekompletne, chyba że wyraźnie o to poprosisz.

Krok 4 — Ustal priorytety i przycinaj. AI może wygenerować 60 scenariuszy; Nie wszystkie mają taką samą wartość. Nadaj priorytet elementom obarczonym wysokim ryzykiem (pieniądze, bezpieczeństwo, utrata danych) i połącz te, które są duplikatami.

Wskazówka: wyślij osobne żądanie do AI, mówiąc „wygeneruj 5 nie do pomyślenia przypadków brzegowych z tego wymagania”. Najcenniejszym wkładem sztucznej inteligencji jest to, że często przypomina Ci o niezwykłych sytuacjach, które przeoczyłeś.

Słaba zachęta/silna zachęta

Słabe: „Napisz przypadki testowe w celu zresetowania hasła”.
Silne: „Wygeneruj przypadki testowe dla funkcji„ resetowania hasła ”z następującymi kryteriami akceptacji: link ważny przez 30 minut, jednorazowe użycie, 3 ostatnich haseł nie może zostać ponownie użyty, konto zablokowane na 15 minut po 5 błędnych próbach. Zastosuj klasy równoważności i analizę wartości granicznych. Podaj przypadki dodatnie, ujemne i brzegowe w oddzielnych nagłówkach. Dla każdego przypadku: identyfikator, wymagania wstępne, kroki, dane testowe, oczekiwany wynik, powiązane kryteria akceptacji. Podkreśl scenariusze bezpieczeństwa/blokowania, weź to.

Potężny monit; Podaje zasady, techniki, format wyjściowy i kolejność priorytetów. W ten sposób sztuczna inteligencja tworzy wykonywalne i możliwe do prześledzenia przypadki testowe, a nie dekoracyjne.

Format wyjściowy przypadku testowego

Poproś o ustrukturyzowany format, który można zaimportować bezpośrednio do narzędzia do zarządzania testami Twojego zespołu (np. TestRail, Zephyr, Xray). Poniższa tabela przedstawia elementy dobrego przypadku testowego:

obszar

Opis

przykład

Identyfikator

unikalny identyfikator

TC-PWD-014

Tytuł

krótki cel

Wygasły link zostanie odrzucony

warunek wstępny

Stan wymagany przed testowaniem

Link resetujący został wygenerowany 31 minut temu

kroki

Działania sekwencyjne

1. Kliknij link. 2. Wpisz nowe hasło

dane testowe

Zastosowano konkretne wartości

stary link, nowe hasło „Abc!2345”

oczekiwany wynik

Zachowanie do sprawdzenia

Błąd „Link wygasł”, hasło nie ulega zmianie

Kryteria akceptacji

łącze umożliwiające śledzenie

AK-3: link ważny 30 minut

priorytet

Poziom ryzyka

wysoki

Cztery szablony do kopiowania

1) Produkcja scenariuszy technicznych:

Twoja rola: starszy projektant testów.Generuj przypadki testowe dla funkcji: [cechy i kryteria akceptacji].Zastosuj: klasy równoważności, analiza punktów przerwania, tabela decyzyjna.Udostępnij wyniki w 3 grupach: przypadek pozytywny/negatywny/przypadek brzegowy.Każdy przypadek: identyfikator, warunek wstępny, kroki, dane testowe, oczekiwany wynik, powiązane kryteria akceptacji, priorytet (wysoki/średni/niski).

2) Łowca spraw Edge:

Wymień 10 zwykle pomijanych przypadków brzegowych dla następującej funkcji: [funkcja]. Napisz w jednym zdaniu, dlaczego jest to ryzykowne dla każdego z nich. Pomyśl o osiach takich jak pusta/null, zbyt długie dane wejściowe, współbieżność, przekroczenie limitu czasu, błędy formatu, Unicode/emoji, wartość ujemna/zero, awaria sieci.

3) Produkcja tabeli decyzyjnej:

Utwórz tabelę decyzyjną dla następującej reguły biznesowej: [reguły].Kolumny: kombinacje warunków; wiersze: każdy warunek i oczekiwane działanie. Oznacz nieosiągalne lub sprzeczne kombinacje. Następnie zaproponuj przypadek testowy dla każdej kombinacji.

4) Kontrola identyfikowalności:

Biorąc pod uwagę poniższą listę kryteriów akceptacji i następujące przypadki testowe:[kryteria] / [przypadki]. Pokaż w formie tabelarycznej, które kryteria akceptacji spełniają przypadki testowe NO (luka pokrycia), a które przypadki nie spełniają żadnych kryteriów (przypadek zbędny).

trzy mini etui

Przypadek 1 — Wartość stanów brzegowych. Ekspert z zespołu fintech napisał 18 skryptów dla funkcji przekazu pieniężnego. Zastosował do sztucznej inteligencji szablon „Edge Case Hunter”; AI przypomniała sytuację „przenoszenia tego samego salda z dwóch urządzeń jednocześnie” (współbieżność). Podczas testowania tego scenariusza wykryto lukę w zabezpieczeniach związaną z podwójnymi wydatkami, którą zamknięto przed uruchomieniem. Pojedyncza marginalna sytuacja zapobiegła potencjalnej sześciocyfrowej stracie.

Przypadek 2 — Przycięcie wybrzuszenia. Zespół zlecił sztucznej inteligencji stworzenie skryptu formularza członkowskiego i wpłynęły 74 przypadki. Uruchomienie szablonu identyfikowalności wykazało, że 74 przypadki spełniły jedynie 9 kryteriów akceptacji, a wiele z nich poddano ponownemu badaniu w tej samej klasie równoważności. Zbiór zmniejszono z 74 do 23 znaczących przypadków; czas pracy spadł o 68%, zasięg nie zmniejszył się.

Przypadek 3 — Błędne założenie. Sztuczna inteligencja zasugerowała przetestowanie nieprawidłowych dat, takich jak „31 lutego”, dla pola daty, ale nie wiedziała, że ​​komponent kalendarza, którego używał zespół, już to zablokował. Ekspert wyeliminował 4 z 6 scenariuszy dat wyprodukowanych przez sztuczną inteligencję jako niepotrzebne w kontekście produktu. Możliwości generowane przez sztuczną inteligencję; dokonał wyboru informacji o produkcie.

Typowe błędy

  • Zamówienie scenariusza bez podawania kryteriów akceptacji. Nie wiedząc, co jest prawdą, sztuczna inteligencja tworzy powierzchowne scenariusze, które często nie uwzględniają prawdziwego ryzyka.
  • Wystarczy zadowolić się pozytywnymi testami. Wyraźnie nie chcę przypadków negatywnych i brzegowych. Tutaj często kryją się błędy.
  • Akceptowanie tego, co zostało wyprodukowane takim, jakie jest. Zapomnienie, że AI nie zna kontekstu produktu i pozostawienie na planie niepotrzebnych lub niemożliwych scenariuszy.
  • Ominięcie identyfikowalności. Nie łączenie przypadków z kryteriami akceptacji; w rezultacie nie widać, które kryterium nie jest testowane (luka w pokryciu).
  • Błąd ilościowy. Być szczęśliwym, bo „wydano 60 scenariuszy”. Wartość nie jest wyrażona w liczbie, ale w zakresie obejmującym ryzyko.

Podsumowując

Projektowanie testów polega na przełożeniu jednozdaniowego wymagania na konkretne, wykonalne przypadki, które dowodzą poprawności oprogramowania. Sztuczna inteligencja znacznie przyspiesza tę transformację: tworzy kompleksowe plany, jeśli nadasz jej kryteria akceptacji, klasyczne techniki testowania (klasy równoważności, punkt przerwania, tablica decyzyjna, przejście stanu) i przejrzysty format wyjściowy. Jednak sztuczna inteligencja jest nastawiona na pozytyw, nie zna kontekstu produktu i może powodować niepotrzebne wzdęcia. Twoim zadaniem jest wyraźne zażądanie przypadków negatywnych i brzegowych, ustalenie identyfikowalności, ustalenie priorytetów według ryzyka i oczyszczenie.

Zadanie aplikacji

Wybierz cechę z własnego projektu i zapisz kryteria akceptacji. Niech sztuczna inteligencja wygeneruje przypadki testowe za pomocą szablonu „generowanie scenariuszy w oparciu o technikę”. Następnie zastosuj szablony „Edge Case Hunter” i „Kontrola identyfikowalności”. W rezultacie: (1) dodaj co najmniej 3 przypadki Edge, które AI pomija, (2) usuń przypadki, które nie łączą się z żadnymi kryteriami akceptacji, (3) napisz nowe przypadki, jeśli jakieś kryteria akceptacji pozostały niesprawdzone. Gotowy zestaw przelej do arkusza kalkulacyjnego.

lista kontrolna

  • [ ] Przed złożeniem zamówienia na scenariusz wyjaśniłem kryteria akceptacji.
  • [ ] Poprosiłem YZ o nazwy klas równoważności i analizę wartości brzegowych.
  • [ ] Wygenerowałem oddzielnie stany dodatni, ujemny i krawędziowy.
  • [ ] Powiązałem każdy przypadek testowy z kryterium akceptacji (możliwość śledzenia).
  • [ ] Sprawdziłem lukę w zakresie i niepotrzebne przypadki za pomocą tabeli.
  • [ ] Ustaliłem priorytety według ryzyka i przyciąłem spuchnięty zbiór.