TMAP® Foundation

Testontwerptechnieken

« Terug naar TMAP Samenvatting Inhoudsopgave

Testontwerptechniek: gestandaardiseerde werkwijze om vanuit de testbasis testgevallen af te leiden die tot een bepaalde dekking leiden.

Op basis van:

  • opdrachtformulering
  • risicoanalyse
  • teststrategie

Vertalen naar juiste dekking dmv testontwerptechniek in testgevallen.

 

Zie blz 592, figuur testontwerptechnieken

 

Belang van testontwerptechnieken:

  • onderbouwde invulling van de teststrategie
  • leidt tot efficiënte en per geval tot gerichte opsporing van fouten
  • tests zijn reproduceerbaar
  • gestandaardiseerde werkwijze maakt de uitvoering onafhankelijk van de opsteller
  • overdraagbaarheid en onderhoudbaarheid van de testgevallen
  • testproces is beter planbaar en beheersbaar

13.1. Testsituatie, testgeval, testscript

13.1.1. Testsituatie

Testsituatie is een geïsoleerde omstandigheid waaronder het testobject een specifiek gedrag vertoont en die getest moet worden.

13.1.2. Testgeval

Met een testgeval wordt onderzocht of het systeem onder bepaalde omstandigheden het gewenste gedrag vertoont.

Een logisch testgeval beschrijft in logische termen de omstandigheden waarin het systeemgedrag onderzocht wordt, door aan te geven welke testsituaties door het testgeval gedekt worden. Een voorbeeld is:

  • bestelling van precies 1 boek
  • bestelling van meer dan 1 boek
  • orderbedrag boven drempelwaarde
  • orderbedrag onder drempelwaarde

Een fysiek testgeval is de concrete uitwerking van een logisch testgeval, waarbij keuzes gemaakt zijn voor de waarden van alle benodigde invoer en instellingen van de omgevingsfactoren. Een voorbeeld is:

  • Drempelbedrag: 50
  • Korting: 10%
  • Prijs boek 1: 25
  • Prijs boek 2: 19
  • Prijs boek 3: 61
  • TG1: Actie: bestel boek 1 en boek 2
    • Resultaatvoorspelling is …….
  • TG2: Actie: bestel boek 3
    • Resultaatvoorspelling is……

13.1.3. Testscript

In een testscript worden meerdere fysieke testgevallen samengebracht om ze efficieënt en eenvoudig uit te kunnen voeren. Bijvoorbeeld:

  • ze gebruiken dezelfde initiële situatie
  • ze vereisen dezelfde tijdrovende voorbereiding
  • ze gaan over dezelfde situatie (klanten buitenland)
  • er is een afhankelijkheid in tijdsvolgorde

13.2. Dekking, dekkingsvorm en dekkingsgraad

Dekking is de verhouding tussen datgene wat getest kan worden en datgene wat met de testset getest wordt.

  1. dekkingsvorm: de vorm waarin het afdekken van de te testen situaties die afleidbaar zijn uit de testbasis uitgedrukt wordt.
  2. dekkingsgraad: het percentage van de door de dekkingsvorm bepaalde testsituaties dat door de test gedekt is.

 

Mogelijkheden:

  • een zwaardere dekkingsvorm
  • meerdere dekkingsvormen
  • hogere dekkinggraad van een bepaalde vorm

13.3. Dekkingsvormen:

  • Paden: dekken van de variaties in het procesverloop, vereiste testbasis is processchema, verzwaren via testmaat-N, zie pagina 610. Testmaat-N is de zekerheid dat alle combinaties van N achtereenvolgende paden afgedekt zijn.
  • Beslispunten: een samenstelling van één of meer condities die de voorwaarden definieert voor de verschillende mogelijkheden in het daaropvolgende systeemgedrag. Beslispunten dekken de verschillende mogelijkheden van een beslispunt, testbasis is formele beschrijving beslispunt, verzwaren condition/decision, modified en multiple condition, zie pagina 615
  • Equivalentieklassen: bij het toepassen van equivalentieklassen wordt het volledigde waardebereik van een parameter opgedeeld (gepartitioneerd) in klassen waarbij het systeemgedrag gelijksoortig (equivalent) is, zie pagina 624
  • Orthogonale arrays en Pairwise testing: Een orthogonale array LN (sk, t) is een 2-dimensionale array van N rijen en k kolommen bestaand uit elementen die s waarden kunnen annemen, waaribj iedere combinatie van t kolommen alle combinaties van de s waarden in gelijke hoeveelheid bevat. Pairwise testing heeft tot doel om van elke willekeurige combinatie van twee factoren alle mogelijkheden te testen, zie pagina 625
  • Grenswaardenanalyse: testen van de grenswaarde, de waarde eronder en de waarde erboven, verzwaren door meerdere waarden rond de grens te testen, zie pagina 636
  • CRUD: dekken van de basis bewerkingen op alle entiteiten, zie pagina 638
  • Statisch gebruik: simuleren realistisch gebruik, zie pagina 641
  • Goedpaden, foutpaden: dekken van goedpad en foutpad bij iedere gedefinieerde foutsituatie, zie 646
  • Afvinklijst: hier worden alle situaties getest die zonder structuur in een lijst opgesomd zijn, zie pagina 648

13.4. Testontwerptechnieken

Een testontwerptechniek is een gestandaardiseerde werkwijze om vanuit een bepaalde testbasis testgevallen af te leiden die een bepaald dekking bereiken.

13.4.1. Beslistabeltest

De beslistabeltest (BTT) is een grondige techniek voor het testen van detailfunctionaliteit. De benodigde testbasis bevat condities of beslistabellen. De BTT richt zich op het grondig afdekken van de condities en niet op het combineren van functionele paden.

13.4.2. Datacombinatietest

De datacombinatietest (DCT) is een veelzijdige techniek voor het testen van de functionaliteit op zowel detailniveau als op overkoepelend systeemniveau.

13.4.3. Elementaire Vergelijkingentest

De elementaire vergelijkingentest (EVT) is een grondige techniek voor het gedetailleerd testen van de functionaliteit. De EVT richt zich op het grondig afdekken van de beslispunten en niet op het combineren van functionele paden.

13.4.4. Error guessing

Error guessing (EG) is het gissen naar fouten. De waarde ervan ligt in het onverwachte: er worden tests uitgevoerd die anders niet aan bod komen.

13.4.5. Exploratory testing

Exploratory testing (ET) is het simultaan leren, ontwerpen en uitvoeren van tests, met andere woorden elke vorm van testen waarbij de tester zijn testen ontwerpt tijdens de testuitvoering en de informatie die wordt verkregen tijdens het testen wordt gebruikt om nieuwe en betere testgevallen te ontwerpen.

13.4.6. Gegevenscyclustest

De gegevenscyclustest (GCT) is een techniek om te testen of de gegevens op consistente wijze zijn gebruikt en bewerkt worden door verschillende functies vanuit verschillende deelsystemen of zelfs verschillende systemen.

13.4.7. Procescyclustest

De procescyclustest (PCT) is een techniek die vooral wordt toegepast bij het testen van het kwaliteitsattribuut inpasbaarheid. De PCT richt zicht op het afdekken van de variaties in het procesverloop.

13.4.8. Real life test

Bij de real life test (RLT) is het de bedoeling om het realistisch gebruik van het system statistisch verantwoord te simuleren. Deze test richt zich vooral op kenmerken als bruikbaarheid, connectiviteit, continuïteit en performance van het te testen systeem.

13.4.9. Semantische test

De semantische test (SEM) behoort samen met de syntactische test tot de validatietest waarmee de geldigheid van de invoergegevens getest wordt. In de praktijk wordt de semantische test vaak gecombineerd uitgevoerd met de syntactische test.

13.4.10.   Synactische test

De syntactische test (SYN) behoort samen met de semantische test tot de validatietests waarmee de geldigheid van de invoergegevens getest wordt. Hiermee wordt vastgesteld in hoeverre het systeem bestand is tegen ongeldige of ‘onzinnige’ invoer die al of niet moedwillig aan het systeem aangeboden wordt.

13.4.11.   Use case test

De use case test (UCT) is een techniek die vooral wordt toegepast bij het testen van de kwaliteitsattributen inpasbaarheid, bruikbaarheid en gebruikersvriendelijkheid. Een use case bevat een typische interactie tussen een gebruiker en een systeem. De use case beschrijft een compleet stuk functionaliteit dat een systeem aanbiedt aan een gebruiker en dat een voor de gebruiker observeerbaar resultaat oplevert.

Volgend Hoofdstuk: Toetstechnieken.

Een complete samenvatting van de lesstof in PDF formaat is GRATIS te downloaden in de e-learningomgeving.

TMAP Foundation Logo

IMfacts logo
Nieuw: vakinformatie door ICT managers en trainingen voor pragmatisch ingestelde professionals in IT en Informatiemanagement.
Examenvragen.info steunt dit initiatief met oa e-learning. Snel meer!

Gratis Proefaccount!