Domän-till-intervall-förhållande

Domän -till-område-förhållandet (DRR) är ett förhållande som beskriver hur antalet utgångar motsvarar antalet ingångar för en given logisk funktion eller mjukvarukomponent . Domän-till-område-förhållandet är ett matematiskt förhållande av kardinalitet mellan uppsättningen av funktionens möjliga ingångar ( domänen ) och uppsättningen av möjliga utgångar (intervallet ) . För en funktion definierad på en domän, , och ett intervall, , ges domän-till-intervall-förhållandet:

Den kan användas för att mäta risken för att missa potentiella fel när man testar enbart utgångsområdet.

Exempel

Betrakta funktionen isEven() nedan, som kontrollerar pariteten för ett kortnummer utan tecken , vilket värde som helst mellan och , och ger ett booleskt värde som motsvarar om är jämnt eller udda. Denna lösning drar fördel av det faktum att heltalsdelning i programmering vanligtvis avrundar mot noll.

    
             
 bool  ärJämn  (  osignerad  kort  x  )  {  return  (  x  /  2  )  ==  ((  x  +  3  )  /  2  -  1  );  } 

Eftersom kan vara vilket värde som helst från till , har funktionens domän en kardinalitet på . Funktionen ger , om är jämnt, eller , om är udda. Detta uttrycks som intervallet , som har en kardinalitet . Därför ges domän-till-intervall-förhållandet för isEven() av:

Här indikerar domän-till-område-förhållandet att denna funktion skulle kräva ett jämförelsevis stort antal tester för att hitta fel. Om ett testprogram försöker alla möjliga värden på i ordning från till , skulle programmet behöva utföra tester för varje av de två möjliga utgångarna för att hitta fel eller kantfall . Eftersom fel i funktioner med ett högt domän-till-område-förhållande är svåra att identifiera via manuell testning eller metoder som minskar antalet testade ingångar, såsom ortogonal array-testning eller all-pair-testning, kan mer beräkningsmässigt komplexa tekniker användas, t.ex. som fuzzing eller statisk programanalys , för att hitta fel.