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.

  • ???? Základní definice: Skript uvádí každou transakci, která se má provést, přesný vstup, který se má zadat, a očekávaný výsledek každého kroku.
  • 🎛️ Tři metody sestavení: Nahrávání a přehrávání, skriptování řízené klíčovými slovy nebo daty a psaní kódu přímo v programovacím jazyce.
  • 🧱 Jazyková svoboda: Skriptovací jazyk nemusí odpovídat jazyku aplikace, takže Java produkt lze testovat s JavaSkript resp Python.
  • ???? Šablona Disciplína: Standardní šablona opravuje pole ID, předběžné podmínky, testovací data, kroky, očekávaný výsledek a stav.
  • 🇧🇷 Skript vs. případ: Testovací případ je manuální postup krok za krokem, zatímco testovací skript je automaticky spuštěn nástrojem.
  • (Tj. Pravidla kvality: Udržujte každý skript jasný, omezte každý krok na jednu akci a navrhujte cesty z pohledu skutečného uživatele.

Co je testovací skript

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

Testovací skript
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.

Nejčastější dotazy

Testovací případ je manuální postup krok za krokem napsaný pro lidského testera. Testovací skript je spustitelný kód, který nástroj spouští automaticky. Jeden testovací případ se po automatizaci často stává jedním testovacím skriptem.

Začněte nahráváním a přehráváním, abyste viděli strukturu, a poté upravte vygenerovaný kód. Jakmile se nahrané skripty pokazí, přejděte k ručnímu psaní, protože nahrané lokátory zřídka přežijí změnu uživatelského rozhraní.

Cokoli se spustí jednou, cokoli se mění v každém sprintu a cokoli se posuzuje vizuálně. Průzkumné testování, kontrola použitelnosti a jednorázové kontroly stojí skriptování více než ruční provádění.

Ano. Nástroje umělé inteligence dokáží převést písemné testovací případy do spustitelných skriptů a navrhnout samoopravitelné lokátory při změně prvku. Revzobrazit každé vygenerované tvrzení, protože skript, který nikdy neselže, nic netestuje.

Nástroje s podporou umělé inteligence detekují změněné prvky a aktualizují lokátory bez lidského zásahu, čímž se eliminuje nejčastější příčina nefunkčních skriptů. Týmy stále kontrolují změny, než sadě znovu důvěřují.

Shrňte tento příspěvek takto: