05-测试预言问题
测试预言,是一个描述输出与预期是否相符的概念。
预言有啥问题了?复杂的预言难以构建,容易构建的预言效果差。
解决方案,有一种叫使用不完全/有偏测试预言。也看不懂什么意思,反正就是来引出下面的蜕变测试和差分测试的。
蜕变测试
动机
- 可靠测试集问题(测试的生成与扩增)
- 预言问题 (正确性验证)
假设
- 不能通过成功测试用例排除程序存在缺陷的可能
- 利用多个相关的成功测试用例所展现出的测试输入和预期输出之间的关系来协助后续测试
本质
充分利用成功测试用例。对成功测试用例表现出的必要属性进行复用。
要素
- 蜕变关系(MR, Metamorphic Relation):一组待测算法/功能的必要属性,蜕变测试的核心
- 蜕变集合(Metamorphic Group):由表达了蜕变关系的一组测试输入组成的集合
- 蜕变测试过程:应用蜕变关系和蜕变集合进行测试的一般流程
差分测试
定义
利用相似/竞品软件系统进行测试
通过向一系列类似的应用程序 (或同一应用程序的不同实现)提供相同的输入,根据这些相似程序执行结果是否存在差异来判定是否检测到缺陷。