模型驱动测试与基于覆盖的测试评估
1. 模型驱动测试的不同场景
模型驱动测试在软件开发中有着重要作用,其存在多种不同的应用场景。
1.1 单一通用模型场景
在这个场景中,使用同一个模型来进行代码生成和测试用例生成。但这存在一定问题,由于缺乏冗余性,代码(或模型)相当于自我测试,无法实现自动判定。不过,可以自动测试代码生成器和环境假设。如果代码生成器正常工作且模型有效,那么检查环境假设的充分性就成为确保实际子系统正常运行的关键任务。这个场景通常会将可能的抽象限制在那些可以通过宏扩展来处理信息丢失的范围内。
1.2 自动模型提取场景
此场景是从现有系统中提取模型。系统按常规方式构建,先有规格说明,然后手工编码。系统构建完成后,手动或自动创建模型用于测试用例生成。然而,自动从代码或更具体的模型中提取抽象存在与单一通用模型场景类似的问题,即缺乏冗余性,自动判定只能针对自动抽象过程中的假设。而且,自动抽象必须有明确的目标,对于测试用例生成,可能无法完全实现自动化,测试工程师需要提供特定领域和应用的知识。
1.3 手动建模场景
手动为测试用例生成构建模型,而系统基于不同的规格说明构建。根据规格说明负责人和模型构建者之间的交互紧密程度,通常会有实现自动判定所需的冗余性。这种方法适用于规格说明构建和系统实现并非由同一组织完成的情况,例如汽车行业中原始设备制造商(OEM)组装不同供应商的设备。但在评估测试用例生成技术时,这种场景与自动模型提取场景的组合可能存在问题,因为通常在系统大部分已经构建完成后才进行测试。
1.4 独立双模型场景
使用两个冗余且不同的模型,一
超级会员免费看
订阅专栏 解锁全文
60

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



