Managed hosting door True
Deze opinie is van een externe deskundige. De inhoud vertegenwoordigt dus niet noodzakelijk het gedachtegoed van de redactie.

Scrum en exploratory testing

 

Computable Expert

Eugene Derksen
(Algemeen) directeur, divisiedirecteur, eigenaar, CEO, DutchPelican B.V.. Expert van Computable voor de topics Development en Security.

Testers hebben ruime voorbereidingstijd nodig om testspecificaties op te stellen die achteraf kunnen worden uitgevoerd. Ze zijn behoudend en verlaten niet graag hun comfortzone. Echter, deze traditionele werkwijze verstoort iteratieve ontwikkelprocessen zoals Scrum. Hier is een andere mindset en een andere werkwijze van de tester vereist.

Wat is Scrum? Binnen de Agile-ontwikkelprocessen vormt Scrum één van de iteratieve ontwikkelmethoden. Software wordt in sprints, korte iteraties van maximaal vier weken, door een klein multidisciplinair en zelfsturend team ontwikkeld. Uitgangspunt bij Scrum is dat het ontwerpen, bouwen en testen van de software zoveel mogelijk parallel plaatsvindt. Iteratief ontwikkelen met Scrum vereist daarom een iteratieve testmethode.

Wat is exploratory testing? Exploratory testing (afgekort ET) is een iteratieve testmethode waarbij uitgangspunt is dat het leren, ontwerpen en uitvoeren van testen zoveel mogelijk gelijktijdig plaatsvindt. In plaats van testspecificaties bestaat de basis voor toepassing van ET uit ervaring, domeinkennis, testkennis, creativiteit en logisch denkvermogen. Door ‘exploreren' kan de software iteratief worden getest.

Voor het uitvoeren van ET is een andere mindset bij de testers nodig. Deze mindset wordt vooral getypeerd door flexibiliteit en verantwoordelijkheid. Een tester zou blij moeten worden van veranderingen en laat de business over zijn schouder meekijken. Hij wordt niet zenuwachtig bij het ontbreken van een deugdelijke testbasis en start de testsessies zonder uitgebreide specificaties en zonder een verwacht resultaat voorhanden te hebben. Hij is in staat ter plekke en onder meer tijdsdruk zowel te specificeren, testen uit te voeren en resultaten te analyseren. Deze testen voert hij ook uit op halffabricaten, hij wacht niet af totdat alle componenten worden opgeleverd.

Essentieel onderdeel van beide methoden is een set regels. Deze regels maken de processen van Scrum en ET zo krachtig. Naast deze regels kennen Scrum als ET overeenkomsten die deze methoden onderling aanvullen en versterken.

Overeenkomstige kenmerken

- Formele, iteratieve methode.
- Parallelle uitvoering van activiteiten, waardoor afnemende doorlooptijd.
- Vroegtijdig inzicht in kwaliteit.
- Dagelijkse update, houdt planning beheersbaar, reëel en inzichtelijk.
- Geeft veel flexibiliteit, met name ten aanzien van (functionele) wijzigingen.
- Vereist nadrukkelijke businessparticipatie.
- Vereist ervaren specialisten met goede sociale en communicatieve vaardigheden.
- Vereist een flexibele instelling en coachende aansturing.
- Vereist specialisten die verantwoordelijkheid (willen) nemen voor eigen werkzaamheden.

Overeenkomsten in processtappen

 Scrum

Exploratory testing

- Functionele decompositie, vastleggen
componenten in product backlog en
opstellen horizonplanning.

- Functionele decompositie, vastleggen
componenten in project testplan en opstellen
testplanning.

- Prioriteren en opstellen sprintplanning
samen met de product owner.

Risicoanalyse en Prioritering van de
componenten samen met de key users.

- Vastleggen activiteiten in sprint backlog.

- Vastleggen testcomponenten in testrapport.

- Plannen activiteiten o.b.v. pokerplanning,
verkrijgen commitment op planning door
scrum team.

- Bepalen van de tijdsduur testsessies per
testcomponent.

Daily standup meeting, 3 vragen:

o   Wat heb je gedaan?
o   Wat ga je doen?
o   Zijn er nog problemen?

- Dagelijkse brainstorm sessie en opstellen
van de testcharter , 2 vragen:

o   Welke vragen moeten aan het eind van
deze test beantwoord zijn?
o   Hoe ga ik dat aanpakken?

Product owner vormt de sparringpartner
voor het scrum team op gebied van inhoud
en prioritering.

Key users vormen de sparringpartner voor
testers op gebied van inhoud en prioritering.

 

Key users nemen deel aan de testsessies
waardoor de business constant betrokken
is en mede de kwaliteit beoordeeld.

 

Debriefing na testen van ieder testobject:

o   Test op object geheel afgerond?
o   Zijn alle vragen beantwoord?
o   Oordeel: gereed voor productie?
o   Bespreken van bevindingen met
mogelijke alternatieven.
o   In kaart brengen van aanvullend te
charteren componenten.

- Dagelijks registreren van uitgevoerde
activiteiten in de burn down chart.

- Dagelijks bijwerken van het testrapport.

- Korte sprints maken ontwikkelsnelheid
inzichtelijker en daarmee de totaalplanning.

- Korte sessies maken testsnelheid
inzichtelijker en daarmee de totaalplanning.

- Demo aan het einde van iedere sprint aan
de product owner.

- Testrapport altijd up to date, zo wordt
geborgd dat de beste (geprioriteerde)tests
binnen de beschikbare tijd zijn uitgevoerd.

Conclusie

Tot op heden was het testen binnen een Scrum-ontwikkelproces dikwijls een beperkende factor doordat de testaanpak totaal niet aansloot bij het Scrum-ontwikkelproces en de Scrum-principes. ET daarentegen is een testmethode die het Scrum-proces aanvult en versterkt. Met ET is de tester in staat waarde toe te voegen aan het proces zonder het algemeen geldende testprincipe als ‘het managen van risico's en verwachtingen' geweld aan te doen. Het vereist echter een andere mindset van de testers en daarin ligt voor hen een belangrijke uitdaging.

Dit artikel is afkomstig van Computable.nl (https://www.computable.nl/artikel/3303812). © Jaarbeurs IT Media.

?


Lees meer over


 

Reacties

Ik zou graag de bronvermelding willen zien waarop gebaseerd is dat Exploratory Testen al deze eigenschappen heeft. ET is in mijn optiek slechts een testtechniek die je gebruikt als onderdeel van je risicoanalyse. ET is geen uitgewerkte testmethode!

Mensen die dit artikel lezen zullen ten onrechte de conclusie trekken dat alleen ET toepassen voldoende is voor een agile project. Dat is zeer risicovol, want geautomatiseerde unit- en integratietests en een zeer actieve klantrol zijn essentieel bij testen in Scrum projecten. Al deze inzichten mis ik hier.

@Anko: Je zegt dat ET een testtechniek is. Dat klopt ook, alleen je moet niet verwachten dat de Eugene die uit een andere hoek komt, dat zo gedetailleerd weet. Hij komt niet uit de testhoek.

Over het artikel zelf. Ik ben het wel met Eugene eens. Scrum betekent in testtermen snel en effectief handelen. Dat snel zit er met andere testtechnieken niet in. Je moet dus als tester redelijk ervaren zijn en snel door uitvoering leren. Want je moet al uitvoerend leren. Kun je dit niet. Begin dan niet aan Scrum. Minimaal 5 verschillende klussen/projecten als testervaring benodigd zou ik zeggen.

@MV: Deze column schrijft Eugene vanuit zijn rol als Computable Expert en hij is directeur R&D van een testbedrijf. Volgens mij mag ik hem dus best op zijn testexpertise aanspreken, anders verdient hij die rollen niet.

Ten tweede: Er zijn naar mijn mening meer dan voldoende testtechnieken die uitermate geschikt zijn voor agile projecten. Je kunt gewoon beslissingsanalyse, equivalentieklassen, procescyclustest, pairwisetesten etc. gebruiken. Wat je alleen niet moet doen is ze net zo gedetailleerd en tijdrovend gebruiken als ze in de testliteratuur staan - dan kun je geen snelle feedback aan je team geven en dat is essentieel. Maar de kern van de techniek is vaak simpel en als je je (in 1e instantie) daartoe beperkt kun je wel snelle feedback geven. Dus wel de techniek toepassen, maar voorzichtig zijn met de manier waarop je dat doet.
Als onderdeel van onze agile testen aanpak hebben wij juist hiervoor quick reference cards ontwikeld die testtechnieken beschrijven zoals je ze in agile projecten kunt gebruiken. Ze zijn downloadbaar vanaf www.agiletesten.eu

Vacatures

Stuur door

Stuur dit artikel door

Je naam ontbreekt
Je e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×