title: Semantische test
text: De semantische test (SEM) is een testontwerptechniek die gebruikt wordt voor het testen van software en dan met name voor het testen van de invoergegevens. Het is een techniek die in de praktijk vaak samen met de syntactische test kan worden gecombineerd. Het doel van de semantische test is het testen van de relaties tussen gegevens. Deze relaties kunnen liggen tussen de gegevens binnen een scherm, tussen gegevens op verschillende schermen en tussen invoergegevens en reeds aanwezige gegevens in de database. Denk bij deze relaties bijvoorbeeld aan de 'minimale leeftijd', 'houdbaarheidsdatum' en dergelijke.
  
  Voorbeeld minimale leeftijd 
  Als in een HRM-systeem van een bedrijf de gegevens van een nieuwe medewerker ingevoerd moeten worden, dan kunnen invoercontroles worden toegevoegd om foutieve invoer te voorkomen. Zo kunnen geen al te jonge medewerkers aangenomen worden en mag dus de datum van het indiensttreding niet liggen voor de 16e verjaardag van de medewerker. Met de SEM wordt de relatie tussen twee velden afgetest. Met andere woorden, het systeem gaat kijken of de datum van indiensttreding wel minimaal 16 jaar na de geboortedatum ligt.
  
  Stel dat er ingevoerd wordt dat iemand in 2018 in dienst genomen wordt en er wordt ingevuld dat de geboortedatum in 2010 is. In dit voorbeeld is de datum van indiensttreding niet minimaal 16 jaar na de geboortedatum. De medewerker is bij de indiensttredingsdatum slechts 8 jaar oud. Met de semantische test wordt deze invoer tegengehouden met bijvoorbeeld een (fout)melding.
  
  Een andere semantische test zou bijvoorbeeld kunnen waarschuwen als er nieuwe medewerkers ingevoerd worden die ouder zijn dan de normale pensioenleeftijd.
  
  Dekking 
  Bij een semantische test worden meerdere (waarden van invoer)gegevens in combinatie tot elkaar getest. De standaarddekking voor deze ontwerptechniek is Modified Condition Decision Coverage (MCDC). Voor een lichte variant kan gekozen worden voor een condition/decision coverage. Voor een zware variant kan gekozen worden voor Multiple Condition Coverage.
  
  Stappen voor de SEM
  De semantische test kent 4 generieke stappen:
  
  1. Identificeren testsituaties;
  Een semantische regel kan vaak beschreven worden in termen van ALS (semantische regel) DAN actie A ANDERS actie B.
  2. Opstellen logische testgevallen;
  De uitwerking van stap 1 (vaak in vorm van waarheidstabel) in begrijpelijke variabelen (bijvoorbeeld leeftijd < 16 jaar).
  3. Opstellen fysieke testgevallen;
  Het vertalen van de logische testgevallen in concrete fysieke testgevallen (bijvoorbeeld leeftijd = 15 jaar)
  4. Vaststellen uitgangssituatie.
  De benodigde handelingen nodig voor het verkrijgen van een initiële situatie.
  
  Bron
  Sogeti: TMap Next.
  
  Testontwerptechniek