Vad är ett testskript? Hur man skriver med exempel

⚡ Smart sammanfattning

Testskript inom mjukvarutestning är en rad-för-rad uppsättning körbara instruktioner som driver en applikation och kontrollerar varje steg. Den här guiden täcker de tre byggmetoderna, en återanvändbar mall och en fungerande Selenium exempel.

  • 📝 Kärndefinition: Ett skript anger varje transaktion som ska utföras, exakt vilken indata som ska matas in och det förväntade resultatet av varje steg.
  • 🎛️ Tre byggmetoder: Inspelning och uppspelning, nyckelords- eller datadriven skriptning och att skriva kod direkt i ett programmeringsspråk.
  • 🧱 Språkfrihet: Skriptspråket behöver inte matcha applikationsspråket, så en Java produkten kan testas med JavaManus eller Python.
  • 📋 Malldisciplin: En standardmall fastställer fälten ID, förutsättningar, testdata, steg, förväntat resultat och status.
  • ⚖️ Skript kontra fall/fall: Ett testfall är en manuell steg-för-steg-procedur, medan ett testskript körs automatiskt av ett verktyg.
  • Kvalitetsregler: Håll varje skript tydligt, begränsa varje steg till en åtgärd och utforma sökvägarna ur den verkliga användarens perspektiv.

Vad är ett testskript

Vad är ett testskript i mjukvarutestning?

A testskript är en rad-för-rad-beskrivning av de systemtransaktioner som måste utföras för att validera den applikation som testas. Den listar varje steg som ska vidtas tillsammans med det förväntade resultatet av varje steg.

Eftersom det är körbart kan samma skript spelas upp systematiskt på många enheter och versioner. Ett användbart skript registrerar alltid både den faktiska inmatningen som ska matas in och den förväntade utmatningen.

Hur man skriver ett testskript

Testskript
Testskript

Det finns tre olika sätt att skapa ett testskript:

Spela in och spela upp

Med den här metoden behöver testaren inte skriva någon kod alls, utan bara registrera användarens handlingar. Kodning krävs fortfarande senare för att åtgärda fel eller finjustera automatiseringsbeteendet.

Den här metoden är enklare än att skriva ett komplett testskript från början eftersom du redan har hela koden. Det används mest i ett förenklat programmeringsspråk som VBScript.

Nyckelords- eller datadriven skriptning

I denna metod finns det en tydlig åtskillnad mellan testare och utvecklare. I datadrivet skript definierar testaren testet med nyckelord utan kunskap om den underliggande koden.

Här är utvecklarnas jobb att implementera testskriptkoden för nyckelorden och uppdatera denna kod vid behov. Så i den här metoden behöver testaren inte oroa sig för systemet. De kommer dock i hög grad att förlita sig på utvecklingsresurser för alla nya funktioner du vill testa automatiskt.

Att skriva kod i ett programmeringsspråk

Om du väljer den här metoden har du normalt fortfarande inspelning och uppspelning tillgängliga för att generera ett första utkast av manuset.

Förr eller senare måste dock en testare gå bortom inspelning och uppspelning och lära sig att skriva enkla manus för hand. Det är viktigt att förstå att du kan välja din PROGRAMMERINGSSPRÅK även om din ansökan är inskriven Java.

Det betyder dock inte att du behöver skriva in dina testmanus Java, vilket kan vara svårt att lära sig. Istället kan du skriva dina testmanus på ett enklare språk som JavaScript eller Ruby (eller något enklare språk du vill använda).

Exempel på ett testskript

För att till exempel kontrollera inloggningsfunktionen på en webbplats kan ditt testskript göra följande:

  • Ange hur automationsverktyget kan hitta fälten "Användarnamn" och "Lösenord" på inloggningsskärmen. Låt oss säga, genom deras CSS-element-ID:n.
  • Ladda hemsidans hemsida och klicka sedan på länken "Logga in". Kontrollera att inloggningsskärmen som visas och fälten "Användarnamn" och "Lösenord" är synliga.
  • Skriv användarnamnet "Charles" och lösenordet "123456", leta sedan upp knappen "Bekräfta" och klicka på den.
  • De måste specificera hur en användare kan hitta titeln på välkomstskärmen som visas efter inloggning, t.ex. genom dess CSS-element-ID.
  • Kontrollera att titeln på välkomstskärmen är synlig.
  • Läs titeln på välkomstskärmen.
  • Bekräfta att titeltexten är lika med ”Välkommen Charles”.
  • Om titeln matchar förväntningarna, registrera testet som godkänt. Annars registreras det som underkänt.

Exempel på testskript i Selenium med Java

Punktlistan ovan beskriver ett inloggningstest i enkel engelska. Här är samma test skrivet som ett körbart skript, med Selenium Webdrivrutin och JUnitVarje punkt motsvarar en eller två rader kod.

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 skiljer ett riktigt manus från ett inspelat:

  • Lokaliseringspunkter är tydliga. Element hittas efter id snarare än efter skärmposition, så skriptet överlever en layoutändring.
  • Påståendet är testet. Utan assertEquals klickar skriptet bara; det är assertionen som avgör om den ska godkännas eller inte.
  • Städningen pågår alltid. driver.quit() stänger av webbläsaren, annars lämnar en misslyckad körning processer kvar.

Samma struktur gäller i alla språk. Python med Selenium anropen blir driver.find_element(By.ID, “email”) och bekräftar actual == “Välkommen Charles”.

Tips för att skapa ett testskript

Här är några viktiga tips för att skapa ett testskript:

Håll det klart

Ditt testskript bör vara tillräckligt tydligt för att köras utan hjälp. Om en testare måste fortsätta fråga projektägaren om detaljer om applikationen, slösas tid och resurser bort.

För att undvika detta, kontrollera att varje steg i testskriptet är tydligt, koncist och sammanhängande. Detta bidrar till att hålla testprocessen smidig.

Håll det enkelt

Du bör skapa ett testskript som bara ska innehålla en specifik åtgärd som testarna kan utföra. Detta säkerställer att varje funktion testas korrekt och att testare inte missar steg i mjukvarutestprocessen.

Tänk igenom det

För att skriva testskriptet måste du sätta dig i användarens plats för att bestämma vilka vägar som ska testas. Du bör vara kreativ nog att förutsäga alla olika vägar som användare skulle använda när de kör ett system eller program.

När ska man använda testskriptmetoden?

Här är anledningarna till att använda testskriptet.

  • Ett testskript är det mest tillförlitliga sättet att bekräfta att inget steg hoppas över och att resultaten matchar den överenskomna testplanen.
  • Ett förberett skript lämnar betydligt mindre utrymme för fel under körningen.
  • När testare utforskar en produkt fritt kan de lätt missa funktioner.
  • En testare kan också anta att en funktion producerade det förväntade resultatet när den inte gjorde det.
  • Det är särskilt användbart när användarens prestanda är viktig och specifik.

Vad är en testskriptmall?

En testskriptmall är ett återanvändbart, förformaterat dokument som innehåller de fält som varje skript i ditt projekt måste fylla i. Att standardisera den avgör hur detaljerade dina tester är och garanterar att ingen granskare behöver gissa vad ett steg betyder.

En fungerande mall innehåller dessa fält:

Fält Syfte
Skript-ID Unik identifierare som används för tracförmåga och defektkoppling
Titel En rad som anger vad skriptet validerar
Modul eller funktion Området för applikationen som testas
förutsättningar Ange att systemet måste vara igång innan det första steget körs
Testdata Exakta inmatningar, inklusive autentiseringsuppgifter och gränsvärden
Steg Numrerade åtgärder, en åtgärd per steg
Förväntat resultat Det observerbara resultatet av varje steg
Faktiskt resultat Ifylld vid exekveringstillfället
Status Godkänd, misslyckad, blockerad eller inte körd
Författare och datum Ägarskap och versionshistorik

Skillnaden mellan testfall och testskript

Här är de viktigaste skillnaderna mellan ett testfall och ett testskript:

Testfall Testskript
Testfall är en steg för steg procedur som används för att testa en applikation. Testskriptet är en uppsättning instruktioner för att testa en applikation automatiskt.
Testfall används för manuell testmiljö. Test Script används i automationstestmiljön.
Det görs manuellt. Det görs enligt skriptformatet.
Testfallsmallen innehåller test-ID, testdata, testprocedur, faktiska och förväntade resultat, etc. I testskriptet kan vi använda olika kommandon för att utveckla ett skript.

Fördelar och nackdelar med testskript

Skriptskapande är en investering. Att veta var det lönar sig visar vilka tester du ska automatisera först.

Fördelar

  • Upprepningsbar: Samma steg körs identiskt på varje build, vilket är det som gör regressionstestning praktisk.
  • Snabb i stor skala: En svit som tar en testare per dag kan köras på några minuter och kan köras över natten.
  • Konsekvent: skriptet blir aldrig uttråkad, hoppar aldrig över ett steg eller läser fel på ett resultat.
  • Tvärplattform: ett skript kan spelas upp på olika webbläsare, enheter och operativsystem.
  • CI-klar: skript kopplas till en byggpipeline så att varje commit verifieras automatiskt.

Nackdelar

  • Hög installationskostnad: Att skriva och felsöka ett skript tar mycket längre tid än att köra testet en gång för hand.
  • Underhållsbörda: ett ändrat element-ID eller ett omdesignat sidbrytningsskript som sedan måste repareras.
  • Färdighetskrav: Utöver inspelning och uppspelning behöver teamet programmeringsförmåga.
  • Blind för det oväntade: Ett skript kontrollerar bara det som det har blivit tillsagt att kontrollera, så visuella fel och användbarhetsfel glider förbi.
  • Falskt självförtroende: en grön uppsättning ytliga manus kan dölja verkliga luckor i täckningen.

Den praktiska regeln: skripta de stabila, repetitiva vägarna med hög risk och behåll en manual för utforskande och användbarhetsarbete.

Testskript: Viktiga slutsatser

  • Testskript betyder en rad-för-rad-beskrivning som innehåller information om systemtransaktioner som bör utföras för att validera applikationen eller systemet som testas.
  • Testfall är en steg-för-steg-procedur som används för att testa en applikation medan testskriptet är en uppsättning instruktioner för att testa en applikation automatiskt.
  • Tre sätt att skapa testskript är 1) Inspelning/uppspelning 2) Nyckelords-/datadriven skriptning, 3) Skrivning Code Använda programmeringsspråket.
  • Ditt testskript bör vara tydligt och du bör skapa ett testskript som bara ska innehålla en specifik åtgärd som testarna kan utföra.
  • Ett testskript är det mest tillförlitliga sättet att bekräfta att inget steg hoppas över och att resultaten matchar den överenskomna testplanen.
  • Testskriptmall är ett återanvändbart formaterat dokument som innehåller förvald information som är viktig för att skapa ett användbart testskript.

Vanliga frågor

Ett testfall är en manuell steg-för-steg-procedur skriven för en mänsklig testare. Ett testskript är körbar kod som ett verktyg kör automatiskt. Ett testfall blir ofta ett testskript när det automatiseras.

Börja med inspelning och uppspelning för att se strukturen, redigera sedan den genererade koden. Gå vidare till att skriva skript för hand när de inspelade går sönder, eftersom inspelade positionerare sällan överlever en UI-ändring.

Allt som körs en gång, allt som ändras varje sprint och allt som bedöms visuellt. Utforskande tester, användbarhetsgranskning och engångskontroller kostar mer att skripta än att utföra manuellt.

Ja. AI-verktyg kan konvertera skriftliga testfall till körbara skript och föreslå självreparerande positioner när ett element ändras. RevVisa varje genererad påstående, eftersom ett skript som aldrig misslyckas testar ingenting.

AI-assisterade verktyg upptäcker ändrade element och uppdaterar sökare utan mänsklig inblandning, vilket eliminerar den vanligaste orsaken till trasiga skript. Team granskar fortfarande ändringarna innan de litar på sviten igen.

Sammanfatta detta inlägg med: