嵌入式软件开发:测试、数据保护与代码审查的全面指南
1. 测试的目的与方法
测试的目的主要有两个:消除软件中的错误,以及确认软件没有错误。这两种目的会导致不同的测试方式和时长。
1.1 以修复错误为目的的测试
这是最常见的测试动机,即发现并修复错误。测试是确定错误是否存在的行为,而调试则是诊断、定位和纠正错误的过程。
- 测试流程 :运行一组测试,记录发现的错误,修复错误,然后继续测试。通常会有黑盒和白盒测试,也可使用探索性测试来发现更多缺陷。
- 退出标准 :
- 测试时间用完,但仅以此为唯一标准并不理想。
- 达到了覆盖目标,例如 100% 的需求黑盒测试和 95% 的代码分支白盒测试。
- 找不到更多错误或者继续查找错误的成本效益不高。
- 满足软件质量的验收测试标准,如系统在重负载下连续运行两周无崩溃。
如果软件存在大量错误,且测试时间有限,探索性测试可能是减少错误数量的最有效方法。
1.2 以验证开发过程质量为目的的测试
对于精心开发的高质量软件,仅通过测试发现并修复错误是不够的。因为测试只能发现一部分错误,无法保证找到所有残留错误。
可以将测试与经典科学方法进行映射:
- 观察:使用了优秀的软件开发过程,应该能产生高质量的代码。
- 假设:开发过程非常好,代码将无错误。
- 实验:运行测试查找错误。
- 结论:
- 如果发现错误,假设被证伪,说明开发过程存在问题,需要修复过程以提高软件质量。
超级会员免费看
订阅专栏 解锁全文

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



