警告消息
使用PICT,应该密切注意有两个警告,因为它们表明一些约束可能没有被正确定义。即使是模型有些语义错误,PICT也不会停止测试用例的生成,因为仍然会产生一些有意义的结果。如果看到这些警告,应该重新检查并修复参数和约束中的错误。
全部或者无价值满足关系
该警告意味着你可能定义了错误的关系。所有关系(约束条件),都应该是值的一个子集,才是有意义的。没有值满足约束关系或所有值都满足是不正确。如果看到此警告,请检查值的关系并修复它们。
限制性约束。输出将不包括以下值...
有时,一组约束变得相互交织,一些值总是违反一个或多个约束。这种情况的一个例子是依赖环:
if [A] ="a1" then [B] = "b1";
if [B] ="b1" then [C] = "c1";
if [C] = "c1" then [A] = "a2";
在这个例子中,选择A1意味着选择B1,同时会选择C1,反过来又要求选择A2。所以,如果你选择了A1,你必须选择A2。所有这些约束分别评估时是完全有效的。只有他们的交织在一起时,导致了歧义。为了避免这种情况,PICT不会使用根本没有使用价值的A1。结果输出中将不会包含A1,同时PICT会显示“限制约束的警告…”。