Content deleted Content added
Line 37:
* '''quantitative''' (a requirement like "fast response time" can not be [[Verification and Validation (software)|Verification/verified]])
* '''[[Verification and Validation (software)|Verification/verifiable]] in practice''' (a test is feasible not only in theory but also in practice with limited resources)
Treating the requirement as axioms, testability can be treated as existence of a function <math> F_S</math> (software)
such that input <math> I_k </math> generates output <math> O_k </math>, therefore <math> F_S : I \to O </math>.
Therefore, the ideal software generates the tuple <math> (I_k,O_k) </math> which is the input-output set <math> \Sigma </math>,
standing for specification.
Now, take a test input <math> I_t </math>, which generates the output <math> I_t </math>, that is the test tuple
<math> \tau = (I_t,O_t) </math>. Now, the question is whether or not <math> \tau \in \Sigma </math> or <math> \tau \not \in \Sigma </math>. If it is in the set, the test tuple <math> \tau </math> passes, else the system fails the test input.
Therefore, it is of imperative importance to figure out : can we or can we not create a function that effectively translates into the notion of the set [[Indicator function]] for the specification set <math> \Sigma </math>.
By the notion, <math> 1_{\Sigma} </math> is the testability function for the specification <math> \Sigma </math>.
The existence should not merely be asserted, should be proven rigorously.
Therefore, obviously without algebraic consistency, no such function can be found, and therefore, the specification cease to be termed as testable.
== See also ==
|