1 背景
以我们的工程实践来看,测试用例的规模发生了很大变化。在2015年,针对某机载综合管理系统的测试中,执行1000条量级的用例就觉着很满意了。当前,对某机载系统进行自动测试,执行的用例数达到了10万级别。不考虑被测系统的差别,仅从测试用例数量上看,规模增加了100倍。
![](https://img-blog.csdnimg.cn/img_convert/93077d60dadf150c84b138ea776339c7.jpeg)
图1 用例数量增加了100倍
之所以有这种变化,关键原因之一,是对验证的规范性要求提高了。所有规定的测试目标,要求严格覆盖。不能覆盖的,要说明原因。除了正常模式,异常模式也要测试;除了判定要覆盖,每个条件也要单独覆盖。这相比之前没有明确约束、用例开发人员灵活度很大的情形,大大增加了用例数量。
原因之二,则是自动测试能力提升。通过集成图像识别等技术手段,自动测试系统能够做到自动激励、自动判决,真正实现无人值守的自动测试。相比于人工执行,自动测试的效率提升更加明显。尤其对于航电系统,一个用例的激励数据可能有几十个,人工逐个去查找、设置、观察结果,执行下来可能要10分钟;而自动测试仅需要秒级就够了。这使得在相同时间内,能够执行的测试用例数大大增加,这导致之前因为时间有限而不能做的测试项目,也重新被包含进来。
测试用例的规模及要求的增加,使得如何获得充分的、合格的测试用例,成为一个突出问题。
在这样的背景下,似乎“为什么要生成测试用例”不是问题,问题应该是“如何生成测试用例”。但这里有必要讨论下,哪些因素使得测试用例自动生成变得更加必要,甚至成为必需。
这里说的“生成用例”&#