目录
前言
今天给大家分享软件测试的系列概念笔记,感兴趣的朋友请持续关注小七的博客哦。
1 软件测试目的
测试的目的就是以最少的时间和人力找出软件中潜在的各种错误和缺陷,证明软件的功能和性能与需求说明相符,Glenford J.Myers
曾提出以下观点:
- 测试是为了证明程序有错,而不是证明程序无错误
- 一个好的测试用例能发现至今未发现的错误
- 一个成功的测试是发现了至今未发现的错误
软件测试的目的往往包含以下内容:
- 测试并不仅仅是为了找出错误,通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进
- 测试帮助测试人员设计有针对性的测试方法,改善测试的效率和有效性
- 没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法
2 软件测试的原则
- 软件测试是证伪而非证真
- 尽早地和不断地进行软件测试
- 重视无效数据和非预期的测试
- 应当对每一个测试结果做全面检查
- 测试现场保护和资料归档
- 程序员应避免检查自己的程序
- 充分注意测试中的群集现象
- 用例要定期评审
3 软件测试分类
3.1 按测试阶段划分
可以分为:
- 单元测试:用于检验被测代码的一个很小的、明确的功能是否正确
- 集成测试:对经过单元测试的模块之间的依赖接口的关系图进行测试
- 确认测试:用于验证软件的有效性
- 系统测试:将整个软件系统与计算机硬件、外设、支持软件、数据、人员等其他系统元素结合起来进行测试
- 验收测试:最终用户参与测试的过程
3.2 按执行状态划分
可以分为:
- 动态测试:运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,由“构造测试实例、执行程序和分析程序的输出结果”组成
- 静态测试:对被测程序进行特性分析方法的总成,是指计算机不运行被测试的程序,而对程序和文档进行分析和检查,包括走查、符号执行、需求确认等
3.3 按照测试技术划分
可以分为:
- 黑盒测试:也叫功能测试或数据驱动测试,测试时把程序看做不能打开的黑盒,完全不考虑程序内部结构和特性,对程序接口测试,检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息的完整性
- 白盒测试:又叫结构测试或逻辑驱动测试,用于检测产品内部的结构及检验程序中的每条通路能够按照预定要求正确工