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?
bewerkenTestautomatisering 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
bewerkenTest Management
bewerkenTestmanagement tools hebben in zich: - Requirements - de koppeling er mee - tests - bevindingen
Test Uitvoer
bewerkenData Driven
bewerkenEen 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
bewerkenEen 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
bewerkenEen 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
bewerkenDe 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
bewerkenals 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
bewerkenGrote 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
bewerkenConform richtlijnen Hacken - proberen in te breken.
Hier zijn tools voor beschikbaar.
Regressie
bewerkenRegressietesten 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
bewerkenStandaardpakketaanpak
bewerkenDe 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
bewerkenVoordat 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
bewerkenSelectie van eerst veel tools en dan terug naar 3 voor de echte selectie.
Proof of Concept
bewerkenProof 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
bewerkenStuk tekst vnuit de 1e werkgroep TA.
Koppeling naar kwaliteitsmodellen
bewerkenDe 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.
TMMI
bewerkenUitkomst van de vorige werkgroep
Zie ook
bewerken
29-01-2013
[[Categorie:Testen]] [[Categorie:Softwaretest]]