软件测试和质量保证基础
1.软件测试定义与分类
1. 软件测试的定义:
软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
2. 软件测试类型:
- 测试的目的
- 功能测试/系统测试(性能、容量、稳定性、可靠性、易用性、兼容性、安全性等非功能测试)
- 冒烟测试/回归测试
- 按测试阶段
- 单元测试->模块测试->集成测试->系统测试->验收测试
- 按测试方法
- 静态测试/动态测试
- 白盒测试/黑盒测试
2. 软件测试活动与设计方法
1. 测试流程
2. 软件测试的设计方法
- 等价类
- 等价类是指某个输入域的子集合,在该子集合中,各个输入数据对
于揭露程序中的错误都是等效的,或者进行相同的处理。测试某等
价类的一组数据就等价于对这一类其他值的测试 - 等价类分为有效等价类和无效等价类(即应该被系统拒绝的数据)
- 边界值
- 人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。
- 边界值也可以分为:有效边界值和无效边界值
3. 探索式软件开发
1. 探索式测试的定义
- 是一种测试风格
- 强调个体测试人员的个人自由和责任
- 通过把在测试相关的学习,测试设计,测试执行和测试结果解释当作项目中并行执行且相互支持的活动来不断优化工作价值
2. 测试活动
3. 探索式测试的价值
- 理解学习被测软件
- 强迫被测软件展现所有功能
- 快速发现重要缺陷
4. 分层自动化
1. 分层自动化的建议
2. 分层自动化类别