Jednotka 2 / 11

Testovací scénář a generování testovacích případů: Od požadavku ke komplexní kontrole

zisky:

  • Schopnost transformovat kritéria požadavku a přijetí do komplexních testovacích případů pomocí technik, jako jsou třídy ekvivalence, analýza hraničních hodnot a rozhodovací tabulky, s podporou umělé inteligence
  • Schopnost vytvářet pozitivní, negativní a okrajové scénáře odděleně a doplnit okrajové případy, které umělá inteligence postrádala, informacemi o produktu
  • Schopnost zavést sledovatelnost a eliminovat mezery v pokrytí a zbytečnou nadýmání propojením testovacích případů s kritérii přijetí

Testerova práce často začíná tímto prázdným listem: má požadavek („uživatel musí mít možnost resetovat své heslo“) a musí tuto jedinou větu proměnit v desítky konkrétních kontrol, které prokážou, že software skutečně funguje správně. Tato transformace se nazývá návrh testu. Znalost rozdílu mezi testovacím scénářem – cílem na vysoké úrovni, který popisuje, co se má testovat, jako například „neplatné heslo by mělo být odmítnuto“ – a testovacím případem – je klíčová spustitelná jednotka, která tento scénář podrobně popisuje s konkrétními kroky, vstupem a očekávaným výsledkem. Umělá inteligence (AI) urychluje přesně tento moment prázdné stránky: přeměnu jednoho požadavku na desítky návrhů scénářů během několika sekund. Ale pamatujte – umělá inteligence kopíruje situace, na které si vzpomenete; Vy si vyberete se svými znalostmi produktu, které situace jsou skutečně důležité.

V této lekci se krok za krokem naučíte, jak změnit požadavek na komplexní, ale nepřehlednou testovací sadu s podporou AI.

Krok za krokem: od požadavku k testovací sadě

Krok 1 – Vyjasněte požadavek. Před zadáním nezpracovaného požadavku AI shromážděte kritéria přijetí (podmínky, které musí úloha splňovat, aby byla považována za „hotovou“). "Heslo musí být resetovatelné" nestačí; Pravidla jako "resetovat odkaz je platný 30 minut", "stejné heslo nelze znovu použít" jsou zdrojem skutečného testu.

Krok 2 – Implementujte testovací techniky. Neříkejte jen „napiš scénář“ o AI; Zeptejte se na klasické techniky návrhu testu podle názvu:

  • Třídy ekvivalence (rozdělení ekvivalence): Rozdělení vstupů do skupin, u kterých se očekává, že budou produkovat stejné chování. Například pro pole věk jsou třídy „platný rozsah“, „příliš malý“ a „příliš velký“; Stačí otestovat jeden příklad z každé třídy.
  • Analýza hraničních hodnot: Testování prahových hodnot na základě skutečnosti, že chyby se nejčastěji vyskytují na hranicích. Je to jako testovat 17, 18, 19 zvlášť pro věkovou hranici 18 let.
  • Rozhodovací tabulka: Tabulka kombinací více podmínek a očekávaného výsledku každé kombinace.
  • Přechod stavu: Testování přechodů systému ze stavu do stavu (například objednávka: vytvořeno → zaplaceno → odesláno) a neplatných přechodů.

Krok 3 — Oddělte kladné, záporné a okrajové stavy. Požádejte o pozitivní test (očekávaný výsledek se správným zadáním), negativní test (správná chyba s neplatným zadáním) a okrajový případ – hraniční nebo neobvyklé případy. AI obecně zdůrazňuje pozitivní; Negativní a okrajové případy jsou neúplné, pokud si je výslovně nevyžádáte.

Krok 4 — Stanovte priority a prořezejte. AI může generovat 60 scénářů; Ne všechny mají stejnou hodnotu. Upřednostňujte ty s vysokým rizikem (peníze, bezpečnost, ztráta dat) a kombinujte ty, které jsou duplicitní.

Tip: Odešlete AI samostatný požadavek se slovy „vygenerujte z tohoto požadavku 5 nemyslitelných okrajových případů“. Nejcennějším přínosem AI je, že vám často připomíná mimořádné situace, které jste přehlédli.

Slabá výzva / Silná výzva

Slabé: "Zapište testovací případy pro resetování hesla."
Strong: "Generujte testovací případy pro funkci 'resetování hesla' s následujícími kritérii přijetí: odkaz platný 30 minut, jednorázové použití, poslední 3 hesla nelze znovu použít, po 5 nesprávných pokusech je účet uzamčen na 15 minut. Použít třídy ekvivalence a analýzu hraničních hodnot. Uveďte kladné, záporné a okrajové případy v samostatných hlavičkách. Pro každý případ: ID, očekávaný scénář, přidružené bezpečnostní kroky.

Výkonná výzva; Poskytuje pravidla, techniky, výstupní formát a pořadí priorit. Umělá inteligence tedy vytváří spustitelné a sledovatelné testovací případy, nikoli dekorativní.

Výstupní formát testovacího případu

Požádejte o strukturovaný formát, který lze importovat přímo do nástroje pro správu testů vašeho týmu (např. TestRail, Zephyr, Xray). Následující tabulka ukazuje součásti dobrého testovacího případu:

oblast

Popis

příklad

ID

unikátní ID

TC-PWD-014

Název

krátký účel

Odkaz s prošlou platností bude odmítnut

předpoklad

Nutná podmínka před testováním

Resetovací odkaz byl vygenerován před 31 minutami

kroky

Sekvenční akce

1. Klikněte na odkaz 2. Zadejte nové heslo

testovací data

Použité konkrétní hodnoty

starý odkaz, nové heslo "Abc!2345"

očekávaný výsledek

Chování k ověření

Chyba „Platnost odkazu vypršela“, heslo se nemění

Kritéria přijetí

odkaz na sledovatelnost

AK-3: odkaz platný 30 minut

prioritou

Úroveň rizika

vysoká

Čtyři kopírovatelné šablony

1) Technická tvorba scénáře:

Vaše role: hlavní návrhář testů.Generujte testovací případy pro funkci: [funkce a kritéria přijetí].Používejte: třídy ekvivalence, analýza bodů přerušení, rozhodovací tabulka.Poskytujte výstup ve 3 skupinách: pozitivní / negativní / okrajový případ. Každý případ: ID, předběžná podmínka, kroky, testovací data, očekávaný výsledek, související kritéria přijetí, priorita (vysoká/střední/nízká).

2) Edge case hunter:

Uveďte 10 běžně přehlížených okrajových případů pro následující prvek: [vlastnost]. Napište jednou větou, proč je to pro každého rizikové. Přemýšlejte o osách, jako je prázdný/null, příliš dlouhý vstup, souběžnost, časový limit, chyby formátu, Unicode/emoji, záporný/nulový, výpadek sítě.

3) Výroba rozhodovacího stolu:

Vytvořte rozhodovací tabulku pro následující obchodní pravidlo: [pravidla]. Sloupce: kombinace podmínek; řádky: každá podmínka a očekávaná akce. Označte nedosažitelné nebo konfliktní kombinace. Poté navrhněte testovací případ pro každou kombinaci.

4) Kontrola sledovatelnosti:

Na základě následujícího seznamu kritérií přijatelnosti a následujících testovacích případů:[kritéria] / [případy]. Ukažte v tabulce, která kritéria přijatelnosti splňují ŽÁDNÉ testovací případy (mezera pokrytí) a které případy nesplňují žádná kritéria (nadbytečný případ).

tři mini pouzdra

Případ 1 — Hodnota okrajových stavů. Expert z fintech týmu napsal 18 skriptů pro funkci převodu peněz. Použil šablonu „lovce hranových případů“ na AI; AI připomněla situaci „přenos stejného zůstatku ze dvou zařízení současně“ (souběh). Při testování tohoto scénáře byla nalezena chyba zabezpečení týkající se dvojího utrácení a před spuštěním byla uzavřena. Jediná okrajová situace zabránila potenciální šesticiferné ztrátě.

Případ 2 — Oříznutí vyboulení. Tým nechal AI vytvořit skript pro formulář členství a prošlo 74 případů. Spuštění šablony sledovatelnosti zjistilo, že 74 případů splnilo pouze 9 kritérií přijatelnosti, přičemž mnoho z nich znovu testovalo stejnou třídu ekvivalence. Soubor byl zredukován ze 74 na 23 významných případů; doba běhu se snížila o 68 %, pokrytí se nesnížilo.

Případ 3 – Špatný předpoklad. Umělá inteligence navrhla pro datové pole otestovat neplatná data jako „31. února“, ale nevěděla, že komponenta kalendáře, kterou tým používal, to již zablokovala. Expert vyloučil 4 ze 6 datových scénářů vytvořených AI jako zbytečné v kontextu produktu. možnosti generované AI; provedl výběr informací o produktu.

Časté chyby

  • Vyžádání skriptu bez zadání kritérií přijetí. Aniž by umělá inteligence věděla, co je pravda, vytváří povrchní scénáře, které často míjejí skutečné riziko.
  • Stačí se spokojit s pozitivními testy. Vysloveně nechci negativní a okrajové případy. Zde se často skrývají chyby.
  • Přijetí toho, co se vyrábí tak, jak to je. Zapomíná na to, že AI nezná kontext produktu a nechává na scéně zbytečné nebo nemožné scénáře.
  • Obcházení sledovatelnosti. Nespojování případů s kritérii přijetí; v důsledku toho není vidět, které kritérium není testováno (mezera pokrytí).
  • Kvantitativní omyl. Být šťastný, protože „bylo vydáno 60 scénářů“. Hodnota není v počtu, ale v rozsahu, který pokrývá riziko.

V souhrnu

Návrh testu spočívá v převedení požadavku jedné věty do konkrétních, spustitelných případů, které prokážou správnost softwaru. Umělá inteligence tuto transformaci výrazně urychluje: vytváří komplexní plány, když jí dáte kritéria přijetí, klasické testovací techniky (třídy ekvivalence, bod přerušení, rozhodovací tabulka, přechod stavu) a jasný výstupní formát. Ale umělá inteligence je zaujatá směrem k pozitivnímu, nezná kontext produktu a může způsobit zbytečné nafouknutí. Vaším úkolem je explicitně požadovat negativní a okrajové případy, zajistit sledovatelnost, stanovit priority podle rizika a omezovat.

Aplikační úkol

Vyberte funkci ze svého vlastního projektu a zapište si kritéria přijetí. Nechte AI vygenerovat testovací případy pomocí šablony „generování scénáře založeného na technikách“. Poté použijte šablony „Edge Case hunter“ a „Kontrola sledovatelnosti“. V důsledku toho: (1) přidejte alespoň 3 okrajové případy, které AI ​​přeskočí, (2) ořízněte případy, které se nepřipojují k žádným kritériím přijetí, (3) napište nové případy, pokud některá kritéria přijetí zůstala netestovaná. Nalijte konečnou sadu do tabulky.

kontrolní seznam

  • [ ] Než jsem požádal o scénář, objasnil jsem kritéria přijetí.
  • [ ] Požádal jsem YZ o třídy ekvivalence a analýzu okrajových hodnot podle názvu.
  • [ ] Generoval jsem samostatně kladné, záporné a okrajové stavy.
  • [ ] Každý testovací případ jsem propojil s kritériem přijetí (sledovatelnost).
  • [ ] Zkontroloval jsem mezeru v rozsahu a zbytečné případy pomocí tabulky.
  • [ ] Upřednostnil jsem podle rizika a prořízl nateklou sadu.