Mi az a tesztszkript? Hogyan írjunk példákkal illusztrálva?
⚡ Okos összefoglaló
A szoftvertesztelésben a tesztszkript egy soronkénti végrehajtható utasításkészlet, amely egy alkalmazást vezérel és minden lépést ellenőriz. Ez az útmutató a három build metódust, egy újrafelhasználható sablont és egy működőképes... Selenium példa.
Mi az a tesztszkript a szoftvertesztelésben?
A tesztszkript egy soronkénti leírás a tesztelt alkalmazás validálásához végrehajtandó rendszertranzakciókról. Felsorolja az összes megteendő lépést az egyes lépések várható eredményével együtt.
Mivel végrehajtható, ugyanaz a szkript szisztematikusan lejátszható számos eszközön és builden keresztül. Egy használható szkript mindig rögzíti mind a ténylegesen beírandó bemenetet, mind a várt kimenetet.
Hogyan írjunk tesztszkriptet

Három különböző módon hozhat létre tesztszkriptet:
Felvétel és lejátszás
Ebben a módszerben a tesztelőnek egyáltalán nem kell kódot írnia, csak a felhasználó műveleteit kell rögzítenie. Később továbbra is kódolásra van szükség a hibák kijavításához vagy az automatizálási viselkedés finomhangolásához.
Ez a módszer egyszerűbb, mint egy teljes tesztszkriptet a semmiből írni, mert már rendelkezik a teljes kóddal. Leginkább olyan egyszerűsített programozási nyelvekben használják, mint például a VBScript.
Kulcsszó- vagy adatvezérelt szkriptelés
Ebben a módszerben világosan elválasztják a tesztelőket és a fejlesztőket. Az adatvezérelt szkripteknél a tesztelő kulcsszavak használatával határozza meg a tesztet a mögöttes kód ismerete nélkül.
Itt a fejlesztők feladata, hogy implementálják a kulcsszavakhoz tartozó tesztszkriptet, és szükség esetén frissítsék ezt a kódot. Tehát ennél a módszernél a tesztelőnek nem kell aggódnia a rendszer miatt. Azonban nagymértékben támaszkodnak a fejlesztési erőforrásokra minden olyan új funkcióhoz, amelyet automatikusan tesztelni szeretnének.
Kód írása programozási nyelven
Ha ezt a módszert választja, általában továbbra is rendelkezésre áll felvétel és lejátszás a szkript első vázlatának elkészítéséhez.
Előbb vagy utóbb azonban egy tesztelőnek túl kell lépnie a rögzítésen és lejátszáson, és meg kell tanulnia egyszerű szkripteket kézzel írni. Fontos megérteni, hogy kiválaszthatja a sajátját Programozási nyelv akkor is, ha a jelentkezésed be van írva Java.
Ez azonban nem jelenti azt, hogy be kell írnia a tesztszkripteket Java, amit nehéz lehet megtanulni. Ehelyett megírhatja a tesztszkripteket egy egyszerűbb nyelven, például JavaForgatókönyv vagy Ruby (vagy bármilyen egyszerűbb nyelv, amelyet használni szeretne).
Példa egy tesztszkriptre
Például egy webhely bejelentkezési funkciójának ellenőrzéséhez a tesztszkript a következőket teheti:
- Adja meg, hogy az automatizálási eszköz hogyan találja meg a „Felhasználónév” és a „Jelszó” mezőket a bejelentkezési képernyőn. Tegyük fel, a CSS elemazonosítóik alapján.
- Töltse be a weboldal kezdőlapját, majd kattintson a „bejelentkezés” linkre. Ellenőrizze, hogy a megjelenő bejelentkezési képernyő, valamint a „Felhasználónév” és „Jelszó” mezők láthatóak-e.
- Írd be a „Charles” felhasználónevet és az „123456” jelszót, majd keresd meg a „Megerősítés” gombot, és kattints rá.
- Meg kell adniuk, hogy a felhasználó hogyan találhatja meg a bejelentkezés után megjelenő üdvözlő képernyő címét, mondjuk a CSS elem azonosítója alapján.
- Ellenőrizze, hogy az üdvözlő képernyő címe látható-e.
- Olvassa el az üdvözlő képernyő címét.
- Állapítsd meg, hogy a cím szövege megegyezik a következővel: „Üdvözöljük, Charles!”.
- Ha a cím megfelel az elvárásoknak, akkor a tesztet sikeresként kell rögzíteni. Ellenkező esetben sikertelenként kell rögzíteni.
Minta tesztszkript Selenium ahol Java
A fenti felsorolás egy bejelentkezési tesztet ír le egyszerű angol nyelven. Itt ugyanaz a teszt látható futtatható szkriptként, a következő használatával: Selenium WebDriver és JUnitMinden felsorolásjel egy vagy két kódsorhoz tartozik.
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(); } }
Három részlet különbözteti meg a valódi forgatókönyvet a felvetttől:
- A lokátorok explicit módon vannak megadva. Az elemek azonosító, nem pedig képernyőpozíció alapján találhatók, így a szkript túléli az elrendezés változását.
- Az állítás a teszt. Az assertEquals nélkül a szkript csak kattint; az assertion dönti el, hogy sikeres vagy sikertelen.
- A takarítás mindig fut. A driver.quit() függvény elengedi a böngészőt, ellenkező esetben egy sikertelen futás folyamatokat hagy maga után.
Ugyanez a struktúra érvényes bármely nyelven. Python ahol Selenium A hívások driver.find_element(By.ID, “email”) formátumúra változnak, és a következőt állítják be: actual == “Welcome Charles”.
Tippek tesztszkript létrehozásához
Íme néhány fontos tipp a tesztszkript létrehozásához:
Tartsd tisztán
A tesztszkriptednek elég egyértelműnek kell lennie ahhoz, hogy segítség nélkül is lefusson. Ha egy tesztelőnek folyamatosan a projekt tulajdonosától kell kérdezősködnie az alkalmazás részleteiről, az idő és erőforrások pazarlása.
Ennek elkerülése érdekében ellenőrizze, hogy a tesztszkript minden lépése világos, tömör és koherens-e. Ez segít a tesztelési folyamat zökkenőmentes lebonyolításában.
Legyen egyszerű
Létre kell hoznia egy tesztszkriptet, amely csak egy konkrét műveletet tartalmazhat a tesztelők számára. Ez biztosítja, hogy minden funkciót megfelelően teszteljenek, és hogy a tesztelők ne hagyják ki a szoftvertesztelési folyamat lépéseit.
Gondold át
A tesztszkript megírásához a felhasználó helyébe kell helyeznie magát, hogy eldöntse, mely útvonalakat tesztelje. Elég kreatívnak kell lennie ahhoz, hogy megjósolja a felhasználók által a rendszer vagy alkalmazás futtatása közben használt különféle útvonalakat.
Mikor kell használni a tesztszkript megközelítést?
Íme a tesztszkript használatának okai.
- Egy tesztszkript a legmegbízhatóbb módja annak, hogy megerősítsük, hogy egyetlen lépés sem marad ki, és hogy az eredmények megfelelnek a megállapodott tesztelési tervnek.
- Egy előre elkészített szkript sokkal kevesebb lehetőséget hagy a hibákra a végrehajtás során.
- Amikor a tesztelők szabadon felfedeznek egy terméket, könnyen kihagyhatnak bizonyos funkciókat.
- Egy tesztelő azt is feltételezheti, hogy egy függvény a várt eredményt hozta létre, ha nem.
- Különösen akkor hasznos, ha a felhasználói teljesítmény fontos és specifikus.
Mi az a tesztszkript sablon?
A tesztszkript sablon egy újrafelhasználható, előre formázott dokumentum, amely tartalmazza azokat a mezőket, amelyeket a projekt minden szkriptjének ki kell töltenie. A szabványosítás határozza meg, hogy mennyire részletesek a tesztek, és garantálja, hogy egyetlen felülvizsgálónak sem kell találgatnia, mit jelent egy lépés.
Egy működőképes sablon a következő mezőket tartalmazza:
| Mező | Cél |
|---|---|
| Szkriptazonosító | Egyedi azonosító, amelyet a következőhöz használnak: trachasználhatóság és hibák összekapcsolása |
| Cím | Egy sor, amely kiírja, hogy mit ellenőriz a szkript |
| Modul vagy funkció | A tesztelt alkalmazás területe |
| Előfeltételek | Állapítsa meg, hogy a rendszernek be kell állnia az első lépés futtatása előtt |
| Teszt adat | Pontos bemenetek, beleértve a hitelesítő adatokat és a határértékeket |
| Lépései | Számozott műveletek, lépésenként egy művelet |
| Várható eredmény | Az egyes lépések megfigyelhető eredménye |
| Valós eredmény | Végrehajtáskor kitöltve |
| Állapot | Sikeres, sikertelen, blokkolt vagy nem fut |
| Szerző és dátum | Tulajdonjog és verzióelőzmények |
Különbség a teszteset és a tesztszkript között
Íme a teszteset és a tesztszkript közötti fő különbségek:
| Teszt eset | Teszt szkript |
|---|---|
| Vizsgálati eset egy lépésről lépésre végzett eljárás, amelyet egy alkalmazás tesztelésére használnak. | A tesztszkript egy alkalmazás automatikus teszteléséhez szükséges utasításkészlet. |
| A tesztesetek kézi tesztelési környezethez használatosak. | A tesztszkriptet az automatizálási tesztelési környezetben használják. |
| Ez manuálisan történik. | Ez a szkript formátum szerint történik. |
| A teszteset sablon tartalmazza a tesztazonosítót, a tesztadatokat, a vizsgálati eljárást, a tényleges és várt eredményeket stb. | A Tesztszkriptben különböző parancsokat használhatunk a szkript fejlesztéséhez. |
A tesztszkriptek előnyei és hátrányai
A szkriptelés befektetés. Ha tudod, hol térül meg, akkor melyik teszteket automatizáld először.
Előnyök
- Megismételhető: ugyanazok a lépések futnak azonosan minden builden, ami a regressziós tesztelést praktikussá teszi.
- Gyorsan skálázható: Egy olyan csomag, amihez egy tesztelőre van szükség egy napra, percek alatt futtatható, és akár egy éjszaka alatt is futtatható.
- Következetes: A szkript soha nem unatkozik, nem hagy ki egyetlen lépést sem, és nem olvassa félre az eredményt.
- Keresztplatform: Egyetlen szkript lejátszható böngészők, eszközök és operációs rendszerek között.
- CI-kész: A szkriptek egy build folyamatba csatlakoznak, így minden commit automatikusan ellenőrzésre kerül.
Hátrányok
- Magas beállítási költség: Egy szkript megírása és hibakeresése sokkal tovább tart, mint a teszt egyszeri kézi futtatása.
- Karbantartási teher: egy megváltozott elemazonosító vagy egy újratervezett oldaltörés-szkript, amelyet aztán javítani kell.
- Képességkövetelmény: A felvételen és lejátszáson túl a csapatnak programozási ismeretekre is szüksége van.
- Vakok a váratlanra: Egy szkript csak azt ellenőrzi, amire utasítást kapott, így a vizuális és használhatósági hibák kicsúsznak a kezei közül.
- Hamis önbizalom: A sekély szkriptek zöld halmaza elrejtheti a lefedettség valódi hiányosságait.
A gyakorlati szabály: írj szkriptet a stabil, ismétlődő, magas kockázatú útvonalakra, és vezess egy feltáró és használhatósági munkafüzetet.
Tesztszkript: Főbb tanulságok
- A tesztszkriptek soronkénti leírást jelentenek, amely tartalmazza azokat a rendszertranzakciókat, amelyeket a tesztelés alatt álló alkalmazás vagy rendszer érvényesítéséhez végre kell hajtani.
- A teszteset egy lépésről lépésre végzett eljárás, amelyet egy alkalmazás tesztelésére használnak, míg a tesztszkript egy alkalmazás automatikus teszteléséhez szükséges utasítások halmaza.
- A tesztszkriptek létrehozásának három módja: 1) Felvétel/lejátszás 2) Kulcsszó-/adatvezérelt szkriptelés, 3) Írás Code A programozási nyelv használata.
- A tesztszkriptnek egyértelműnek kell lennie, és létre kell hoznia egy tesztszkriptet, amely csak egy konkrét műveletet tartalmazhat a tesztelők számára.
- Egy tesztszkript a legmegbízhatóbb módja annak, hogy megerősítsük, hogy egyetlen lépés sem marad ki, és hogy az eredmények megfelelnek a megállapodott tesztelési tervnek.
- A Test Script Template egy újrafelhasználható formázott dokumentum, amely előre kiválasztott információkat tartalmaz, amelyek fontosak a használható tesztszkript létrehozásához.

