八大原则如下:
- 溯源性原则:测试应溯源到原始需求。
- 工程性原则:测试不是某一阶段的活动,而是贯穿软件生产的各个阶段,需尽早按计划开展测试。
- 独立性原则:应避免开发工程师测试自己的程序。
- 合理性原则:对软件进行完全测试是不可能的,基于有限的时间和有限的资源,无法对软件开展穷举的测试。
- 不完全性原则:测试能做的是尽可能多的发现错误,而不能证明软件不再包含错误。
- 相关性原则:缺陷常常有聚集现象,这个原则提醒测试工程师对暴露错误多的模块应该加强测试。
- 可接受性原则:在各方可以接受的前提下,可以允许某些缺陷遗留在软件中。当然这并不表明不披露已发现的缺陷,而应该交给恰当的人员或会议进行决策。
- 风险性原则:测试团队要做好充足准备,开展风险评估,明确风险化解的有效方法,然后才能实施测试。
软件测试分类:
- 按工程阶段划分的测试:单元测试、集成测试、确认测试、系统测试、验收测试。
- 按是否执行代码划分的测试:静态测试(走查和代码审查)、动态测试。
- 按测试实施主体划分的测试:开发方(供方)测试、用户测试、第三方(独立评价方)测试。
- 按是否关联代码划分的测试:白盒测试(基于结构的测试)、黑盒测试(基于规格说明的测试)。
- 按软件质量特性划分的测试:功能性、性能效率、兼容性、可靠性、易用性、信息安全性、维护性和可移植性。
- 按符合性评价要求划分的测试:符合性测试是通过测试去判定软件是否符合事先已经明确的文件性要求和约束,如标准、规范、技术指标、招投标文件、合同等。
- 回归测试:只要软件发生了变化,都应该进行回归测试,原因是这些修改可能使得原来正确的功能变得不正确了。