Mis on testskript? Kuidas kirjutada näidetega
⚡ Nutikas kokkuvõte
Tarkvara testimise testskript on rida-realt koosnev käivitatavate käskude kogum, mis juhib rakendust ja kontrollib iga sammu. See juhend hõlmab kolme ehitusmeetodit, korduvkasutatavat malli ja toimivat... Selenium näide.

Mis on tarkvara testimise testskript?
A testiskript on rida-realt kirjeldus süsteemitoimingutest, mis tuleb testitava rakenduse valideerimiseks teha. See loetleb kõik vajalikud sammud koos iga sammu oodatava tulemusega.
Kuna see on käivitatav, saab sama skripti süstemaatiliselt esitada paljudes seadmetes ja versioonides. Kasutatav skript salvestab alati nii sisestatava sisendi kui ka oodatava väljundi.
Kuidas kirjutada testskripti

Testskripti loomiseks on kolm erinevat viisi:
Salvestamine ja taasesitus
Selle meetodi puhul ei pea testija üldse koodi kirjutama, vaid ainult kasutaja toimingute salvestamiseks. Kodeerimine on hiljem siiski vajalik, et parandada vigu või täpsustada automatiseerimise käitumist.
See meetod on lihtsam kui täieliku testskripti nullist kirjutamine, kuna teil on juba täielik kood. Seda kasutatakse enamasti lihtsustatud programmeerimiskeeles nagu VBScript.
Märksõna- või andmepõhine skriptimine
Selle meetodi puhul on testijad ja arendajad selgelt eraldatud. Andmepõhise skriptimise puhul määratleb testija testi, kasutades märksõnu, teadmata aluseks olevat koodi.
Siin on arendajate ülesandeks juurutada märksõnade testskripti kood ja vajadusel seda koodi värskendada. Nii et selle meetodi puhul ei pea testija süsteemi pärast muretsema. Kuid kõik uued funktsioonid, mida soovite automaatselt testida, sõltuvad nad suuresti arendusressurssidest.
Koodi kirjutamine programmeerimiskeeles
Selle meetodi valimisel on teil tavaliselt endiselt salvestamise ja taasesituse võimalus skripti esimese mustandi loomiseks.
Varem või hiljem peab testija aga salvestamisest ja taasesitusest kaugemale liikuma ning õppima käsitsi lihtsaid skripte kirjutama. Oluline on mõista, et saate valida oma Programmeerimiskeel isegi kui teie avaldus on sisse kirjutatud Java.
Kuid see ei tähenda, et peate oma testskriptid sisse kirjutama Java, mida võib olla raske õppida. Selle asemel saate oma testiskripte kirjutada lihtsamas keeles, näiteks JavaScript või Ruby (või mõni lihtsam keel, mida soovite kasutada).
Testskripti näide
Näiteks veebisaidil sisselogimisfunktsiooni kontrollimiseks võib teie testskript teha järgmist.
- Määrake, kuidas automatiseerimistööriist suudab sisselogimisekraanil leida väljad „Kasutajanimi” ja „Parool”. Ütleme nende CSS-i elementide ID-de järgi.
- Laadige veebisaidi avaleht, seejärel klõpsake lingil "sisselogimine". Veenduge, et kuvatav sisselogimisekraan ning väljad „Kasutajanimi” ja „Parool” oleksid nähtavad.
- Tippige kasutajanimi „Charles” ja parool „123456”, seejärel leidke nupp „Kinnita” ja klõpsake seda.
- Nad peavad täpsustama, kuidas kasutaja saab CSS-i elemendi ID järgi leida pärast sisselogimist ilmuva tervituskuva pealkirja.
- Veenduge, et tervituskuva pealkiri oleks nähtav.
- Lugege tervituskuva pealkirja.
- Väida, et pealkirja tekst on võrdne „Tere tulemast, Charles“.
- Kui pealkiri vastab ootusele, registreerige test sooritatuks. Vastasel juhul registreerige see ebaõnnestunuks.
Näidis-testskript Selenium koos Java
Ülaltoodud täpploend kirjeldab sisselogimistesti lihtsas inglise keeles. Siin on sama test, mis on kirjutatud käivitatava skriptina, kasutades Selenium WebDriver ja JUnitIga täpploend vastab ühele või kahele koodireale.
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(); } }
Kolm detaili eristavad päris stsenaariumi salvestatud stsenaariumist:
- Lokaatorid on selgesõnalised. Elemendid leitakse ID, mitte ekraanipositsiooni järgi, seega skript jääb paigutuse muutmise järel alles.
- Väide on test. Ilma assertEquals funktsioonita skript lihtsalt klõpsab; just assertion otsustab, kas see on õnnestunud või mitte.
- Puhastus töötab alati. driver.quit() vabastab brauseri, vastasel juhul jätab ebaõnnestunud käivitamine protsesse maha.
Sama struktuur kehtib igas keeles. Python koos Selenium kõnedest saab driver.find_element(By.ID, “email”) ja need kinnitavad tegelikku väärtust “Welcome Charles”.
Näpunäiteid testskripti loomiseks
Siin on mõned olulised näpunäited testskripti loomiseks.
Hoidke see selge
Sinu testiskript peaks olema piisavalt selge, et seda saaks ilma abita käivitada. Kui testija peab projekti omanikult rakenduse kohta üksikasju küsima, raisatakse aega ja ressursse.
Selle vältimiseks veenduge, et iga testskripti samm oleks selge, kokkuvõtlik ja sidus. See aitab testimisprotsessi sujuvana hoida.
Hoidke see lihtne
Peaksite looma testskripti, mis peaks sisaldama ainult ühte konkreetset toimingut, mida testijad peavad tegema. See tagab, et iga funktsiooni testitakse õigesti ja testijad ei jätaks tarkvara testimisprotsessi samme vahele.
Mõtle see läbi
Testskripti kirjutamiseks peate asetama end kasutaja kohale, et otsustada, milliseid teid testida. Peaksite olema piisavalt loominguline, et ennustada kõiki erinevaid teid, mida kasutajad süsteemi või rakenduse käitamise ajal kasutavad.
Millal kasutada testskripti meetodit?
Siin on testskripti kasutamise põhjused.
- Testi skript on kõige usaldusväärsem viis kinnitamaks, et ühtegi sammu ei jäeta vahele ja et tulemused vastavad kokkulepitud testiplaanile.
- Ettevalmistatud skript jätab täitmise ajal palju vähem ruumi vigadele.
- Kui testijad toodet vabalt uurivad, võivad nad selle funktsioone kergesti kahe silma vahele jätta.
- Testija võib eeldada, et funktsioon andis oodatud tulemuse, kui see seda ei teinud.
- See on eriti kasulik, kui kasutaja jõudlus on oluline ja konkreetne.
Mis on testskripti mall?
Testiskripti mall on korduvkasutatav, eelvormindatud dokument, mis sisaldab välju, mida iga teie projekti skript peab täitma. Selle standardiseerimine määrab teie testide detailsuse ja tagab, et ükski retsensent ei pea aimama, mida samm tähendab.
Toimiv mall sisaldab järgmisi välju:
| Väli | Eesmärk |
|---|---|
| Skripti ID | Unikaalne identifikaator, mida kasutatakse tracligipääsetavus ja defektide linkimine |
| Pealkiri | Üks rida, mis näitab, mida skript valideerib |
| Moodul või funktsioon | Testitava rakenduse ala |
| Eeltingimused | Märkige, et süsteem peab olema enne esimese etapi käivitamist sisse lülitatud |
| Testi andmed | Täpsed sisendid, sh volitused ja piirväärtused |
| Sammud | Nummerdatud toimingud, üks toiming sammu kohta |
| Oodatav tulemus | Iga sammu jälgitav tulemus |
| Tegelik tulemus | Täidetud teostuse ajal |
| olek | Läbitud, ebaõnnestunud, blokeeritud või mitte käivitatud |
| Autor ja kuupäev | Omandiõigus ja versiooniajalugu |
Erinevus testjuhtumi ja testskripti vahel
Siin on peamised erinevused testi ja testiskripti vahel:
| Testjuhtum | Testi skript |
|---|---|
| Katsejuhtum on samm-sammult protseduur, mida kasutatakse rakenduse testimiseks. | Testskript on juhiste kogum rakenduse automaatseks testimiseks. |
| Testjuhtumeid kasutatakse käsitsi testimise keskkonnas. | Testskripti kasutatakse automatiseerimise testimise keskkonnas. |
| Seda tehakse käsitsi. | Seda tehakse vastavalt skriptivormingule. |
| Testjuhtumi mall sisaldab testi ID-d, testiandmeid, testimisprotseduuri, tegelikke ja oodatavaid tulemusi jne. | Testskriptis saame skripti väljatöötamiseks kasutada erinevaid käske. |
Testiskriptide eelised ja puudused
Skriptimine on investeering. Teadmine, kus see end ära tasub, annab sulle teada, milliseid teste kõigepealt automatiseerida.
Eelised
- Korratav: Samad sammud toimivad igas versioonis identselt, mis teebki regressioontestimise praktiliseks.
- Kiire mastaabis: Komplekt, mis võtab ühelt testijalt päevas aega, saab käivitada minutitega ja seda saab käivitada üleöö.
- Järjepidev: skript ei hakka kunagi igavaks, ei jäta ühtegi sammu vahele ega loe tulemust valesti.
- Platvormiülene: Ühte skripti saab esitada erinevates brauserites, seadmetes ja operatsioonisüsteemides.
- CI-valmidus: skriptid ühendatakse ehitustorustikuga, nii et iga commit kontrollitakse automaatselt.
Puudused
- Kõrge paigalduskulu: Skripti kirjutamine ja silumine võtab palju kauem aega kui testi ühekordne käsitsi käivitamine.
- Hoolduskoormus: muudetud elemendi ID või ümberkujundatud lehevahetuste skriptid, mis tuleb seejärel parandada.
- Oskusnõue: Lisaks salvestamisele ja taasesitusele vajab meeskond programmeerimisoskust.
- Pime ootamatuste suhtes: Skript kontrollib ainult seda, mida tal kästakse kontrollida, seega visuaalsed ja kasutatavusvead libisevad mööda.
- Vale enesekindlus: Roheline pealiskaudsete skriptide komplekt võib varjata tegelikke lünki katvuses.
Praktiline reegel: kirjuta stabiilsed, korduvad ja kõrge riskiga teed ning pea uurimis- ja kasutatavusjuhendit.
Testi skript: peamised järeldused
- Testskriptid on rida-realt kirjeldus, mis sisaldab teavet süsteemitehingute kohta, mida tuleks testitava rakenduse või süsteemi valideerimiseks teha.
- Testjuhtum on samm-sammult protseduur, mida kasutatakse rakenduse testimiseks, samas kui testskript on juhiste kogum rakenduse automaatseks testimiseks.
- Testskripti loomiseks on kolm võimalust: 1) salvestamine/taasesitus, 2) märksõna-/andmepõhine skriptimine ja 3) kirjutamine. Code Programmeerimiskeele kasutamine.
- Teie testskript peab olema selge ja peaksite looma testskripti, mis peaks sisaldama ainult ühte konkreetset toimingut, mida testijad peavad tegema.
- Testi skript on kõige usaldusväärsem viis kinnitamaks, et ühtegi sammu ei jäeta vahele ja et tulemused vastavad kokkulepitud testiplaanile.
- Test Script Template on korduvkasutatav vormindatud dokument, mis sisaldab kasutatava testskripti loomiseks olulist eelvalitud teavet.
