maandag 29 maart 2010

SCRUM en Exploratory Testing

Testers hebben ruime voorbereidingstijd nodig om testspecificaties op te stellen die achteraf kunnen worden uitgevoerd. Ze zijn behoudend en verlaten niet graag comfort zone. 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 4 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.
Andere mindset
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.
Overeenkomsten
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 t.a.v. (functionele) wijzigingen
  • Vereist nadrukkelijke business participatie
  • 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
 


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.

dinsdag 16 maart 2010