1、软件质量特性
- 功能性:适合性、准确性、互操作性、保密安全性、功能性依从性;
- 可靠性:成熟性、容错性、易恢复性、可靠性依从性;
- 易用性:易理解性、易学性、易操作性、吸引性、易用性依从性;
- 效率:时间特性、资源利用性、效率依从性;
- 可维护性:易分析性、易改变性、稳定性、易测试性、维护性依从性;
- 可移植性:适应性、易安装性、共存性、易替换性、可移植性依从性;
2、软件测试对象
- 需求分析阶段:需求文档、接口文档
- 编码实现阶段:源代码
- 系统功能使用:软件程序
3、软件测试原则
- 测试显示缺陷的存在;
- 不可能执行穷尽测试:一个软件有很多维度,测试不可能覆盖所有。因此通过风险分析、被测对象测试点优先级分析、软件质量模型及不同测试方法的运用来确定测试点,从而替代穷尽测试,提高测试覆盖率;
- 测试应尽早启动、尽早介入;
- 缺陷集群性(2/8原则):一个模块发现了bug,说明这个模块还会有更多的bug。80%的bug集中在20%的模块中。
- 杀虫剂悖论:测试用例经过多次迭代测试后,将不再发现缺陷。因此测试用例应定期评审、及时调整,还可进行交叉测试;
- 测试活动依赖于测试内容:测试活动要与程序运行的环境可能存在的风险要相关联,没有两个系统可以使用相同的方法进行测试。不同系统的测试重点不一样。
- 不存在缺陷的谬论。没有错误是好,这个观点是谬论:任何软件都不可能是完美的,没有发现错误ÿ