Wat is een testscript? Hoe schrijf je er een? (Voorbeeld)
โก Slimme samenvatting
Een testscript in softwaretesten is een regel-voor-regel set uitvoerbare instructies die een applicatie aanstuurt en elke stap controleert. Deze handleiding behandelt de drie buildmethoden, een herbruikbare sjabloon en een werkend voorbeeld. Selenium voorbeeld.

Wat is een testscript bij het testen van software?
A testscript Dit is een regel-voor-regel beschrijving van de systeemtransacties die moeten worden uitgevoerd om de te testen applicatie te valideren. Het geeft een overzicht van elke uit te voeren stap, samen met het verwachte resultaat van elke stap.
Omdat het uitvoerbaar is, kan hetzelfde script systematisch op verschillende apparaten en systemen worden herhaald. Een bruikbaar script registreert altijd zowel de daadwerkelijke invoer als de verwachte uitvoer.
Hoe u een testscript schrijft

Er zijn drie verschillende manieren om een โโtestscript te maken:
Opnemen en afspelen
Bij deze methode hoeft de tester helemaal geen code te schrijven, alleen de acties van de gebruiker vast te leggen. Programmeren is later nog steeds nodig om eventuele fouten te herstellen of het automatiseringsgedrag te verfijnen.
Deze methode is eenvoudiger dan het helemaal opnieuw schrijven van een compleet testscript, omdat u al over de volledige code beschikt. Het wordt meestal gebruikt in een vereenvoudigde programmeertaal zoals VBScript.
Trefwoord- of datagestuurde scripting
Bij deze werkwijze is er een duidelijke scheiding tussen testers en ontwikkelaars. Bij datagestuurde scripting definieert de tester de test met behulp van trefwoorden zonder kennis van de onderliggende code.
Hier is het de taak van de ontwikkelaars om de testscriptcode voor de trefwoorden te implementeren en deze code indien nodig bij te werken. Bij deze methode hoeft de tester zich dus geen zorgen te maken over het systeem. Ze zullen echter sterk afhankelijk zijn van ontwikkelingsbronnen voor elke nieuwe functionaliteit die u automatisch wilt testen.
Code schrijven in een programmeertaal
Als je voor deze methode kiest, heb je normaal gesproken nog steeds de mogelijkheid om op te nemen en af โโte spelen, zodat je een eerste versie van het script kunt maken.
Vroeg of laat moet een tester echter verder gaan dan opnemen en afspelen en leren om eenvoudige scripts met de hand te schrijven. Het is belangrijk om te begrijpen dat je je eigen keuzes kunt maken. Programmeertaal zelfs als uw aanvraag is geschreven Java.
Dit betekent echter niet dat u uw testscripts moet schrijven Java, wat moeilijk te leren kan zijn. In plaats daarvan kunt u uw testscripts in een eenvoudiger taal schrijven, zoals JavaScript of Ruby (of een eenvoudigere taal die u wilt gebruiken).
Voorbeeld van een testscript
Om bijvoorbeeld de inlogfunctie op een website te controleren, kan uw testscript het volgende doen:
- Geef op hoe de automatiseringstool de velden โGebruikersnaamโ en โWachtwoordโ in het inlogscherm kan vinden. Laten we zeggen, op basis van hun CSS-element-ID's.
- Laad de startpagina van de website en klik vervolgens op de link โinloggenโ. Controleer of het inlogscherm dat verschijnt en de velden โGebruikersnaamโ en โWachtwoordโ zichtbaar zijn.
- Voer de gebruikersnaam "Charles" en het wachtwoord "123456" in, zoek vervolgens de knop "Bevestigen" en klik erop.
- Ze moeten specificeren hoe een gebruiker de titel van het welkomstscherm dat verschijnt na het inloggen kan vinden, bijvoorbeeld aan de hand van de CSS-element-ID.
- Controleer of de titel van het welkomstscherm zichtbaar is.
- Lees de titel van het welkomstscherm.
- Beweer dat de titeltekst gelijk is aan "Welkom Charles".
- Als de titel overeenkomt met de verwachting, registreer de test dan als geslaagd. Zo niet, registreer deze dan als niet geslaagd.
Voorbeeld testscript in Selenium with Java
De bovenstaande opsomming beschrijft een inlogtest in begrijpelijke taal. Hieronder staat dezelfde test, maar dan als een uitvoerbaar script. Selenium WebDriver en JUnitElk opsommingsteken komt overeen met รฉรฉn of twee regels code.
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(); } }
Drie details onderscheiden een echt script van een opgenomen script:
- Locators zijn expliciet. Elementen worden gevonden op basis van hun ID in plaats van hun schermpositie, waardoor het script behouden blijft bij een wijziging van de lay-out.
- De bewering is de toets. Zonder assertEquals klikt het script gewoon; het is de assertie die bepaalt of de bewerking slaagt of mislukt.
- De opschoonfunctie wordt altijd uitgevoerd. driver.quit() sluit de browser af; anders blijven er bij een mislukte uitvoering processen achter.
Dezelfde structuur is van toepassing in elke taal. Python with Selenium De aanroepen worden driver.find_element(By.ID, โemailโ) en assert actual == โWelkom Charlesโ.
Tips voor het maken van een testscript
Hier volgen enkele belangrijke tips voor het maken van een testscript:
Houd het duidelijk
Je testscript moet duidelijk genoeg zijn om zonder hulp te kunnen worden uitgevoerd. Als een tester steeds de projecteigenaar om details over de applicatie moet vragen, worden tijd en middelen verspild.
Om dit te voorkomen, controleer of elke stap in het testscript duidelijk, beknopt en samenhangend is. Dit draagt โโbij aan een soepel verloop van het testproces.
Hou het simpel
U moet een testscript maken dat slechts รฉรฉn specifieke actie bevat die testers kunnen uitvoeren. Dit zorgt ervoor dat elke functie correct wordt getest en dat testers geen stappen in het softwaretestproces overslaan.
Denk er eens over na
Om het testscript te schrijven, moet u uzelf in de plaats van de gebruiker verplaatsen en beslissen welke paden u wilt testen. U moet creatief genoeg zijn om alle verschillende paden te voorspellen die gebruikers zouden gebruiken tijdens het uitvoeren van een systeem of applicatie.
Wanneer gebruik je de testscriptaanpak?
Hier zijn de redenen om het testscript te gebruiken.
- Een testscript is de meest betrouwbare manier om te bevestigen dat er geen stappen worden overgeslagen en dat de resultaten overeenkomen met het afgesproken testplan.
- Een voorbereid script laat veel minder ruimte voor fouten tijdens de uitvoering.
- Wanneer testers een product vrijelijk verkennen, kunnen ze gemakkelijk functies over het hoofd zien.
- Een tester kan er ook van uitgaan dat een functie het verwachte resultaat oplevert, terwijl dat niet het geval is.
- Het is vooral handig als de gebruikersprestaties belangrijk en specifiek zijn.
Wat is een testscriptsjabloon?
Een testscriptsjabloon is een herbruikbaar, vooraf opgemaakt document met de velden die elk script in je project moet invullen. Door het te standaardiseren, bepaal je hoe gedetailleerd je tests zijn en zorg je ervoor dat geen enkele reviewer hoeft te raden wat een bepaalde stap inhoudt.
Een bruikbaar sjabloon bevat de volgende velden:
| Veld | Doel |
|---|---|
| Script-ID | Unieke identificatiecode gebruikt voor tracverband tussen geschiktheid en defecten |
| Onderwerp | Eรฉn regel waarin wordt aangegeven wat het script valideert. |
| Module of functie | Het te testen gedeelte van de applicatie |
| Randvoorwaarden | Geef aan in welke toestand het systeem zich moet bevinden voordat de eerste stap wordt uitgevoerd. |
| Testgegevens | Exacte invoer, inclusief referenties en grenswaarden |
| Stappen | Genummerde acties, รฉรฉn actie per stap. |
| Verwacht resultaat | Het waarneembare resultaat van elke stap |
| Werkelijke resultaat | Ingevuld op het moment van de executie. |
| Status | Geslaagd, niet geslaagd, geblokkeerd of niet uitgevoerd |
| Auteur en datum | Eigendoms- en versiegeschiedenis |
Verschil tussen testcase en testscript
Hieronder volgen de belangrijkste verschillen tussen een testcase en een testscript:
| Testgeval | Testscript |
|---|---|
| Testgeval is een stapsgewijze procedure die wordt gebruikt om een โโapplicatie te testen. | Het testscript is een set instructies om een โโapplicatie automatisch te testen. |
| Testgevallen worden gebruikt voor handmatige testomgevingen. | TestScript wordt gebruikt in de automatiseringstestomgeving. |
| Het gebeurt handmatig. | Het wordt gedaan volgens het scriptformaat. |
| De testcase-sjabloon bevat test-ID, testgegevens, testprocedure, werkelijke en verwachte resultaten, enz. | In het TestScript kunnen we verschillende commando's gebruiken om een โโscript te ontwikkelen. |
Voordelen en nadelen van testscripts
Scripting is een investering. Weten waar het zich terugbetaalt, vertelt je welke tests je als eerste moet automatiseren.
Voordelen
- Herhaalbaar: Dezelfde stappen worden bij elke build exact hetzelfde uitgevoerd, en dat maakt regressietesten praktisch.
- Snel op grote schaal: Een testsuite die normaal gesproken een dag duurt voor een tester, kan nu in enkele minuten worden uitgevoerd en kan zelfs 's nachts draaien.
- Consequent: Het script verveelt zich nooit, slaat geen stap over en interpreteert geen resultaat verkeerd.
- Platformonafhankelijk: Eรฉn script kan op verschillende browsers, apparaten en besturingssystemen worden afgespeeld.
- CI-klaar: Scripts worden in een build-pipeline geรฏntegreerd, waardoor elke commit automatisch wordt geverifieerd.
Nadelen
- Hoge opstartkosten: Het schrijven en debuggen van een script duurt veel langer dan het eenmalig handmatig uitvoeren van de test.
- Onderhoudslast: Een gewijzigde element-ID of een herontworpen pagina zorgt ervoor dat scripts niet meer werken en moeten vervolgens worden hersteld.
- Vaardigheidsvereiste: Naast opnemen en afspelen heeft het team ook programmeervaardigheden nodig.
- Blind voor het onverwachte: Een script controleert alleen wat het is opgedragen, waardoor visuele en gebruiksvriendelijkheidsfouten onopgemerkt blijven.
- Valse zelfverzekerheid: Een reeks oppervlakkige scripts kan echte lacunes in de dekking verbergen.
De praktische regel: documenteer de stabiele, repetitieve en risicovolle trajecten en houd verkennend werk en gebruiksvriendelijkheidsonderzoek handmatig.
Testscript: Belangrijkste conclusies
- Testscripts betekent een regel-voor-regel beschrijving met de informatie over de systeemtransacties die moeten worden uitgevoerd om de te testen applicatie of het systeem te valideren.
- Testcase is een stapsgewijze procedure die wordt gebruikt om een โโapplicatie te testen, terwijl het testscript een reeks instructies is om een โโapplicatie automatisch te testen.
- Er zijn drie manieren om een โโtestscript te maken: 1) Opnemen/afspelen, 2) Op trefwoorden/gegevens gebaseerd scripten, 3) Schrijven. Code Het gebruik van de programmeertaal.
- Uw testscript moet duidelijk zijn en u moet een testscript maken dat slechts รฉรฉn specifieke actie bevat die testers kunnen ondernemen.
- Een testscript is de meest betrouwbare manier om te bevestigen dat er geen stappen worden overgeslagen en dat de resultaten overeenkomen met het afgesproken testplan.
- Testscriptsjabloon is een herbruikbaar opgemaakt document dat vooraf geselecteerde informatie bevat die belangrijk is voor het maken van een bruikbaar testscript.
