Het software testproces versnellen
Veel bedrijven zouden graag het testproces in hun bedrijf willen versnellen. Maar kan dit eigenlijk wel, er zijn veel afhankelijkheden en voorwaarden, het is niet zo dat je even een hendel overhaalt en dan is het geregeld. Wat is er nou precies wel mogelijk en wat niet? Er zijn mogelijkheden, maar je moet eerst goed weten waar je het over hebt, de nodige verdieping is geboden alvorens het hele proces te kunnen overzien. Een degelijke uitleg in de vorm van een soort helikopterview is dan wel op zijn plaats.
Eerst de juiste visie op software testen in het algemeen
Veel bedrijven bekijken het testproces op een verkeerde manier, ze kijken niet naar de details maar beoordelen het meer vergelijkbaar met een boek, ze bekijken de cover en beoordelen het boek. Ze zien het software testen als een ding. Dat is absoluut de verkeerde visie. Als je je daadwerkelijk interesseert in een goed testproces voor je organisatie dan is een andere benadering beter. De juiste manier om naar software testen te kijken is het te zien als een samenhang van vele factoren. Al deze factoren tezamen en de samenhang ertussen zorgt ervoor dat het software testen binnen de organisatie goed verloopt of juist niet. Het heeft dan meer weg van een organisch systeem, waarvan de groei en bloei afhankelijk is van verschillende elementen en onderdelen. Het bekijken of het proces van software testen goed verloopt doe je dan ook met alle elementen.
Hoe kan men het software testproces versnellen?
Er zijn manieren, middelen en dingen die je kunt doen om het testproces te versnellen. Het werkt dan als water geven aan het gras. Een van de dingen die je kunt doen is de software testers tegemoet komen door functionaliteiten te bouwen waardoor ze de testcases veel sneller kunnen uitvoeren. (De bouwers zijn er zelf vaak ook mee geholpen).
Een praktisch voorbeeld
Stel dat je 2 datumvelden nodig hebt waartussen een bepaalde testperiode valt. Je kunt het dan zo bouwen dat je zelf 13-12-2000 moet invullen, maar het valt ook zo te bouwen dat een waarde van 13-12-2000 ingevuld kan worden als 13122000 en het systeem zelf de '-' tekentjes zet, dat helpt dan al iets. Stel dat je dan ingeeft 131220009 (oftewel een getal teveel), dan zou het wel zo handig zijn voor de software testers (maar ook voor de systeemgebruikers) dat er in dat geval niet meer dan 8 getallen ingevoerd kunnen worden in het veld. Het zou nóg meer helpen wanneer na 8 getallen het systeem zelf naar het volgende datuminvoerveld zou 'tab'-en... en zo kun je doorgaan. Het principe is dat je de software testers helpt om sneller te kunnen testen.
Je kunt dit heel ver doorvoeren, zodat een waarde van 111111 omgezet wordt naar 01-01-1111 en een waarde van 222222 naar 02-02-2222. Soms is het namelijk voor de test helemaal niet belangrijk
welke waarden er staan, maar volstaat het al met
een waarde. 6x een 1 en 6x een 2 zijn heel snel in te geven. Vaak worden dit soort bevindingen als de "Nice To Haves" beschouwd, maar mocht je bedrijf kampen met een traag testproces, dan is het misschien toch eens de moeite waard om het belang van zulke bevindingen te heroverwegen. Tijd is geld, ook voor klanten, wachten totdat software testen klaar is zou niet hoeven, met een beetje prioriteit voor dit soort versnellingen op het testproces.
Het bovenstaande is ook maar slechts een illustratief voorbeeld, het principe kan worden toegepast op allerlei functies, schermen en velden binnen de applicatie. Alles aan functionaliteit wat de testers helpt om sneller vooruit te komen. Misschien in eerste instantie lage prioriteit voor de stakeholders, maar hierdoor veel sneller kunnen testen en uitrollen op productie (een gegeven dat dan weer eigenlijk héél belangrijk voor de stakeholders is).
Kortom, geef testers dus zeggenschap en voorrang wanneer zij aangeven dat een bepaalde fix erg belangrijk is, ondanks dat dit inzicht bij de bouwers tegenstrijdig is of helemaal niet hetzelfde. Testers zien soms de reden daar waar anderen het niet zien en het uitleggen ervan is soms een moeilijke kwestie. (Dit zit hem in het verschil van er tegenaan kijken: het glas is half vol, het glas is half leeg). Maar vaak blijkt dat testers, achteraf gezien gelijk hadden, dus waarom niet bij voorbaat meer rekening houden met hun mening over prioriteiten in de volgorde van bugs fixen?
Wat kan men verder nog doen om het testproces te versnellen?
Een simpele maar heel erg effectieve manier om het testproces te versnellen is: 'zet de testers vooraan'. Wat hiermee wordt bedoeld is dat software testers bij de besluitvorming van nieuwe functionaliteiten en processen al worden betrokken helemaal aan het begin. Omdat software testers het testobject (product) vaak door en door kennen (zeker op lange termijn) is het heel nuttig om hen mee te laten denken bij de ontwikkeling en beslissing van nieuwe functionaliteiten. Zij weten dan namelijk al snel te bepalen welke impact dit zal hebben op de totale testeffort. Omdat dit inzichtelijk wordt voor hen kunnen zij beter plannen. Ook kunnen zij aangeven dat een bepaalde gekozen oplossing voor het testen veel extra werk kan opleveren, waardoor er overwogen kan worden om voor een andere oplossing te gaan of een alternatief. Een alternatief dat minder impact heeft op de testdoorlooptijd.
Nog enkele tips
Verder kun je op zaken letten als: de juiste chronologische volgorde testen, meerdere functies tegelijk testen en een test meerdere checks laten doen. (Met een hoofddoel, maar impliciet worden dingen meegetest). Al met al genoeg mogelijkheden om het testproces vlot te laten verlopen.
De essentie is: door grip te krijgen op het
gehele testproces (in plaats van een onderdeel ervan) kan er pas voor worden gezorgd dat de doorlooptijd van testen exponentieel af zal nemen.
Lees verder