Bij de meeste use cases is er een groot aantal manieren om de use cases te doorlopen. Er is een scenario dat het gewenste resultaat oplevert. Dit wordt het gewenste scenario genoemd. Daarnaast zijn er nog twee groepen scenario's. Zo zijn er alle scenario's die een ongewenste resultaat als uitkomst hebben. Dit zijn de faalscenario's. Tenslotte zijn er herstelscenario's. Dit zijn scenario's die afwijken van het gewenst scenario, en derhalve op een faalscenario lijken uit te lopen, maar door een additionele handeling toch weer op het juiste pad terechtkomen, en alsnog een gewenste resultaat opleveren.Het test activity diagram, dat wordt opgesteld voor iedere use case, beschrijft al deze scenario's grafisch. Deze representatie dient als basis voor het opstellen van alle (tekstuele) testscenario's, een voor het gewenste scenario, en een voor ieder faal- of herstelscenario. DoelPer use case worden de testscenario's vastgesteld. Deze testscenario's worden vervolgens gebruikt voor het opstellen van de functionele testgevallen. De testscenario's worden opgesteld om te kunnen verifiëren of de applicatie uiteindelijk de functionaliteit naar behoren implementeert en "doet wat ie moet doen".Het opstellen van testscenario's is een ontwerp-activiteit. Smart maakt nadrukkelijk gebruik van test first design. Testers kijken nu eenmaal anders naar functionaliteit dan ontwerpers en ontwikkelaars. Laatstgenoemden zijn vooral geinteresseerd in het gewenste scenario, terwijl testers veel meer de faal- en herstelscenario's benadrukken. Het opstellen van de testscenario's wordt zodoende gebruikt om het ontwerp, in de vorm van sequence diagrammen, te detailleren. Stappen- Vaststellen deelpadenHet startpunt, de eindpunten en de beslismomenten van een test activity diagram vormen de essentiële elementen van het diagram voor het vaststellen van de testscenario's. Een deelpad is een pad in een test activity diagram dat geen splitsingen (beslismomenten) kent. Een deelpad start derhalve in een startpunt of in een beslismoment, en eindigt in een ander beslismoment of in één van de eindpunten van het diagram.Voorzie ieder van de deelpaden in het test activity diagram van een uniek volgnummer. Geef ieder deelpad een tekstuele beschrijving, die een korte samenvatting is van de op het deelpad liggende activiteiten. Noteer ook de voorwaarde die bij het startende beslismoment moet worden waargemaakt om het deelpad te kunnen uitvoeren. Indien het startende punt van het deelpad het startpunt van het test activity diagram is, noteer dan de preconditie van de use case als voorwaarde.
- Identificeren van paren van deelpadenMaak een korte opsomming van de paren van deelpaden in het test activity diagram. Een paar van deelpaden bestaat uit twee elkaar direct opvolgende deelpaden. Noteer ieder mogelijk paar van deelpaden in het diagram op volgorde van het eerste deelpad. De opsomming van paren van deelpaden geldt als uitgangspunt voor het vaststellen van alle testscenario's.
- Vaststellen testscenario'sMet behulp van een eenvoudige techniek uit de grafentheorie worden nu alle testscenario's vastgesteld. Begin met het bovenste paar van deelpaden in de opsomming. Dit is de start voor een nieuw testscenario. Noteer dit en kijk of er paren van deelpaden zijn die starten met het laatste deelpad van het genoteerde paar. Voor ieder gevonden paar wordt er een nieuw testscenario genoteerd, dat start met het eerste paar. Uiteindelijk zal ieder scenario nu bestaan uit een opeenvolging van deelpaden. Ga door met het toevoegen van paren totdat ieder van de scenario's op een eindpunt is aanbeland. Streep nu het bovenste paar van deelpaden weg uit de opsomming en vervolg met het volgende. Herhaal dit voor alle paren van deelpaden in de opsomming. Na afloop zijn alle mogelijke testscenario's vastgesteld als een opeenvolging van deelpaden.
- Afronden testscenario'sNoteer voor ieder van de gebruikte deelpaden in een testscenario vervolgens de korte beschrijving van dat deelpad en voorwaarde die geldt om op dat deelpad uit te komen. Noteer vervolgens welke postconditie van de use case op het eindpunt van het testscenario wordt waargemaakt.
- Vaststellen testgevallenDoorloop ieder van de deelpaden in het testscenario en beschrijf daarbij de handeling(en) die de gebruiker moet uitvoeren om dit testscenario te volgen. Iedere handeling wordt een testactie genoemd. Hiermee moeten steeds de voorwaarden worden voldaan om het volgende deelpad op te kunnen. In de praktijk betekent dit dat de gebruiker bepaalde waarden voor attributen invoert of op knoppen drukt op forms.Het is mogelijk om verschillende waarden voor een attribuut op te nemen, zoals een default en een maximum en minimum, zo lang het testscenario gevolgd blijft worden. Iedere opeenvolging van dergelijke testacties representeert een uniek testgeval. Er ontstaat dus mogelijk een veelheid aan testgevallen voor een testscenario. Meestal is een testgeval per testscenario echter ruim voldoende.
RichtlijnenParallelHet opstellen van testscenario's en testgevallen kan vaak parallel plaatsvinden aan een aantal andere activiteiten, zoals verschillende taken uit ontwerp en zelfs uit bouw. Er is betrekkelijk weinig overlap in de benodigde rollen. Het parallel uitvoeren van deze activiteiten kan de doorlooptijd van de iteratie aanzienlijk verkorten. End statesEen handige manier om de verschillende testpaden zichtbaar te maken is om de deelpaden als notities op te nemen in de test activity diagrams. Daarnaast kunnen ook de (nummers van) de deelpaden in testscenario's worden opgenomen in de end states van het test activity diagram. Noteer zo bijvoorbeeld bij een end state (1,2,4 of 1,3,5,4) indien er meerdere testscenario's naar dezelfde end state leiden. | |