"Bij het beschouwen van het gehele proces van softwaretesten zijn er enkele cruciale momenten, waaronder... 't begin en 't end. Je kunt deze momenten op verschillende manieren benaderen: eenvoudig en beknopt, of juist uiterst gedetailleerd. Een gedetailleerde benadering heeft een vergelijkbaar effect zoals geïllustreerd wordt in het volgende TikTok-filmpje: https://vm.tiktok.com/ZGJK9JXSd/ Laten we eens kijken naar het startpunt: Overweeg je bijvoorbeeld een Preliminary Risk Assessment (PRA)? De keuze om al dan niet een PRA uit te voeren, kan worden beschouwd als een diepgaandere analyse, zoals gedemonstreerd wordt in het TikTok-filmpje. Hetzelfde geldt voor het 'beëindigen van het testen'. Je kunt het op een eenvoudige manier bekijken, maar je kunt er ook dieper op ingaan." "Achter de vraag 'wanneer moeten we stoppen met testen?' schuilt een complexe wereld. Een uitgebreide blog die deze kwestie behandelt, is te vinden op: https://developsense.com/blog/2009/09/when-do-we-stop-test Het begrip wordt duidelijk wanneer je het principe begrijpt: je kunt het oppervlakkig bekijken, maar ook diep inzoomen. De volgende stap is het toepassen van de schaal waarop je kijkt. Met 'schaal' bedoelen we het niveau waarop je het starten en stoppen van testen kunt overwegen. Dit kan op het overkoepelende 'Project Niveau' zijn, bijvoorbeeld alle apparaten, wet- en regelgeving, of op een zeer holistisch niveau. Je kunt hetzelfde principe toepassen op een module, functie, backlog-item, een enkele vereiste of een individueel testgeval. De schaal waarop je kijkt kan variëren, net zoals de mate van detail waarmee je kijkt. Je kunt bijvoorbeeld diep inzoomen op een specifiek element of juist oppervlakkig 'het geheel' bekijken. Een laag is dat je het aanvangen en of stoppen van testen kunt bekijken op overkoepelend hoog 'Project Niveau' (bijvoorbeeld alle devices, of alle wet- en regelgeving of... enorm holistisch) Maar ook op een lager niveau Hetzelfde principe gaat op voor een module. (of feature) Hetzelfde gaat op voor een backlog item... Hetzelfde gaat op voor slechts 1 requirement of slechts 1 testgeval. De laag waarop je kijkt kan dus variëren (bijvoorbeeld een bodemlaag van de grond), de gedetailleerdheid waarmee je kijkt kan dus variëren (bijvoorbeeld dan ver ingezoomd op één specifiek element van die bodemlaag, of juist oppervlakkig 'alles wat daar zit'.). Tot nu toe begrijpelijk? Laten we het ingewikkelder maken. De wereld van software testen is complexer dan dit. Neem bijvoorbeeld een backlog-item. We ontwikkelen een feature en testen deze op verschillende lagen, zoals de unit-testlaag, de API-laag, de gebruikersinterface (E2E) en zelfs met het blote oog (functionele test). Stel dat we een bug vinden, laten we zeggen, op de gebruikersinterface-laag. Dan wordt er een bug gevonden met één van deze manieren van testen (praktijk is natuurlijk meerdere bugs op meerdere testlagen van de piramide, voor het gemak laten we dat even hier nu achterwege) mag je zelf kiezen op welke laag van de piramide, laten we zeggen op de UserInterface laag. Herinner je je het voorbeeld van de mate van detail bekijken? Je zou deze bug kunnen classificeren als onbelangrijk, met een lage prioriteit, vanwege de lage kans op fouten en lage ernst. Tijd verstrijkt en dan ontdek je dat deze bug toch een groot effect heeft op een hoger niveau, zoals het onvermogen om af te drukken. Dit opent deuren naar andere processen, want in softwaretesten geldt vaak: 'verander je hier iets, dan heeft dat elders impact'. Niet alleen dat, één bug kan een specifieke testaanpak vereisen. Daarom zijn er talloze softwaretesttechnieken beschikbaar. Om softwaretesten goed te begrijpen, is diepgaande theoretische kennis nodig, en moet je verschillende aspecten en niveaus van diepgang kunnen benaderen. Dit vereist de vaardigheid om zowel te simplificeren als een holistische kijk te hanteren en het grotere geheel te overzien. In- en uitzoomen, dat is de sleutel!" 3-11-2023 aanvulling. Bij het teruglezen van de blog was ik er in zijn algeheel content mee. Toch wil ik er nog een extra aanvulling op doen bij nader inzien. Wat je vaak ziet in het testen (en dus het bepalen van starten en stoppen) is dat requirements in een soort van hiërarchische structuur aan elkaar hangen als je ze uittekent of opstelt. Zie onderstaande plaatje: Echter, dat is geen garantie voor het juist in scope hebben van de (daadwerkelijke) prioriteiten.
Daarmee bedoel ik dat soms een requirement als zeer onbelangrijk word bestempeld. Naarmate tijd verstrijkt en (al dan niet door testen) meer info wordt ingewonnen, blijkt toch dat dat ene item een heel stuk belangrijker is dan het in eerste instantie leek. Niet altijd wordt de prioriteit in het item dan goed bijgehouden, resulterend ook niet goed in scope gehouden in het SCRUM proces. Kortom, de begripsvorming dat het starten kan fluctueren ("zie zoom-in text en video's") en het stoppen kan fluctueren ("zie zoom-out tekst en video's") wordt nog eens bemoeilijkt doordat de scope (wat testen we) bemoeilijkt wordt doordat items omhoog en omlaag schieten qua prioriteiten. Had ik al gezegd dat software testen best moeilijk is? Ik benadruk het nog maar eens opnieuw... software testen is moeilijk! (of zoom ik nu misschien wat te ver uit? ;) )
0 Comments
Leave a Reply. |
Categories :
All
120 unieke bezoekers per week.
Uw banner ook hier? Dat kan voor weinig. Tweet naar @testensoftware AuthorMotto: Archives
December 2024
This website uses marketing and tracking technologies. Opting out of this will opt you out of all cookies, except for those needed to run the website. Note that some products may not work as well without tracking cookies. Opt Out of Cookies |