软件验证:技术、研究与行业应用
1. 测试成本效益因素
在软件测试中,有多个因素会影响测试技术的成本效益:
- 外部事件调度 :某些故障可能只有在特定的外部事件调度下才会触发,但实际中这种调度可能未出现,导致故障未引发失败。
- 被测系统(SUT)特性 :SUT 的并发、分布和复杂异常处理等特性,不仅决定了可能存在的故障类型,还影响着这些故障的检测难度。
- 测试人员能力 :测试技术通常并非完全自动化,需要人工输入。例如,测试模型由软件工程师设计,其正确性和完整性可能差异很大。像类别划分方法就完全依赖人类直觉和对系统行为的理解,在相同条件下可能产生不同结果。
- 测试模型复杂度和成本 :某些测试技术需要复杂的模型,这不仅成本高,而且在实践中这些模型可能不正确或不完整,这体现了人为因素对测试技术适用性的重要影响。
为确保测试技术成本效益比较的公正性和代表性,实证研究应控制这些因素。
2. 软件验证研究范围
研究旨在进行以行业为导向的研究,提高在实际工程实践中的相关性和影响力,其验证研究方法具有以下特点:
- 模型表达 :假设开发和测试模型用 UML 或通过扩展配置文件表达,根据验证目标可能定义新的配置文件,将工作置于 OMG 提出的 MDA 标准下,以利用开源技术基础并遵循软件建模的国际标准。
- 环境建模 :不仅对被测软件建模,还对其环境建模。这对嵌入式系统尤为重要,环境模