Što je testni skript? Kako pisati s primjerom
⚡ Pametni sažetak
Testna skripta u testiranju softvera je skup izvršnih instrukcija redak po redak koji pokreće aplikaciju i provjerava svaki korak. Ovaj vodič pokriva tri metode izgradnje, predložak za višekratnu upotrebu i radni Selenium primjer.

Što je testna skripta u testiranju softvera?
A testni skript je redak po redak opis transakcija sustava koje se moraju izvršiti za validaciju testirane aplikacije. Navodi svaki korak koji treba poduzeti zajedno s očekivanim rezultatom svakog od njih.
Budući da je izvršna, ista skripta može se sustavno reproducirati na mnogim uređajima i izvedbama. Upotrebljiva skripta uvijek bilježi i stvarni unos i očekivani izlaz.
Kako napisati testnu skriptu

Postoje tri različita načina za izradu testne skripte:
Snimanje i reprodukcija
Kod ove metode tester uopće ne treba pisati nikakav kod, već samo bilježiti radnje korisnika. Kodiranje je i dalje potrebno kasnije kako bi se ispravile greške ili fino podesilo ponašanje automatizacije.
Ova metoda je lakša od pisanja kompletne testne skripte od nule jer već imate kompletan kod. Uglavnom se koristi u pojednostavljenom programskom jeziku kao što je VBScript.
Skriptiranje temeljeno na ključnim riječima ili podacima
U ovoj metodi postoji jasna razlika između testera i programera. U skriptiranju temeljenom na podacima, ispitivač definira test koristeći ključne riječi bez znanja o osnovnom kodu.
Ovdje je posao programera implementirati kod testne skripte za ključne riječi i ažurirati ovaj kod kada je potrebno. Dakle, u ovoj metodi, ispitivač ne mora brinuti o sustavu. Međutim, oni će se uvelike oslanjati na razvojne resurse za svaku novu funkcionalnost koju želite automatski testirati.
Pisanje koda u programskom jeziku
Ako odaberete ovu metodu, obično vam je i dalje dostupno snimanje i reprodukcija za generiranje prve verzije scenarija.
Prije ili kasnije, međutim, tester mora prijeći granicu snimanja i reprodukcije te naučiti pisati jednostavne skripte ručno. Važno je razumjeti da možete odabrati svoje Programski jezik čak i ako je vaša prijava napisana Java.
Međutim, to ne znači da morate pisati svoje testne skripte Java, što može biti teško naučiti. Umjesto toga, možete napisati svoje testne skripte na lakšem jeziku kao što je JavaScript ili Ruby (ili bilo koji lakši jezik koji želite koristiti).
Primjer testne skripte
Na primjer, za provjeru funkcije prijave na web stranici, vaša testna skripta može učiniti sljedeće:
- Odredite kako alat za automatizaciju može locirati polja "Korisničko ime" i "Zaporka" na zaslonu za prijavu. Recimo, njihovim ID-ovima CSS elemenata.
- Učitajte početnu stranicu web stranice, a zatim kliknite na poveznicu "prijava". Provjerite jesu li vidljivi ekran za prijavu koji se pojavljuje i polja "Korisničko ime" i "Zaporka".
- Upišite korisničko ime „Charles“ i lozinku „123456“, zatim pronađite gumb „Potvrdi“ i kliknite ga.
- Moraju odrediti kako korisnik može locirati naslov zaslona dobrodošlice koji se pojavljuje nakon prijave - recimo, prema ID-u CSS elementa.
- Provjerite je li vidljiv naslov zaslona dobrodošlice.
- Pročitajte naslov ekrana dobrodošlice.
- Tvrdite da naslovni tekst glasi „Dobrodošao Charles“.
- Ako naslov odgovara očekivanju, zabilježite test kao prošao. U suprotnom, zabilježite ga kao nije prošao.
Primjer testnog skripta u Selenium sa Java
Gornja lista s grafičkim oznakama opisuje test prijave jednostavnim jezikom. Ovdje je isti test napisan kao izvršna skripta, koristeći Selenium WebDriver i JUnitSvaka grafička oznaka odgovara jednoj ili dvije linije koda.
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(); } }
Tri detalja razlikuju pravi scenarij od snimljenog:
- Lokatori su eksplicitni. Elementi se pronalaze po ID-u, a ne po poziciji na ekranu, tako da skripta preživi promjenu izgleda.
- Tvrdnja je test. Bez assertEquals skripta samo klikne; assertacija je ta koja odlučuje hoće li proći ili ne.
- Čišćenje se uvijek izvršava. driver.quit() otpušta preglednik, inače neuspješno pokretanje ostavlja procese iza sebe.
Ista struktura vrijedi u bilo kojem jeziku. U Python sa Selenium Pozivi postaju driver.find_element(By.ID, “email”) i assert actual == “Dobrodošao Charles”.
Savjeti za izradu testne skripte
Evo nekoliko važnih savjeta za izradu testne skripte:
Održavajte to čistim
Vaš testni skript trebao bi biti dovoljno jasan da se može pokrenuti bez pomoći. Ako tester mora stalno pitati vlasnika projekta za detalje o aplikaciji, gubi se vrijeme i resursi.
Kako biste to izbjegli, provjerite je li svaki korak u testnom skriptu jasan, sažet i koherentan. To pomaže u održavanju glatkog procesa testiranja.
Držite ga jednostavno
Trebali biste izraditi testnu skriptu koja bi trebala sadržavati samo jednu određenu radnju koju testeri trebaju poduzeti. Time se osigurava da je svaka funkcija ispravno testirana i da ispitivači ne propuštaju korake u procesu testiranja softvera.
Dobro razmisli
Da biste napisali testnu skriptu, morate se staviti na mjesto korisnika kako biste odlučili koje putove testirati. Trebali biste biti dovoljno kreativni da predvidite sve različite staze koje bi korisnici koristili tijekom pokretanja sustava ili aplikacije.
Kada koristiti pristup testne skripte?
Evo razloga za korištenje testne skripte.
- Testni skript je najpouzdaniji način da se potvrdi da nijedan korak nije preskočen i da rezultati odgovaraju dogovorenom planu testiranja.
- Pripremljen scenarij ostavlja daleko manje prostora za pogreške tijekom izvršavanja.
- Kada testeri slobodno istražuju proizvod, lako mogu propustiti značajke.
- Tester također može pretpostaviti da je funkcija proizvela očekivani rezultat, iako to nije slučaj.
- Osobito je koristan kada je korisnička izvedba važna i specifična.
Što je predložak testne skripte?
Predložak testne skripte je dokument koji se može ponovno koristiti, unaprijed formatiran i sadrži polja koja svaka skripta u vašem projektu mora ispuniti. Standardizacija određuje koliko su vaši testovi detaljni i jamči da nijedan recenzent ne mora pogađati što koji korak znači.
Funkcionalni predložak sadrži ova polja:
| Polje | Svrha |
|---|---|
| ID skripte | Jedinstveni identifikator koji se koristi za tracjednostavnost i povezivanje nedostataka |
| Naslov | Jedan redak koji navodi što skripta provjerava |
| Modul ili značajka | Područje testirane aplikacije |
| preduvjeti | Stanje u kojem sustav mora biti uključen prije pokretanja prvog koraka |
| Podaci ispitivanja | Točni unosi, uključujući vjerodajnice i granične vrijednosti |
| Koraci | Numerirane radnje, jedna radnja po koraku |
| Očekivani rezultat | Vidljivi ishod svakog koraka |
| Stvarni rezultat | Popunjeno u vrijeme izvršenja |
| Status | Prolazak, pad, blokiran ili netrčanje |
| Autor i datum | Vlasništvo i povijest verzija |
Razlika između testnog slučaja i testne skripte
Evo glavnih razlika između testnog slučaja i testnog skripta:
| Testni slučaj | Test skripta |
|---|---|
| Testni slučaj je postupak korak po korak koji se koristi za testiranje aplikacije. | Testna skripta je skup uputa za automatsko testiranje aplikacije. |
| Testni slučajevi se koriste za ručno testiranje okruženja. | Testna skripta koristi se u okruženju za automatizirano testiranje. |
| Radi se ručno. | Radi se prema formatu skriptiranja. |
| Predložak testnog slučaja uključuje ID testa, testne podatke, testni postupak, stvarne i očekivane rezultate itd. | U testnoj skripti možemo koristiti različite naredbe za razvoj skripte. |
Prednosti i nedostaci testnih skripti
Skriptiranje je investicija. Poznavanje gdje se isplati govori vam koje testove prvo automatizirati.
Prednosti
- Ponovljivo: Isti koraci se izvode identično na svakoj izgradnji, što regresijsko testiranje čini praktičnim.
- Brzo u velikim razmjerima: Paket koji zahtijeva jednog testera dnevno može se pokrenuti za nekoliko minuta, a može se pokrenuti i preko noći.
- dosljedno: Skripta nikad ne dosadi, ne preskoči korak ili krivo pročita rezultat.
- Cross-platforma: Jedan se skript može reproducirati u različitim preglednicima, uređajima i operativnim sustavima.
- Spremno za CI: Skripte se uključuju u cjevovod izgradnje tako da se svaki commit automatski provjerava.
Nedostaci
- Visoki troškovi postavljanja: Pisanje i otklanjanje pogrešaka u skripti traje puno dulje nego jednokratno ručno pokretanje testa.
- Teret održavanja: promijenjeni ID elementa ili redizajnirane skripte za prijelome stranica koje se zatim moraju popraviti.
- Zahtjev za vještinu: Osim snimanja i reprodukcije, timu su potrebne i programerske sposobnosti.
- Slijep za neočekivano: Skripta provjerava samo ono što joj je rečeno da provjeri, pa vizualni i upotrebljivi nedostaci promaknu.
- Lažno samopouzdanje: Zeleni skup plitkih skripti može sakriti stvarne praznine u pokrivenosti.
Praktično pravilo: skriptirajte stabilne, repetitivne, visokorizične putanje i vodite istraživački i upotrebljivi radni priručnik.
Testni skript: Ključne informacije
- Testne skripte znače opis redak po redak koji sadrži informacije o transakcijama sustava koje treba izvršiti za provjeru valjanosti aplikacije ili sustava koji se testira.
- Test slučaj je postupak korak po korak koji se koristi za testiranje aplikacije dok je test skripta skup uputa za automatsko testiranje aplikacije.
- Tri načina za izradu testnog skripta su 1) Snimanje/reprodukcija 2) Skriptiranje vođeno ključnim riječima/podacima 3) Pisanje Code Korištenje programskog jezika.
- Vaša testna skripta trebala bi biti jasna i trebali biste izraditi testnu skriptu koja bi trebala sadržavati samo jednu određenu radnju koju testeri trebaju poduzeti.
- Testni skript je najpouzdaniji način da se potvrdi da nijedan korak nije preskočen i da rezultati odgovaraju dogovorenom planu testiranja.
- Predložak testne skripte je formatirani dokument za višekratnu upotrebu koji sadrži unaprijed odabrane informacije važne za stvaranje upotrebljive testne skripte.
