Hvad er et testscript? Hvordan skriver man med eksempler
โก Smart opsummering
Testscript i softwaretest er et linje-for-linje sรฆt af eksekverbare instruktioner, der driver en applikation og kontrollerer hvert trin. Denne vejledning dรฆkker de tre byggemetoder, en genanvendelig skabelon og en fungerende Selenium eksempel.

Hvad er et testscript i softwaretest?
A test script er en linje-for-linje beskrivelse af de systemtransaktioner, der skal udfรธres for at validere den applikation, der testes. Den angiver alle trin, der skal tages, sammen med det forventede resultat af hvert enkelt trin.
Fordi det er eksekverbart, kan det samme script afspilles systematisk pรฅ tvรฆrs af mange enheder og builds. Et brugbart script registrerer altid bรฅde det faktiske input, der skal indtastes, og det forventede output.
Sรฅdan skriver du et testscript

Der er tre forskellige mรฅder at oprette et testscript pรฅ:
Optagelse og afspilning
Med denne metode behรธver testeren slet ikke at skrive nogen kode, kun at registrere brugerens handlinger. Kodning er stadig nรธdvendig senere for at rette eventuelle fejl eller for at finjustere automatiseringsadfรฆrden.
Denne metode er nemmere end at skrive et komplet testscript fra bunden, fordi du allerede har den komplette kode. Det bruges mest i et forenklet programmeringssprog sรฅsom VBScript.
Sรธgeords- eller datadrevne scripts
I denne metode er der en klar adskillelse mellem testere og udviklere. I datadrevet scripting definerer testeren testen ved hjรฆlp af nรธgleord uden kendskab til den underliggende kode.
Her er udviklernes opgave at implementere testscriptkoden til nรธgleordene og opdatere denne kode, nรฅr det er nรธdvendigt. Sรฅ i denne metode behรธver testeren ikke bekymre sig om systemet. De vil dog i hรธj grad stole pรฅ udviklingsressourcer til enhver ny funktionalitet, du vil teste automatisk.
At skrive kode i et programmeringssprog
Hvis du vรฆlger denne metode, har du normalt stadig mulighed for optagelse og afspilning til rรฅdighed til at generere et fรธrste udkast til manuskriptet.
Fรธr eller siden bliver en tester dog nรธdt til at gรฅ ud over optagelse og afspilning og lรฆre at skrive simple manuskripter i hรฅnden. Det er vigtigt at forstรฅ, at du kan vรฆlge din Programmeringssprog ogsรฅ selvom din ansรธgning er skrevet ind Java.
Det betyder dog ikke, at du skal skrive dine testscripts ind Java, hvilket kan vรฆre svรฆrt at lรฆre. I stedet kan du skrive dine testscripts pรฅ et lettere sprog som f.eks JavaScript eller Ruby (eller et hvilket som helst lettere sprog, du รธnsker at bruge).
Eksempel pรฅ et testscript
For at kontrollere loginfunktionen pรฅ et websted kan dit testscript for eksempel gรธre fรธlgende:
- Angiv, hvordan automatiseringsvรฆrktรธjet kan finde felterne "Brugernavn" og "Adgangskode" pรฅ login-skรฆrmen. Lad os sige, ved deres CSS element ID'er.
- Indlรฆs hjemmesidens hjemmeside, og klik derefter pรฅ linket "login". Kontroller, at login-skรฆrmen, der vises, og felterne "Brugernavn" og "Adgangskode" er synlige.
- Indtast brugernavnet โCharlesโ og adgangskoden โ123456โ, find derefter knappen โBekrรฆftโ, og klik pรฅ den.
- De skal specificere, hvordan en bruger kan finde titlen pรฅ velkomstskรฆrmen, der vises efter login, f.eks. ved hjรฆlp af dens CSS-element-id.
- Bekrรฆft, at titlen pรฅ velkomstskรฆrmen er synlig.
- Lรฆs titlen pรฅ velkomstskรฆrmen.
- Bekrรฆft at titelteksten er lig med "Velkommen, Charles".
- Hvis titlen stemmer overens med forventningerne, skal testen registreres som bestรฅet. Ellers skal den registreres som ikke bestรฅet.
Eksempel pรฅ testscript i Selenium med Java
Ovenstรฅende punktliste beskriver en logintest pรฅ almindeligt engelsk. Her er den samme test skrevet som et eksekverbart script, der bruger Selenium WebDriver og JUnitHvert punkttegn er knyttet til en eller to linjer kode.
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(); } }
Tre detaljer adskiller et rigtigt manuskript fra et indspillet manuskript:
- Lokaliseringspunkter er eksplicitte. Elementer findes efter id snarere end efter skรฆrmposition, sรฅ scriptet overlever en layoutรฆndring.
- Pรฅstanden er testen. Uden assertEquals klikker scriptet blot; det er assertionen, der afgรธr om den bestรฅs eller ikke.
- Oprydning kรธrer altid. driver.quit() frigiver browseren, ellers efterlader en mislykket kรธrsel processer.
Den samme struktur gรฆlder i alle sprog. Python med Selenium kaldene bliver driver.find_element(By.ID, โemailโ) og bekrรฆfter actual == โVelkommen, Charlesโ.
Tips til oprettelse af et testscript
Her er nogle vigtige tips til at oprette et testscript:
Hold det klart
Dit testscript skal vรฆre tydeligt nok til at kรธre uden hjรฆlp. Hvis en tester bliver ved med at spรธrge projektejeren om detaljer om applikationen, spildes tid og ressourcer.
For at undgรฅ dette skal du kontrollere, at hvert trin i testscriptet er klart, prรฆcist og sammenhรฆngende. Dette hjรฆlper med at holde testprocessen gnidningsfri.
Hold det simpelt
Du bรธr oprette et testscript, der kun skal indeholde รฉn specifik handling, som testerne kan udfรธre. Dette sikrer, at hver funktion testes korrekt, og at testere ikke gรฅr glip af trin i softwaretestprocessen.
Tรฆnk det igennem
For at skrive testscriptet skal du sรฆtte dig i brugerens sted for at bestemme, hvilke stier der skal testes. Du bรธr vรฆre kreativ nok til at forudsige alle de forskellige stier, som brugere vil bruge, mens de kรธrer et system eller en applikation.
Hvornรฅr skal man bruge Test Script-metoden?
Her er grundene til at bruge testscriptet.
- Et testscript er den mest pรฅlidelige mรฅde at bekrรฆfte, at intet trin springes over, og at resultaterne stemmer overens med den aftalte testplan.
- Et forberedt script giver langt mindre plads til fejl under udfรธrelsen.
- Nรฅr testere udforsker et produkt frit, kan de nemt overse funktioner.
- En tester kan ogsรฅ antage, at en funktion producerede det forventede resultat, nรฅr den ikke gjorde det.
- Det er isรฆr nyttigt, nรฅr brugerens ydeevne er vigtig og specifik.
Hvad er en testscriptskabelon?
En skabelon til et testscript er et genanvendeligt, prรฆformateret dokument, der indeholder de felter, som hvert script i dit projekt skal udfylde. Standardiseringen afgรธr, hvor detaljerede dine tests er, og garanterer, at ingen korrekturlรฆser behรธver at gรฆtte, hvad et trin betyder.
En brugbar skabelon indeholder disse felter:
| Felt | Formรฅl |
|---|---|
| Script-ID | Unik identifikator brugt til traceffektivitet og defektkobling |
| Emne | En linje, der angiver, hvad scriptet validerer |
| Modul eller funktion | Omrรฅdet for den applikation, der testes |
| forudsรฆtninger | Angiv, at systemet skal vรฆre aktiveret, fรธr det fรธrste trin kรธrer |
| Test data | Prรฆcise input, inklusive legitimationsoplysninger og grรฆnsevรฆrdier |
| Steps | Nummererede handlinger, รฉn handling pr. trin |
| Forventet resultat | Det observerbare resultat af hvert trin |
| Faktisk resultat | Udfyldt pรฅ udfรธrelsestidspunktet |
| Status | Bestรฅet, mislykket, blokeret eller ikke kรธrsel |
| Forfatter og dato | Ejerskab og versionshistorik |
Forskellen mellem testcase og testscript
Her er de vigtigste forskelle mellem en testcase og et testscript:
| Test sag | Test script |
|---|---|
| Test tilfรฆlde er en trinvis procedure, der bruges til at teste en applikation. | Testscriptet er et sรฆt instruktioner til at teste en applikation automatisk. |
| Testcases bruges til manuel testmiljรธ. | Test Script bruges i automatiseringstestmiljรธet. |
| Det gรธres manuelt. | Det gรธres i henhold til script-formatet. |
| Testcase-skabelonen inkluderer test-id, testdata, testprocedure, faktiske og forventede resultater osv. | I testscriptet kan vi bruge forskellige kommandoer til at udvikle et script. |
Fordele og ulemper ved testscripts
Scripting er en investering. At vide, hvor det betaler sig, fortรฆller dig, hvilke tests du skal automatisere fรธrst.
Fordele
- Gentagelig: De samme trin kรธrer identisk pรฅ hver build, hvilket er det, der gรธr regressionstestning praktisk.
- Hurtig i stor skala: En suite, der tager en tester om dagen, kan kรธre pรฅ fรฅ minutter og kan kรธre natten over.
- Konsekvent: Scriptet keder sig aldrig, springer aldrig et trin over eller lรฆser et resultat forkert.
- Pรฅ tvรฆrs af platforme: รt script kan afspilles pรฅ tvรฆrs af browsere, enheder og operativsystemer.
- CI-klar: Scripts tilsluttes en build-pipeline, sรฅ hver commit verificeres automatisk.
Ulemper
- Hรธje opsรฆtningsomkostninger: Det tager langt lรฆngere tid at skrive og fejlfinde et script end at kรธre testen รฉn gang manuelt.
- Vedligeholdelsesbyrde: et รฆndret element-id eller et redesignet sideskiftscript, der derefter skal repareres.
- Fรฆrdighedskrav: Ud over optagelse og afspilning har holdet brug for programmeringsevner.
- Blind for det uventede: Et script kontrollerer kun det, det har fรฅet besked pรฅ at kontrollere, sรฅ visuelle og brugervenlighedsfejl slipper forbi.
- Falsk selvtillid: En grรธn samling af overfladiske manuskripter kan skjule reelle huller i dรฆkningen.
Den praktiske regel: lav et script til de stabile, repetitive stier med hรธj risiko, og fรธr en manual til udforskende og brugervenlighedsarbejde.
Testscript: Vigtige konklusioner
- Test Scripts betyder en linje-for-linje beskrivelse, der indeholder oplysninger om systemtransaktioner, der skal udfรธres for at validere applikationen eller systemet, der testes.
- Testcase er en trinvis procedure, der bruges til at teste en applikation, hvorimod testscriptet er et sรฆt instruktioner til at teste en applikation automatisk.
- Tre mรฅder at oprette et testscript pรฅ er 1) Optagelse/afspilning 2) Sรธgeords-/datadrevet scripting, 3) Skrivning Code Brug af programmeringssproget.
- Dit testscript skal vรฆre klart, og du bรธr oprette et testscript, der kun skal indeholde รฉn specifik handling, som testerne kan udfรธre.
- Et testscript er den mest pรฅlidelige mรฅde at bekrรฆfte, at intet trin springes over, og at resultaterne stemmer overens med den aftalte testplan.
- Test Script Template er et genbrugeligt formateret dokument, der indeholder forudvalgte oplysninger, der er vigtige for at skabe et brugbart test script.
