模型转换测试中的部分测试预言机应用
1. 引言
在模型转换测试中,测试人员常常只能预测部分输出模型的预期值。例如,当部分规范非常复杂时,测试人员只能预测其了解的规范对应的部分;或者规范允许同一输入模型有多种不同的输出,测试人员只能预测不同变体中不变的部分;若被测单元(TUT)执行模型重构,测试人员可预测不应被转换修改的部分。我们旨在利用这一可预测部分和部分测试预言机来部分验证输出模型的正确性。
2. 模型转换测试预言机
2.1 模型转换测试预言机概述
模型转换测试过程中,输入和输出数据是符合元模型的模型。测试人员选择输入模型,TUT 对其进行转换得到输出模型,最后编写测试预言机来验证输出模型是否符合 TUT 的规范。
测试预言机由预言机函数和预言机数据两部分组成。预言机函数分析输出模型并使用预言机数据得出判决结果。例如,在比较实际结果和预期结果时,预言机函数是比较操作,预言机数据是预期结果。
2.2 模型转换测试的部分判决
测试预言机在只考虑部分规范或只验证部分输出数据时可能产生部分判决。在模型转换测试中,测试人员在很多情况下只能或容易预测部分预期输出模型,主要有以下三种情况:
1. 规范复杂 :转换规范可能很大,输出模型是复杂数据,测试人员只能预测其能处理复杂度的部分。
2. 内生转换 :转换可能是内生的,部分修改输入模型,如模型重构。部分输入模型保持不变,可作为预言机数据检查转换是否无副作用。
3. 多态输出 :转换可能返回多态输出,即存在多个
超级会员免费看
订阅专栏 解锁全文
2

被折叠的 条评论
为什么被折叠?



