软件工程——测试
前言
测试是为了尽量多的发现软件产品中的缺陷,并对软件产品的质量水平做出尽可能准确的评估,进而保证产品的质量
目的
-
软件测试是为了发现错误而执行程序的过程。
-
测试是为了证明程序有错,而不是证明程序无错。(发现错误不是唯一目的)
-
一个好的测试用例在于它发现至今未发现的错误。
-
一个成功的测试是发现了至今未发现的错误的测试。
-
没有发现错误的测试也是有价值的,完整的测试时评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点
原则
- 程序员应避免检查自己的程序
- 再设计测试用例时 应当包括合理的输入条件和不合理的输入条件
- 严格执行测试计划,排除测试的随意性
- 应对每一个测试结果做全面的检查
- 妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
测试用例
1.黑盒:把测试对象看做一个黑盒子,检查程序的功能是否符合他的功能说明
— 等价类划分
— 边界值分析
区别:
—错误推测法
根据经验推测出所有可能的错误和容易发生错误的特殊情况根据选择测试用例,不是首选,但是可以当做补充方法
—因果图
因果图方法最终生成的就是判定表
2.白盒:与黑盒相反,是对程序进行逻辑上的路径进行测试
3.单元测试:单元测试先从白盒开始
4.组装测试
通常组装成为系统的方式有两种
- 一次性组装
- 增值式组装
5.确认测试
又称有效性测试 --验证软件功能是不是和用户要求符合
6.验收测试
1.以用户测试为主
----系统测试
2.α测试
3.β测试
----------------------------------------------------测试的最后一关