doba čtení: 10 minut
jak psát testovací případy se nemusí zdát jako tak důležitá součást vývoje. Ale aby software tester co nejlépe vykonávat svou práci, potřebují křišťálově čistý soubor kroků následovat a jasnou definici toho, co se testuje.
všichni od NASA a GE až po podnikové korporace mohou těžit z týmů, které fungují nejlépe. Psaní vynikajících testovacích případů je jen dalším způsobem, jak zvýšit efektivitu a účinnost týmu a Parasoft je především o posílení týmů, aby to udělaly.
v tomto blogu se zabýváme následujícími tématy týkajícími se toho, jak napsat testovací případ:
- co je to testovací případ?
- testovací skript vs. testovací případ
- různé typy testovacích případů
- jak psát softwarové testovací případy
- standardní formát testovacího případu
- testovací případ psaní osvědčených postupů
- testovací sada vs. testovací plán
- nástroje pro psaní testovacích případů
podívejte se, jak můžete vytvářet užitečné a opakovaně použitelné testovací případy, které usnadňují funkční testování API s automatizací testů vylepšenou o AI.
žádost o Demo
co je testovací případ v softwaru?
testovací případ je přesně to, co zní: testovací scénář měří funkčnost napříč sadou akcí nebo podmínek k ověření očekávaného výsledku. Vztahují se na jakoukoli softwarovou aplikaci, mohou používat ruční testování nebo automatizovaný test a mohou využívat nástroje pro správu testovacích případů.
klíčovou věcí, kterou je třeba pamatovat, pokud jde o psaní testovacích případů, je to, že jsou určeny k testování základní proměnné nebo úkolu, například zda se slevový kód vztahuje na správný produkt na webové stránce elektronického obchodování. To umožňuje software tester větší flexibilitu v tom, jak testovat kód a funkce.
optimalizace jednotkových a regresních testů pro vestavěné systémy
testovací skript vs. testovací případ
rozdíl mezi testovacími případy vs. testovací skripty by měl být také objasněn. Testovací skript je krátký program určený k testování určité funkce. Testovací případ je dokument s kroky, které mají být dokončeny podle plánu dopředu.
považujte testovací případy za pečlivě naplánovanou cestu a testovací skripty za spíše rychlý výlet do obchodu s potravinami.
různé typy testovacích případů
testovací případy mohou měřit mnoho různých aspektů kódu. Příslušné kroky mohou být také určeny k vyvolání výsledku selhání na rozdíl od pozitivního očekávaného výsledku, například když uživatel zadá nesprávné heslo na přihlašovací obrazovce.
některé běžné příklady testovacích případů by byly následující:
testovací případy lze použít na libovolný počet funkcí nalezených v daném softwaru. Mezi nejoblíbenější příklady patří:
- testování API-viz v akci.
- UI testování-vidět v akci.
- testování jednotek-viz v akci.
- zatížení & testování výkonu-viz v akci.
- bezpečnostní testování
- SQL dotazy
- testování aplikací s nízkým kódem
populární příklad testovacího případu
testovací případy se hodí v různých softwarových scénářích. Vše od bankovnictví po osobní software vyžaduje aplikaci testovacího případu. Pokud je například cílem zašifrovat citlivá data, software musí mít funkce, které fungují podle plánu.
ale funkční testování je jen jedním z aspektů psaní testovacího případu. Testování softwaru by mělo robustně zpochybnit každý aspekt kódu od výkonu přes kompatibilitu až po bezpečnost. To je důvod, proč osobní šifrovací software musí být testován tak důkladně-zejména pokud jde o věci, jako jsou webové API.
jak psát softwarové testovací případy
psaní testovacích případů se liší v závislosti na tom, co testovací případ měří nebo testuje. To je také situace, kdy sdílení testovacích aktiv napříč dev a testovacími týmy může urychlit testování softwaru. Ale všechno to začíná tím, že víte, jak efektivně a efektivně napsat testovací případ.
testovací případy mají několik integrálních částí, které by měly být vždy přítomny v polích. Každý testovací případ však lze rozdělit do 8 základních kroků.
Krok 1: ID testovacího případu
všechny testovací případy by měly nést jedinečné ID, které je reprezentují. Většinou, po konvenci pro toto pojmenování ID Pomáhá s organizací, jasnost, a porozumění.
Krok 2: Popis testu
tento popis by měl podrobně popsat, jaká jednotka, funkce nebo funkce se testuje nebo co se ověřuje.
Krok 3: předpoklady a předběžné podmínky
to znamená všechny podmínky, které musí být splněny před provedením zkušebního případu. Jedním z příkladů by bylo vyžadování platného účtu aplikace Outlook pro přihlášení.
Krok 4: testovací Data
to se týká proměnných a jejich hodnot v testovacím případě. V příkladu e-mailového přihlášení by to bylo uživatelské jméno a heslo pro účet.
Krok 5: Kroky, které mají být provedeny
měly by to být snadno opakovatelné kroky provedené z pohledu koncového uživatele. Například testovací případ pro přihlášení na e-mailový server může zahrnovat tyto kroky:
- Otevřete webovou stránku e-mailového serveru.
- zadejte uživatelské jméno.
- zadejte heslo.
- klikněte na tlačítko“ Enter „nebo“ Login“.
Krok 6: očekávaný výsledek
označuje výsledek očekávaný po provedení kroku zkušebního případu. Po zadání správných přihlašovacích údajů by očekávaným výsledkem bylo úspěšné přihlášení.
Krok 7: Skutečný výsledek a Post-podmínky
ve srovnání s očekávaným výsledkem můžeme určit stav testovacího případu. V případě e-mailového přihlášení by byl uživatel buď úspěšně přihlášen, nebo ne. Post-podmínka je to, co se stane v důsledku provedení kroku, jako je přesměrování do e-mailové schránky.
Krok 8: Pass / Fail
určení stavu pass / fail závisí na tom, jak se očekávaný výsledek a skutečný výsledek vzájemně porovnávají.
stejný výsledek = projít
různé výsledky = selhat
Zrychlete testování softwaru sdílením testovacích aktiv napříč Dev & testovací týmy
standardní formát případu testu jednotky
každá část dobře napsaného testu jednotky bude definovat několik základních aspektů, včetně:
- funkce provedené testem
- údaje použité v testu
- očekávaný výsledek z provedení testu
- zajištění provedení testu izolovaně od ostatních částí kódové základny
je důležité vědět, že standardní formát dobře napsaných testů se skládá z následujících částí::
- smysluplný název zkušební metody
- kontrolovaná data nebo výsměchy, které mají být použity pro testování
- testovaná metoda nebo jednotka (část kódu, kterou testujeme)
- použití tvrzení
- provedení testu jednotky izolovaně
existuje šablona testovacího případu?
jak již bylo zmíněno, existuje standardní formát testovacího případu. Šablona testovacího případu by se však pravděpodobně lišila od společnosti ke společnosti a dokonce od týmu k týmu. Místo toho je šablona testovacího případu dokument se seznamem testovacích scénářů a následných testovacích případů.
příklad testu kvality
ačkoli se testovací případy budou lišit v závislosti na typu testování a celkové oblasti testování, budování případu testu kvality sestává z těch několika spolehlivých položek výše. Nezapomeňte: název zkušební metody musí obsahovat testovanou metodu nebo jednotku a jaký je očekávaný výsledek.
je třeba také poznamenat, že každá jednotka by měla být testována izolovaně. V tomto případě „izolace“ znamená udržet testy zaměřené co nejvíce, aby bylo možné provést pouze část aplikace, kterou testujeme.
tento příklad pochází z bankovního testovacího případu:
s tímto názvem Metody, víme, že se jedná o test jednotky, který je:
- zkoušení metody “ isOverDrawn ()“.
- vyvážené použité pro kontrolovaná data bylo 500.
- očekávaný výsledek je pravdivý.
smysluplný název metody umožňuje každému, kdo přezkoumá výsledky, pochopit, na co test jednotky testoval. Kromě toho signalizuje data, která mají být testována, očekávaný výsledek a to, co bylo testováno.
pokud test selže, znalost očekávaného výsledku je rozhodující pro snadnější řešení problémů a zajištění toho, že nebudou zavedeny žádné regrese.
údaje o zkušebních případech
použitá data musí stačit k provedení testu. Pro testování jednotek, chceme, aby bylo co nejjednodušší otestovat nejzákladnější jednotku naší aplikace. Data mohou být stejně jednoduchá jako vytvoření proměnné řetězce nebo objektu, pro kterou můžete data ovládat. Nebo falešný rámec může být použit pro test, pokud závislost není k dispozici, nebo je třeba, aby tato závislost být v určitém stavu.
mít jen tolik, aby otestoval jednu část, pokud je dostatečná. Pro spuštění testu nemusíte konfigurovat každý kus aplikace.
to vše ovlivňuje chování testu jednotky, protože se jedná o data používaná pro provedení testu jednotky. Jako takový, tato část testování jednotek je časově nejnáročnější, protože vyžaduje určité pochopení kódu, který testujete, abyste věděli, jaká data použít pro testování.
Udržujte to jednoduché pomocí pouze částí potřebných pro testovaný kód. Mocks jsou v této fázi velmi užitečné, protože vám umožňují kontrolovat, jak se budou metody z těchto objektů chovat při interakci s vaším testem.
například vzhledem k následujícím údajům:
vyhnuli jsme se „skutečné třídě zákazníků“ použitím makety pro „třídu zákazníků“ pro testování izolace. Nechceme zavést ani konfigurovat jiný objekt pro tento test, protože přidává další vrstvu udržovatelnosti pro tento objekt a neovlivňuje výsledek testované metody.
další proměnnou, která má být vytvořena, je „počáteční zůstatek“ – něco známého díky znalosti kódu. Další řádek ukazuje vytvořený objekt účtu spolu s falešným a počátečním zůstatkem pro přípravu metody, kterou testujeme, s daty, která jsme právě použili.
takže v tomto příkladu je objekt účtu nakonfigurován s falešným zákazníkem, protože se nestaráme o data objektu zákazníka a prošli jsme počáteční zůstatek, který můžeme kontrolovat pro náš test.
následující řádek definuje vstup, protože testovaná metoda vyžaduje použití čísla. Definovali jsme „rovnováhu“, která má být použita v metodě, kterou testujeme. Poté je metoda provedena s výsledkem, že metoda je uložena v naší proměnné, abychom ji mohli použít později.
použití tvrzení
jakmile může test úspěšně dokončit (jako v něm běží od začátku do konce bez výjimek nebo chyb), je čas použít tvrzení na test jednotky. Bez tvrzení, test jednotky nemá smysl, protože není nic, co prosazujete, abyste zajistili, že funguje tak, jak bylo zamýšleno.
sběr pokrytí toho, jaké řádky byly provedeny, říká, co bylo provedeno, ale neposkytuje dostatek podrobností k určení následujících:
- pokud se kód chová podle očekávání.
- pokud kód splňuje cíle kvality.
- pokud jsou vrácená data očekávanými daty.
tvrzení může být stejně základní jako:
pokud test jednotky obsahuje jedno tvrzení, které kontroluje výsledek testu, jedná se o smysluplný test jednotky.
použitím standardního formátu testu jednotky může tým snadno udržovat, číst a/nebo aktualizovat testy s větší lehkostí, aby snadno zjistil, kde lze další testování použít na zbytek aplikace.
jaké jsou osvědčené postupy pro psaní případů testů kvality?
jak psát efektivní testy a testovací případy lze v průběhu času zefektivnit. Některé osvědčené postupy zahrnují používání silných titulů, silné popisy, a udržování stručného a jasného jazyka.
ale budete také chtít zahrnout předpoklady, předpoklady a očekávané výsledky. Všechny tyto informace jsou relevantní pro tester softwaru-zejména při určování, zda by testovací případ měl být místo toho „pass“ nebo „fail“.
podváděcí list pro vytváření testovacích případů, které fungují dobře, je následující:
- udržujte věci jednoduché a transparentní.
- proveďte opakované použití testovacích případů.
- Udržujte ID testovacího případu jedinečné.
- vzájemné hodnocení je důležité.
- testovací případy by měly mít na paměti koncového uživatele nebo definované požadavky.
- uveďte očekávané výsledky a předpoklady.
jednoduchý, jedinečný, specifický, otevřený zpětné vazbě a zaměřený na opětovnou použitelnost: To je způsob skvělého testovacího případu. Pro vizuální pohled na to, jak napsat případ testu kvality, podívejte se na webinář společnosti Parasoft na toto téma.
testovací sada vs. testovací plán
druhý aspekt testovacího případu zahrnuje testovací sady a testovací plány. Ty se liší klíčovými způsoby a oba jsou životně důležité pro přesný vývoj testovacích případů.
být chytřejší software Tester s těmito 5 lahodné kombinace technologií
co je testovací sada?
testovací sada přichází do hry pro testovací případy, protože se týká zdrojového kódu, kolekce závislostí nebo sady testů, které mají být provedeny na kódu. Testovací sady umožňují kategorizovat testovací případy způsobem, který odpovídá potřebám jakékoli analýzy nebo plánování.
to znamená, že základní softwarové funkce mohou mít vlastní testovací sadu, zatímco jiná testovací sada je určena pro konkrétní typ testování, jako je kouř nebo zabezpečení. Představte si testovací sady jako polici pro uspořádání testovacích případů.
co je testovací plán?
naproti tomu testovací plán je spíše jako deštník, který stojí nad všemi testovacími sadami. Pokud jsou testovací případy Knihy a testovací sady jsou regály, pak testovací plány jsou místnost, která obsahuje polici.
obecně platí, že testovací plány jsou nastaveny z hlediska ručních testů, automatizovaných testů a obecného formátu, jak postupovat při testování. Budou testovat software od základu až s využitím testovacích sad a testovacích případů před implementací změn nebo přidáním nových funkcí.
nejlepší testovací případ psací nástroje
Parasoft obecně vyvíjí své nástroje a sady s“ George Jetson “ teorie v mysli. To znamená, že chceme, aby naši klienti byli schopni „stisknout tlačítko“ a mít vše postaráno. I když to není zcela realistické, nástroje, které se zaměřují na automatizaci, jsou nejlepší použít, pokud jde o psaní testovacích případů.
nejenže mohou pomoci s automatizací, ale mohou pomoci od samého začátku vývoje. Koneckonců, je příliš snadné se dostat do malých detailů nebo funkcí. Dalo by se zapomenout, že software musí fungovat jako první. To je místo, kde Java jednotka testovací nástroj jako Parasoft Jtest přichází.
Zjednodušte testování API a zvyšte kvalitu softwaru. Viz automatizace testů vylepšená pomocí AI & ML v akci!
požádat o Demo
tento nástroj umožňuje začátečníkům i odborníkům zlepšit své dovednosti testování jednotek rychleji, stejně jako zkušenosti s testováním jednotek. Po založení nadace provede testy jednotek a poté provede uživatele, aby zajistil, že testy jsou smysluplné. Když můžete pochopit druhy věcí hledat v testu, testovací případ psaní se stává méně zastrašující.