Noot van de redactie: Welkom bij de serie Leadership In Test van softwaretestexpert en consultant Paul Gerrard. De serie is bedoeld om testers met een paar jaar ervaring—vooral degenen in Agile-teams—te helpen uitblinken in hun rollen als testleider en manager.
Dit artikel begint bij het begin: waar draait softwaretesten eigenlijk om? Je leert de basisprincipes van softwaretesten die de basis vormen voor je denkwijze wanneer je de kunst en wetenschap van kwaliteitsengineering benadert.
Schrijf je in voor de nieuwsbrief van The QA Lead om een melding te krijgen wanneer nieuwe delen van de serie verschijnen—en om je verder te verdiepen in Pauls cursus Leadership In Test. Als je dat doet, gebruik dan onze exclusieve kortingscode QALEADOFFER om $60 korting op de cursus te krijgen!
Wanneer je testmanager bent in een project, is de kans groot dat mensen ervan uitgaan dat je de expert bent op het gebied van alles wat met testen te maken heeft. Andere teamleden hebben waarschijnlijk hun eigen goed onderbouwde of excentrieke opvattingen over testen; sommigen hebben misschien (of zeggen op zijn minst dat ze) meer ervaring hebben dan jij.
Verwachtingen van testen zijn vaak onrealistisch en zelfs ervaren mensen nemen luie standpunten in over wat testen kan bereiken. Sommige mensen zullen twijfelen aan je bekwaamheid, je waarde voor het team of zelfs je beweegredenen. Het kan lastig zijn.
In je loopbaan als testmanager zul je je moeten aanpassen aan nieuwe en veranderende omstandigheden. Je krijgt te maken met zakelijke belanghebbenden en senior projectbelanghebbenden. Je gaat deel uitmaken van teams van verschillende omvang, met daarin uiteenlopende mensen met sterk variërende achtergronden. Ze kunnen uitgebreide ervaring hebben, of eigenlijk helemaal niet zoveel.
Je rol kan variëren van tester zijn tot het aansturen van een groot team of toezicht houden op het testen binnen een project, het adviseren van een Agile-team of uitzoeken hoe testen past binnen een regime van continue oplevering.
Voordat we termen als testen, belanghebbende en doelstellingen van belanghebbenden gaan gebruiken, kunnen we maar beter heel duidelijk zijn over waar we het over hebben.
Definitie van “test”
Het woord test wordt gebruikt als zelfstandig naamwoord en als werkwoord. Het gaat om testen als activiteit en om het resultaat van die activiteit. Het gaat om de mensen of organisaties die opdracht geven tot die activiteit en om degenen die de resultaten gebruiken. Het gaat vooral om de mensen die zichzelf testers noemen en om de complexe systemen waaraan we werken.
Als we contextneutraal testen willen bespreken, hebben we een contextneutrale definitie van een test nodig. Daarom heb ik de definitie van test opgezocht op de website dictionary.com. Van de vele pagina’s met verwijzingen naar het woord test en de toepassingen ervan op allerlei gebieden is de definitie uit de American Heritage Dictionary het meest toepasselijk:
Test: (zelfstandig naamwoord) een procedure voor kritische evaluatie; een middel om de aanwezigheid, kwaliteit of waarheid van iets vast te stellen; een proef
Er is niet slechts één definitie; er zijn er namelijk drie. Nou, dat valt volgens mij wel mee, want alle drie samen geven ons de fundamenten die we nodig hebben. Laten we elk ervan nader bekijken.
Een procedure voor kritische evaluatie
Kritische evaluatie houdt een vakkundig oordeel in over de waarheid of verdienste van iets. Een test is een procedure, meestal met een reeks stappen die een vorm van voorbereiding, uitvoering, het verzamelen van resultaten, analyse en interpretatie omvatten. Dit is geen definitieve beschrijving van een testprocedure. Er kunnen meer stappen zijn en je zou deze hoofdstappen verder kunnen opsplitsen.
Voor de procedure is niet per se vooraf opgestelde documentatie nodig, maar sommige tests worden wel zo gedocumenteerd (en geautomatiseerde tests worden altijd op de een of andere manier gescript). Het belangrijkste is dat een test gebaseerd is op een scherpzinnig denkproces.
Dit denkproces wordt gestuurd door de behoefte om het systeem onder test te evalueren met betrekking tot de geschiktheid, consistentie, het gedrag, de nauwkeurigheid, betrouwbaarheid of een ander belangrijk aspect of kenmerk ervan.
Een middel om de aanwezigheid, kwaliteit of waarheid van iets vast te stellen
Met een test kan de aanwezigheid (of afwezigheid) van iets eenvoudig genoeg worden vastgesteld, maar kwaliteit is een andere kwestie: de term is beladen met emotionele connotaties, maar dezelfde woordenboekbron schiet ons te hulp. Kwaliteit kan “een essentiële of onderscheidende eigenschap, kenmerk of attribuut” zijn. Nu kunnen we zien dat een test deze eigenschappen aan het licht kan brengen.
Let op: ik gebruik de term kwaliteit niet om de relatie tussen een gebruiker of belanghebbende en een product weer te geven. Kwaliteit is als schoonheid – het zit in het oog van de gebruiker. Laat je niet verleiden tot discussies over hoe je kwaliteit meet (met testen). Ik vermijd het Q-woord meestal volledig.
Let op: ik gebruik de term kwaliteit niet om de relatie tussen een gebruiker of belanghebbende en een product weer te geven. Kwaliteit is als schoonheid – het zit in het oog van de gebruiker. Laat je niet verleiden tot discussies over hoe je kwaliteit meet (met testen). Ik vermijd het Q-woord meestal volledig.
Kan een test de waarheid van iets bepalen? Welnu, ook dat is logisch. Doorgaans moeten we een bewering testen, zoals: “dit systeem voldoet aan een bepaalde vereiste”, “dit systeem gedraagt zich op een bepaalde manier”, “dit systeem is acceptabel” enzovoort. Er komt een zekere mate van subjectieve beoordeling bij kijken, maar we kunnen zien dat een test of tests bewijs kan leveren waarmee iemand die beoordeling kan uitvoeren en een beslissing kan nemen.
Een proef
Het begrip proef houdt in dat het testen van een systeem ons zal helpen dat systeem te evalueren met betrekking tot zijn eigenschappen. Het doel van een dergelijke evaluatie is doorgaans om een beslissing te nemen.
De beslissing kan zijn om het systeem te accepteren of af te wijzen, maar het kan ook zijn om de tekortkomingen ervan aan het licht te brengen, zodat deze op de een of andere manier kunnen worden verholpen. Een test kan er ook toe leiden dat een individu of organisatie van koers verandert – een ontwerp heroverweegt; een vereiste versoepelt of wijzigt; een component afschrijft en opnieuw begint; iets koopt in plaats van het te bouwen, of het bouwt in plaats van het te kopen.
Een natuurlijke manier om naar een systeem dat wordt getest te kijken, is dat het terechtstaat en op de een of andere manier zal worden beoordeeld.
Definitie van testen
Vanuit onze definitie van het zelfstandig naamwoord test kunnen we eenvoudig een werkwoord afleiden.
Testen: (werkwoord) kritisch evalueren; de aanwezigheid, kwaliteit of waarheid van iets bepalen; een proef uitvoeren.
Tot zover gaat het goed.
Maar eigenlijk toch niet zo goed. Helaas kampt het testvak met terminologische problemen. We kunnen hier onmogelijk een definitieve woordenlijst geven. Om misverstanden in je projecten te voorkomen, raad ik je aan te vragen wat het doel van elk gedefinieerd testtype is, in plaats van te vertrouwen op een veronderstelde definitie om dat te bepalen.
Veelvoorkomende testtypen waar je over zult horen
Een uitleg over elk van deze typen softwaretests valt buiten het bestek van dit artikel, maar als softwaretester zul je veel over deze typen horen (waarvan je er waarschijnlijk al een aantal hebt bestudeerd):
- Black-box-testen
- Regressietesten
- Unittesten
- Bètatesten
- Handmatig testen
- Geautomatiseerd testen of testautomatisering
- Eindtesten
- Stresstesten
- Beveiligingstesten
- Prestatietesten
- Whiteboxtesten
- Acceptatietesten
- Integratietesten
- Belastingstesten
- Systeemtesten
- Niet-functionele testen
Over welk type test je het ook hebt, mijn advies is om altijd te vragen wat het doel van de test is, zelfs als het een algemeen aanvaarde naam lijkt te zijn, zoals een unittest of acceptatietest. De interpretatie van deze termen kan per team verschillen.
Schrijf je in voor de nieuwsbrief van The QA Lead om op de hoogte te worden gebracht wanneer nieuwe delen van de serie verschijnen—en krijg een diepere duik in Pauls cursus Leiderschap in testen. Als je dat doet, gebruik dan onze exclusieve couponcode QALEADOFFER voor $60 korting op de cursus!
Gerelateerd artikel: 7 BASISGEREEDSCHAPPEN VOOR KWALITEITSTECHNIEK EN WAAROM JE ZE NODIG HEBT
