Co je to testovací skript? Jak psát s příkladem
⚡ Chytré shrnutí
Testovací skript v softwarovém testování je řádkově definovaná sada spustitelných instrukcí, která řídí aplikaci a kontroluje každý její krok. Tato příručka se zabývá třemi metodami sestavení, opakovaně použitelnou šablonou a funkčním skriptem. Selenium příklad.
Co je testovací skript v testování softwaru?
A testovací skript je řádkový popis systémových transakcí, které je nutné provést k ověření testované aplikace. Uvádí všechny kroky, které je třeba podniknout, spolu s očekávaným výsledkem každého z nich.
Protože je spustitelný, lze stejný skript systematicky přehrávat na mnoha zařízeních a v mnoha sestaveních. Použitelný skript vždy zaznamenává jak skutečný vstup, který má být zadán, tak i očekávaný výstup.
Jak napsat testovací skript

Existují tři různé způsoby, jak vytvořit testovací skript:
Záznam a přehrávání
V této metodě tester nemusí psát vůbec žádný kód, pouze zaznamenává akce uživatele. Kódování je i tak nutné později, aby se opravily jakékoli chyby nebo aby se doladilo chování automatizace.
Tato metoda je jednodušší než psaní kompletního testovacího skriptu od začátku, protože již máte kompletní kód. Většinou se používá ve zjednodušeném programovacím jazyce, jako je VBScript.
Skriptování řízené klíčovými slovy nebo daty
V této metodě existuje jasné oddělení mezi testery a vývojáři. Ve skriptování řízeném daty tester definuje test pomocí klíčových slov bez znalosti základního kódu.
Zde je úkolem vývojářů implementovat kód testovacího skriptu pro klíčová slova a v případě potřeby tento kód aktualizovat. Při této metodě se tedy tester nemusí o systém starat. Budou však velmi spoléhat na vývojové zdroje pro jakoukoli novou funkci, kterou chcete automaticky testovat.
Psaní kódu v programovacím jazyce
Pokud zvolíte tuto metodu, obvykle máte stále k dispozici nahrávání a přehrávání pro generování první verze scénáře.
Dříve či později se ale tester musí posunout za hranice nahrávání a přehrávání a naučit se psát jednoduché skripty ručně. Je důležité si uvědomit, že si můžete vybrat, co chcete. Programovací jazyk i když je vaše aplikace napsaná Java.
To však neznamená, že musíte psát své testovací skripty Java, což může být obtížné se naučit. Místo toho můžete napsat své testovací skripty v jednodušším jazyce, jako je JavaScénář nebo Ruby (nebo jiný jednodušší jazyk, který chcete použít).
Příklad testovacího skriptu
Chcete-li například zkontrolovat funkci přihlášení na webu, váš testovací skript může provést následující:
- Určete, jak může automatizační nástroj najít pole „Username“ a „Password“ na přihlašovací obrazovce. Řekněme podle jejich ID prvků CSS.
- Načtěte domovskou stránku webu a poté klikněte na odkaz „přihlásit se“. Ověřte, že se zobrazí přihlašovací obrazovka a pole „Uživatelské jméno“ a „Heslo“.
- Zadejte uživatelské jméno „Charles“ a heslo „123456“, poté vyhledejte tlačítko „Potvrdit“ a klikněte na něj.
- Musí určit, jak může uživatel najít název úvodní obrazovky, která se objeví po přihlášení – řekněme podle ID prvku CSS.
- Ověřte, že je viditelný název uvítací obrazovky.
- Přečtěte si název úvodní obrazovky.
- Tvrdí, že text titulku zní „Vítej, Charlesi“.
- Pokud název odpovídá očekávání, zaznamenejte test jako úspěšný. Jinak zaznamenejte test jako neúspěšný.
Ukázkový testovací skript v Selenium s Java
Výše uvedený seznam s odrážkami popisuje test přihlášení v jednoduché angličtině. Zde je stejný test napsaný jako spustitelný skript s použitím Selenium WebDriver a JUnitKaždá odrážka odpovídá jednomu nebo dvěma řádkům kódu.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.junit.Assert; import org.junit.Test; public class LoginTestScript { @Test public void validLoginShowsWelcomeMessage() { // Step 1: start the browser and open the site WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/login.html"); // Step 2: locate the fields by their element ids driver.findElement(By.id("email")).sendKeys("Charles"); driver.findElement(By.id("passwd")).sendKeys("123456"); // Step 3: submit the form driver.findElement(By.id("SubmitLogin")).click(); // Step 4: read the welcome title and assert the expected result String actual = driver.findElement(By.id("welcome")).getText(); Assert.assertEquals("Welcome Charles", actual); driver.quit(); } }
Tři detaily odlišují skutečný scénář od nahraného:
- Lokátory jsou explicitní. Prvky se nacházejí podle ID, nikoli podle pozice na obrazovce, takže skript přežije změnu rozvržení.
- Tvrzení je test. Bez assertEquals skript pouze klikne; je to assert, který rozhoduje o úspěšném či neúspěšném provedení.
- Úklid probíhá vždy. Funkce driver.quit() uvolní prohlížeč, jinak neúspěšné spuštění zanechá procesy po sobě.
Stejná struktura platí v jakémkoli jazyce. V Python s Selenium Volání se stanou driver.find_element(By.ID, „email“) a assertují actual == „Vítej, Charlesi“.
Tipy pro vytvoření testovacího skriptu
Zde je několik důležitých tipů pro vytvoření testovacího skriptu:
Udržujte to čisté
Váš testovací skript by měl být dostatečně srozumitelný, aby běžel bez pomoci. Pokud se tester musí neustále ptát vlastníka projektu na podrobnosti o aplikaci, plýtvá se časem a zdroji.
Abyste tomu předešli, ověřte, zda je každý krok v testovacím skriptu jasný, stručný a souvislý. To pomůže udržet proces testování hladký.
Keep it simple
Měli byste vytvořit testovací skript, který by měl obsahovat pouze jednu konkrétní akci, kterou mají testeři provést. To zajišťuje, že každá funkce je testována správně a že testeři nevynechají kroky v procesu testování softwaru.
Promysli si to
Chcete-li napsat testovací skript, musíte se vžít do situace uživatele, abyste se rozhodli, které cesty otestovat. Měli byste být dostatečně kreativní, abyste mohli předvídat všechny různé cesty, které by uživatelé použili při spuštění systému nebo aplikace.
Kdy použít přístup testovacího skriptu?
Zde jsou důvody pro použití testovacího skriptu.
- Testovací skript je nejspolehlivějším způsobem, jak potvrdit, že žádný krok není vynechán a že výsledky odpovídají dohodnutému testovacímu plánu.
- Připravený skript ponechává mnohem méně prostoru pro chyby během provádění.
- Když testeři volně prozkoumávají produkt, mohou snadno přehlédnout některé funkce.
- Tester může také předpokládat, že funkce přinesla očekávaný výsledek, i když tomu tak nebylo.
- Je zvláště užitečné, když je výkon uživatele důležitý a specifický.
Co je šablona testovacího skriptu?
Šablona testovacího skriptu je opakovaně použitelný, předformátovaný dokument obsahující pole, která musí vyplnit každý skript ve vašem projektu. Standardizace určuje, jak podrobné budou vaše testy, a zaručuje, že žádný recenzent nebude muset hádat, co který krok znamená.
Funkční šablona obsahuje tato pole:
| Pole | Účel |
|---|---|
| ID skriptu | Jedinečný identifikátor používaný pro tracsnadnost a propojení defektů |
| Předmět | Jeden řádek s uvedením, co skript ověřuje |
| Modul nebo funkce | Oblast testované aplikace |
| Předpoklady | Stav, ve kterém musí být systém aktivován před spuštěním prvního kroku |
| Testovací data | Přesné vstupy, včetně přihlašovacích údajů a hraničních hodnot |
| Kroky | Číslované akce, jedna akce na krok |
| Očekávaný výsledek | Pozorovatelný výsledek každého kroku |
| Skutečný výsledek | Vyplněno v době provedení |
| Status | Prošel, neprošel, zablokoval nebo neběžel |
| Autor a datum | Vlastnictví a historie verzí |
Rozdíl mezi testovacím případem a testovacím skriptem
Zde jsou hlavní rozdíly mezi testovacím případem a testovacím skriptem:
| Testovací případ | Testovací skript |
|---|---|
| Modelový případ je postup krok za krokem, který se používá k testování aplikace. | Testovací skript je sada instrukcí pro automatické testování aplikace. |
| Testovací případy se používají pro manuální testovací prostředí. | Testovací skript se používá v prostředí testování automatizace. |
| Provádí se ručně. | Provádí se podle formátu skriptování. |
| Šablona testovacího případu obsahuje Test ID, testovací data, testovací postup, skutečné a očekávané výsledky atd. | V testovacím skriptu můžeme k vývoji skriptu použít různé příkazy. |
Výhody a nevýhody testovacích skriptů
Skriptování je investice. Vědět, kde se vám vyplatí, vám řekne, které testy automatizovat jako první.
Výhody
- Opakovatelný: Stejné kroky běží identicky při každém sestavení, což dělá regresní testování praktickým.
- Rychlé ve velkém měřítku: Sada, která vyžaduje jednoho testera denně, může běžet během několika minut a může běžet i přes noc.
- Konzistentní: Skript se nikdy nenudí, nepřeskočí krok ani nepřečte výsledek.
- Víceplatformní: Jeden skript lze přehrát napříč prohlížeči, zařízeními a operačními systémy.
- Připraveno pro CI: Skripty se zapojují do sestavovacího kanálu, takže každý commit je automaticky ověřen.
Nevýhody
- Vysoké náklady na instalaci: Psaní a ladění skriptu trvá mnohem déle než jednorázové ruční spuštění testu.
- Údržba: změněné ID prvku nebo přepracované skripty pro zalomení stránek, které je následně nutné opravit.
- Požadavky na dovednosti: Kromě nahrávání a přehrávání potřebuje tým i programátorské schopnosti.
- Slepý k neočekávanému: Skript kontroluje pouze to, co mu bylo řečeno, takže vizuální a použitelné vady proklouznou.
- Falešná důvěra: Zelená sada povrchních skriptů může skrýt skutečné mezery v pokrytí.
Praktické pravidlo: napište skripty pro stabilní, opakující se a vysoce rizikové cesty a veďte pracovní manuál pro průzkum a použitelnost.
Testovací skript: Klíčové poznatky
- Testovací skripty znamenají popis řádek po řádku obsahující informace o systémových transakcích, které by měly být provedeny pro ověření testované aplikace nebo systému.
- Testovací případ je postup krok za krokem, který se používá k testování aplikace, zatímco testovací skript je sada instrukcí pro automatické testování aplikace.
- Tři způsoby, jak vytvořit testovací skript, jsou 1) Záznam/přehrávání, 2) Skriptování řízené klíčovými slovy/daty, 3) Psaní. Code Používání programovacího jazyka.
- Váš testovací skript by měl být jasný a měli byste vytvořit testovací skript, který by měl obsahovat pouze jednu konkrétní akci, kterou mají testeři provést.
- Testovací skript je nejspolehlivějším způsobem, jak potvrdit, že žádný krok není vynechán a že výsledky odpovídají dohodnutému testovacímu plánu.
- Test Script Template je opakovaně použitelný formátovaný dokument, který obsahuje předem vybrané informace důležité pro vytvoření použitelného testovacího skriptu.

