Gebruiker:WG test/Testautomatisering

Dit artikel geeft een overview over testautomatisering. Testautomatisering behoort thuis als een uitvoerend onderdeel binnen het vakgebied Software Testen (ICT). Testautomatisering beslaat het vakgebied binnen testen, waarbij gebruik wordt gemaakt van test hulpmiddelen, ook wel testtools genaamd. Een testhulpmiddel is elke tool, waarmee het testproces ondersteund wordt.


Voor het gemak wordt dit gelijk gesteld aan geautomatiseerd testen.

Waarom Testautomatisering?

bewerken

Testautomatisering wordt toegepast om een tijdrovend, op zichzelf herhalend (test) proces te automatiseren. Hierbij moet rekening gehouden worden met een groot aantal afhankelijkheden, tijdsdruk en hoge kwaliteitseisen. Dit alles maakt testautomatisering tot een lastig te beheersen proces, maar niet onmogelijk.

Soorten tools

bewerken

Test Management

bewerken

Testmanagement tools hebben in zich: - Requirements - de koppeling er mee - tests - bevindingen

Test Uitvoer

bewerken

Data Driven

bewerken

Een eerste sterke verbetering bij het opzetten van geautomatiseerde tests, is het data onafhankelijk maken van de waardes in de scripts. Hierdoor kan met veel data dezelfde handelingen uitgevoerd worden.

De toepassing hiervan kan dus ook goed bij conversies liggen, waarbij de invoer via de front-end gaat.

Keyword driven

bewerken

Een Keyword bestaat uit één of meerdere actiewoorden met hun specifieke testwaarden. Elk keyword heeft een voorwaardelijk verwachtingspatroon. De actiewoorden voeren het proces uit waarbij tussentijds en aan het eind met andere actiewoorden bekeken wordt of het verwachtingspatroon gehaald is of niet.

Actiewoord

bewerken

Een actiewoord geeft een actie weer. Echter een actiewoord zonder gegevens over waar hij de actie uit moet voeren en/of waarmee hij de actie moet uitvoeren zal hij niks doen.

Actiewoord Betekenis in gebruik
Activate Te gebruiken om een MDI-scherm in een testautomatiseringsproces te activeren.
ActivateApp Te gebruiken om te testen applicatie in een testautomatiseringsproces te activeren.
Append Te gebruiken om een tekst of getal achter een invulwaarde te plaatsen.
Breakpoint Te gebruiken om een automatiseringsproces te pauzeren.
CaptureScreen Te gebruiken om de laatste actie dat op het geteste scherm geweest is te loggen.
Click Te gebruiken om de engine tijdens het automatiseringsproces op een voorgeschreven object te laten klikken. Hiermee zal direct het proces uitgevoerd worden.
Critical Te gebruiken in een kritische testsituatie, bijvoorbeeld om direct het automatiseringsproces te laten stoppen als verdere testen geen zin meer heeft.
Close Te gebruiken om het scherm of de testapplicatie tijdens de testrun correct af te sluiten.
EndApp Te gebruiken om te registreerde testapplicatie tijdens de testrun correct af te melden.
Error Te gebruiken om een verwachte fout te loggen.
Exec Te gebruiken om de testapplicatie te openen.
ExitKeyword Te gebruiken om voortijdig een proces binnen een keyword af te ronden.
Verify Te gebruiken om te controleren of een verwachting uitgekomen is.

Objectbibliotheek

bewerken

De voorgaande actiewoorden verwijzen naar specifieke testwaarden. Eén van deze specifieke testwaarden zijn objecttypes. De voorkomende object elementen leg je met gelijke kenmerken vast in een objectbibliotheek. Deze kun je herbruiken.

SOA: Service-oriented architecture

bewerken

als achtergrond info: zie Service-oriëntatie en EN:SOA

SOA is gericht op een virtuele omgeving waarin sprake is van diensten en leveranciers. Testen van webservices waarbij het gaat om de communicatie tussen verschillende onderdelen te testen. Deze onderdelen, interfaces genoemd, zijn vaak gebaseerd op WDSL met XML berichten. Er zijn 2 testools die wij als voorbeeld willen gebruiken hoe je SOA-omgevingen zou kunnen testen:

Voorbeelden zijn:

  • Parasoft
  • SOAPUI: werkt met XML bestanden

Met SOAPUI kan de gebruiker op basis van een WSDL-file een request versturen naar de webservice. De response kan vervolgens worden gevalideerd op inhoud.

Worden er 'gewone' websites of dergelijke applicaties functioneel getest dan is dit te testen met de genoemde tools. Je kunt dan beter kijken naar tools zoals Selenium.

Performance

bewerken

Grote hoeveelheden transacties verwerken. Hierbij worden scenario's uitgevoerd, die op zich niet diep gaan qua functionaliteit, maar die wel veel voorkomen in grote hoeveelheden.

Security

bewerken

Conform richtlijnen Hacken - proberen in te breken.

Hier zijn tools voor beschikbaar.

Regressie

bewerken

Regressietesten is het uitvoeren van eerder uitgevoerde tests, om aan te tonen dat de functionaliteit nog steeds functioneert. Dit kan zowel handmatig als automatisch. Automatisch is dat eerder opgenomen/geprogrammeerde tests/scripts uitgevoerd worden. Hier is de tijdwinst te halen bij de testuitvoering. Een 2e cycle zal veel minder tijd kosten om uit te voeren.

Implementatie

bewerken

Standaardpakketaanpak

bewerken

De implementatie van een testtool is niet veel anders wat betreft de aanpak dan een ander pakket. Daar waar specifieke aandachtspunten zijn, wordt niet nader toegelicht.

Quickscan

bewerken

Voordat er op testautomatisering overgegaan kan worden, wordt er een eerst een Quickscan uitgevoerd.

  • Er wordt een check uitgevoerd of het bedrijf klaar is om testen te gaan automatiseren.
  • Er wordt gekeken of er al een gestructureerd testproces aanwezig is.
  • Er wordt gekeken welke tooling bij het bedrijf past.


Selectie

bewerken

Selectie van eerst veel tools en dan terug naar 3 voor de echte selectie.

Proof of Concept

bewerken

Proof of Concept, (volledige naam van de afkorting: POC-plan)

Proof of Concept houdt in dat een simulatie gemaakt wordt hoe de uitgekozen tool voor het bedrijf eruit ziet.

Implementatie & Begeleiding

bewerken
  • toepassen
  • onderhouden
  • begeleiden van medewerkers bij verandering
  • ondersteuning

Voor- en nadelen

bewerken

Stuk tekst vnuit de 1e werkgroep TA.

Koppeling naar kwaliteitsmodellen

bewerken

De vraag die vaak opkomt, is wanneer kan er nu gestart worden met TA. Dit is mede afhankelijk van de maturity van de organisatie. Daarom ook een link naar TMM.

Uitkomst van de vorige werkgroep

Zie ook

bewerken


[[Categorie:Testen]] [[Categorie:Softwaretest]]