Checklist - djdegrood.files.wordpress.com  · Web viewChecklist: Randvoorwaarden Test...

9

Click here to load reader

Transcript of Checklist - djdegrood.files.wordpress.com  · Web viewChecklist: Randvoorwaarden Test...

Page 1: Checklist - djdegrood.files.wordpress.com  · Web viewChecklist: Randvoorwaarden Test Automatisering t.b.v. Business Case. ... word. en. gebruikt. Want als ... SCRUM master. Adviseur,

Checklist: Randvoorwaarden Test Automatisering t.b.v. Business Case

IntroductieTestautomatisering heeft vele voordelen. Het is daarom logisch dat veel organisaties er voor kiezen hun handmatige testen te automatiseren. Voor de organisaties die betrekkelijk weinig ervaring hebben is het vaak moeilijk in te schatten of het verstandig is om te beginnen met testautomatisering. Naast inhoudelijke en technische argumenten is de business case bepalend voor de beslissing.

Deze checklist geeft een overzicht van randvoorwaarden die, als ze ingevuld zijn, bijdragen aan efficiënte testautomatisering. Ingevulde randvoorwaarden verkorten de realisatietijd en verlagen de kosten. Omgekeerd geldt dat niet ingevulde randvoorwaarden extra activiteiten met zich meebrengen. Deze vergroten de kosten en verlengen de terugverdientijd van de investering. De checklist helpt dus om die onderdelen te bepalen die opgenomen moeten worden in de business case en helpt daarmee om een volledige inschatting van de kosten te maken.

De onderstaande checklist is opgedeeld in een aantal lagen. Met de lagen trachten we een logische structuur te creëren, in praktijk zullen lagen door elkaar lopen. We onderscheiden:

Laag 1 Behoefte: De aanleiding om testen te automatiseren;Laag 2 Definiëren: Welke testen moeten geautomatiseerd worden, kunnen we bestaande testen hergebruiken of

moeten er nieuwe testen gedefinieerd . Laag 3 Randvoorwaarden: Infrastructuur en toolkeuze. Dit zijn de technische randvoorwaarden die ingevuld

moeten worden om te kunnen automatiseren.Laag 4 Gebruiken: Embedding van testautomatisering in de bestaande processen nodig. Laag 5 Organisatie: Zijn resources en kennis aanwezig?

Hoe deze checklist te gebruikenGa voor elke controle na in welke mate deze is ingevuld. Laat je hierbij leiden door de toelichting. Deze geeft aan waarom de check relevant is en welke consequenties hier aan vast zitten. Gebruik de resultaten om een inhoudelijke dialoog te voeren, of vragen te stellen in de organisatie. Gebruik de niet ingevulde randvoorwaarden als input voor de business case.

Checklist Randvoorwaarden TAValori (version 10 , draft ) Page 1/7

Page 2: Checklist - djdegrood.files.wordpress.com  · Web viewChecklist: Randvoorwaarden Test Automatisering t.b.v. Business Case. ... word. en. gebruikt. Want als ... SCRUM master. Adviseur,

Checklist

Laag 1: Aanleiding (Behoefte)

Onderdeel Omschrijving Businesscase

Doel: vaststellen waarom je de moeite wilt nemen om te automatiseren. Wat levert het de business op?

De organisatie heeft de optie van testautomatisering onderzocht en kwantitatief gemaakt. Ze heeft derhalve inzicht in de kosten: die gemoeid zijn bij het introduceren van testautomatisering; van het onderhoud van de gerealiseerde geautomatiseerde testset; die nodig zijn om de organisatie zo in te richten dat randvoorwaarden uit

deze checklist zijn ingevuld.

Ze heeft daarnaast inzicht in de opbrengsten, c.q. besparingen of voordelen die ze verwacht te behalen met testautomatisering. De volgende voordelen zijn kwantitatief gemaakt: Minder handmatige testuitvoering; Kortere time-to-market; Grotere herhaalbaarheid van de testen; Betere testdekking.

Tijdsbesef: De organisatie heeft een realistische verwachting van de tijdlijnen en

terugverdientijd van de investering.

Ervaring leert dat veel organisaties zich onvoldoende bewust zijn van de consequenties van testautomatisering. Het duidelijk hebben van de business case zorgt voor duidelijke en realistische verwachtingen bij het management. Het voorkomt op die manier dat er te gemakkelijk voor testautomatisering wordt gekozen en halverwege de introductie het commitment wordt ingetrokken omdat de eerste resultaten tegenvallen.

Laag 2: Welke testen moeten geautomatiseerd worden (Definiëren)

Onderdeel Omschrijving Omschrijving systeem

Doel: weten welke testen er uitgevoerd kunnen/moeten worden.

Er is duidelijkheid over het onderdelen van het systeem. De volgende zaken zijn omschreven: Domeinarchitectuur; Applicatiearchitectuur; Project start architectuur; Functiegroepen en detailfuncties (bv in de vorm van functionele

decompositie); Batchjobs en inrichting batchscheduler; Functionele en technische beschrijving van de interfaces; Datarestricties, configruatie- en stamdata, ect.; Acceptatiecriteria; Requirements (functioneel en niet-functioneel); Interfacebeschrijvingen;

Checklist Randvoorwaarden TAValori (version 10 , draft ) Page 2/7

Page 3: Checklist - djdegrood.files.wordpress.com  · Web viewChecklist: Randvoorwaarden Test Automatisering t.b.v. Business Case. ... word. en. gebruikt. Want als ... SCRUM master. Adviseur,

Risico’s(PRIMA/RAR).

De systeemonderdelen, risico’s en eisen bepalen wat er getest moet worden. Als de omschrijvingen onvolledig zijn, is niet vast te stellen wat er getest moet worden.

Prioriteiten en risico’sDoel: weten welke testen er geautomatiseerd moeten worden.

Risicoanalyse is uitgevoerd en risico’s of belangrijkste functies zijn geprioriteerd: Risicoanalyse uitgevoerd; Functies, kwaliteitsattributen en/of acceptatie-eisen zijn geprioriteerd; Het is bekend wat de meest kritische testen zijn.

Er is inzicht in de wijzigingen op het systeem: De geplande changes; De changes die zijn uitgevoerd in de afgelopen 6 maanden (of andere

periode); Productieproblemen.

De meest kritische testen lenen zich goed voor testautomatisering omdat deze het vaakst worden uitgevoerd. De geplande wijzigingen geven aan welke systeemonderdelen er in de komende periode getest zullen moeten worden. De productieproblemen en de wijzigingen in het verleden geven inzicht in de onderdelen die in praktijk het meest gewijzigd worden.Door als eerste die testen te automatiseren die op korte termijn gebruikt gaan worden en die vaak herhaald zullen worden is er maximaal voordeel uit de investering te halen.

Testware en testdocumentatie.Doel: vaststellen wat er (her)gebruikt kan worden voor de geautomatiseerde tests.

Inzicht in de testware en testdocumentatie: Functionele testgevallen; Technische testgevallen; Regressie testgevallen; Testrapporten; Lessons learned uit eerdere testtrajecten; Testmetrieken; Overzicht / indruk van testdiepgang van huidige testen.

Als alle informatie die nodig is om de testen te automatiseren aanwezig is, en er bekend is welke testen in aanmerking komen om te automatiseren, dan is testautomatisering effectief uit te voeren. Als deze randvoorwaarden niet zijn ingevuld, zijn extra acties nodig om de benodigde informatie te verkrijgen. Kortom een grotere herbruikbaarheid reduceert de terugverdientijd.

Testbasis Doel: vaststellen of de testbasis voldoende informatie bevat om de testware te beoordelen of om goede geautomatiseerde testgevallen mee maken.

Inzicht in de testbasis: Is beschikbaar; Heeft voldoende diepgang; Is volwassen (gereviewd en geaccordeerd); Staat onder versiebeheer.

In het geval dat er testware hergebruikt wordt is een goede testbasis nodig om te kunnen vaststellen of de testware volledig is en de juiste testen bevat.

Checklist Randvoorwaarden TAValori (version 10 , draft ) Page 3/7

Page 4: Checklist - djdegrood.files.wordpress.com  · Web viewChecklist: Randvoorwaarden Test Automatisering t.b.v. Business Case. ... word. en. gebruikt. Want als ... SCRUM master. Adviseur,

Bij een onvolledige of onvoldoende gedetailleerde testbasis ontstaat het risico dat de verkeerde testen geautomatiseerd worden of dat er testen vergeten worden.

In het geval dat er nieuwe testen worden gedefinieerd, dient er voldoende detail te zijn, zodat duidelijk wordt hoe de testen gedefinieerd moeten worden. Anders ontstaat het risico dat bij het ontwerpen van geautomatiseerd testen veel tijd besteed moet worden aan het achterhalen van de ontbrekende systeemeisen en omschrijvingen.

Laag 3: Infrastructuur en toolkeuze (Randvoorwaarden)

Onderdeel Omschrijving Testtools

Doel: weten met welke tools je de automatisering gaat realiseren.

Inzicht in testtools die worden toegepast: Overzicht van testtools die kunnen worden toegepast; Ervaringen met de reeds gebruikte tools Inzicht in licenties van toegepaste test(automatiserings)tools

Toolkeuze wordt bepaald door de behoefte, de testen die geautomatiseerd moeten worden, de technische beperkingen en de kosten van de tool. Het gebruik van reeds aanwezige tools bespaart licentiekosten, er is dan waarschijnlijk al expertise in huis die per direct beschikbaar is. Kijk ook naar tools die bij development worden gebruikt. Want als de testtools integreren met de IDE, kan dit veel synergie opleveren. Zijn er nog geen tools in gebruik, dan is toolselectie nodig om te bepalen welke tool het meest geschikt is. Dit kost tijd en geld en beïnvloedt sterk de terugverdientijd.

TestomgevingDoel: vaststellen dat de randvoorwaardelijke testomgeving is gerealiseerd.

Inzicht in de testomgevingen: Ontwerp/beschrijving van de testomgeving (incl. landschapsplaat); Afspraken rondom gebruik van de testomgeving; Beschikbaarheid van testdata; Afspraak rondom gebruik van testdata; Procedure voor terugzetten van data en uitgangspositie; Planningskalender testomgeving; Overzicht applicatiearchitectuur; Versiebeheer op testomgeving.

Gedurende de ontwikkeling van geautomatiseerd testen is het belangrijk om een stabiele en actuele testomgeving te hebben.Bovenstaande checks geven aan of er een dedicated omgeving te realiseren is en welke stabiliteit deze heeft. Een onstabiele omgeving belemmert het ontwikkelen en testen van de scripts. Een verouderde omgeving maakt dat de testen achterlopen op de werkelijkheid zoals op productie.

SysteemontwikkelingDoel: vaststellen hoe de testautomatisering zich

Er is duidelijkheid over de gehanteerde systeemontwikkeling: Beschrijving van het ontwikkelproces; Overzicht van gebruikte ontwikkeltools;

Checklist Randvoorwaarden TAValori (version 10 , draft ) Page 4/7

Page 5: Checklist - djdegrood.files.wordpress.com  · Web viewChecklist: Randvoorwaarden Test Automatisering t.b.v. Business Case. ... word. en. gebruikt. Want als ... SCRUM master. Adviseur,

verhoudt t.o.v. de systeemontwikkeling.

Overzicht van ontwikkelstandaarden; Overzicht van gebruikte ontwikkelplatformen / -talen; Overzicht van programmeerstandaarden.

De ontwikkelaanpak heeft grote invloed op de beste automatiseringsaanpak. De keuze voor waterval of kortcyclisch (agile) heeft invloed op het aantal testiteraties. Sommige ontwikkeltools hebben functionaliteit voor testautomatisering aan boord, of kunnen integreren met specifieke testautomatiseringstools. Het is daarnaast een indicatie voor de automatiseringskennis die binnen de organisatie aanwezig is en de wijze waarop testen geïntegreerd is in het proces.

Laag 4: Embedding in het proces (Gebruiken)

Onderdeel Omschrijving Testproces

Doel: vaststellen of de geautomatiseerde testen kunnen worden opgenomen in het bestaande proces.

Inzicht in het huidige testproces op basis van: Beschrijving van het testproces; Overzicht van onderkende testsoorten; Overzicht van beschikbare templates; Overzicht van beschikbare hulpmiddelen en tools; Status van testautomatisering; Gebruikte tools; Architectuur / framework; Rapportage.

De testautomatiseringsoplossing zal onderdeel uitmaken van het bestaande testproces. Uit de omschrijving kan worden opgemaakt hoe dit huidige proces verloopt. Is dit goed georganiseerd dan kan automatisering sneller worden ‘ingehangen in het proces’. Is het proces onduidelijk of wordt het niet nageleefd in de praktijk, dan zal er meer tijd en geld nodig zijn om de testautomatiseringsoplossing te embedden.Eventuele ervaring met testautomatisering maakt introductie sneller en goedkoper omdat kennis aanwezig is en waarschijnlijk meer randvoorwaarden zijn ingevuld.

Overige processenDoel: zorgen dat de gerealiseerde testen actueel en bruikbaar blijven.

De volgende processen zijn adequaat ingeregeld: Releasemanagement; Changemanagement; Deployment; (test) Omgevingenbeheer.

De genoemde processen zorgen ervoor dat er binnen de testdiscipline duidelijkheid is over wanneer welke systeemonderdelen naar productie gaan en welke wijzigingen er in de komende releases worden doorgevoerd. Dit zorgt ervoor dat de geautomatiseerde testset kan worden onderhouden en de juiste tests tijdig kunnen worden uitgevoerd. Zijn deze processen onvoldoende ingericht, dan zal de testset snel verouderen, aan waarde verliezen, of dient onderhoud reactief te gebeuren. Dit heeft negatieve consequenties voor kwaliteit en efficiëntie.

Checklist Randvoorwaarden TAValori (version 10 , draft ) Page 5/7

Page 6: Checklist - djdegrood.files.wordpress.com  · Web viewChecklist: Randvoorwaarden Test Automatisering t.b.v. Business Case. ... word. en. gebruikt. Want als ... SCRUM master. Adviseur,

Laag 5: Organisatie

Onderdeel Omschrijving Medewerkers

Doel: vaststellen of testautomatisering met het huidige team uitvoerbaar is

Testautomatisering vraagt om specifieke automatiseringskennis en vaardigheden. Zijn er voldoende testers/medewerkers beschikbaar die: Het beleid kunnen uitzetten m.b.t. testautomatisering; De architectuur van de testautomatisering kunnen opzetten; Testers kunnen trainen op het gebruik van de tools; Testers kunnen trainen op het scripten; Testers kunnen ondersteunen bij het scripten en het gebruik van de

tools; Hands-onervaring hebben met testautomatisering; Ervaring hebben met programmeren; Gemotiveerd zijn om mee te werken aan testautomatisering.

Als er onvoldoende expertise aanwezig is zal de testautomatisering mislukken of zijn er extra kosten nodig om de organisatie zo in te richten dat de randvoorwaarden uit deze checklist zijn ingevuld.

RollenDoel: controleren of betrokken personen zijn toegewezen.

De benodigde personen zijn zich bewust van hun rol, kennen het proces en hun verantwoordelijkheden en er is algemeen bekend dat zij deze rol vervullen. Denk aan o.m. de volgende rollen: Trekker Testautomatisering (Champion) Trainer Releasemanager Changemanager; Deployment manager Beheerder omgevingen Testautomatiseerders Teamleider testen, SCRUM master Adviseur, vraagbaak t.b.v. inhoudelijke ondersteuning

Ingerichte processen en adequate kennis komen alleen tot hun recht als de juiste personen zijn toegewezen. Dit voorkomt onduidelijkheid en maakt dat er snel adequate afspraken gemaakt kunnen worden. Het voorkomt dat betrokkenen moeten zoeken, van het kastje naar de muur worden gestuurd of dat er dingen dubbel gedaan worden.

Visie en BeleidDoel: vaststellen hoe gericht de organisatie is

De organisatie geeft richting aan haar ICT-activiteiten door middel van een duidelijke visie en bijbehorend beleid: Visie en beleid voor ICT; Visie en beleid voor testen; Visie en beleid voor testautomatisering.

In principe zal een organisatievorm op de laatste twee checkpunten een visie en beleid gaan ontwikkelen zodra ze hands-onervaring krijgt met

Checklist Randvoorwaarden TAValori (version 10 , draft ) Page 6/7

Page 7: Checklist - djdegrood.files.wordpress.com  · Web viewChecklist: Randvoorwaarden Test Automatisering t.b.v. Business Case. ... word. en. gebruikt. Want als ... SCRUM master. Adviseur,

testautomatisering. Echter als er al een duidelijk visie is, dan maakt dat heldere communicatie en duidelijke besluiten mogelijk. Dit draagt positief bij aan de efficiëntie.

Aanvullingen en opmerkingen worden gewaardeerd.Voel je vrij om aanpassingen te maken, maar als je deze deelt, heeft de community er ook voordeel bij.Opmerkingen kun je mailen naar:[email protected]

Checklist Randvoorwaarden TAValori (version 10 , draft ) Page 7/7