测试分类
1.按开发阶段分
(1)单元测试
概 念 | 解 释 |
---|---|
单元 测试 | 是对软件组成单元进行测试,测试的目的是检查软件基本组成单元的正确性,测试的对象是软件设计的最小单位(模块),所以单元测试又称模块测试。 |
测试 阶段 | 编码后或者编码前 |
测试 对象 | 最小模块 |
测试 人员 | 开发工程师或白盒测试工程师 |
测试 依据 | 代码注释和详细的设计文档 |
测试 方法 | 白盒测试 |
测试 内容 | 模块接口测试、路径测试、错误处理测试、边界测试 |
(2)集成测试
概念 | 解释 |
---|---|
集成测试 | 将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进程正确性检测是测试工作。 |
测试阶段 | 一般在单元测试后 |
测试对象 | 模块间的接口 |
测试人员 | 开发工程师或白盒测试工程师 |
测试 依据 | 单元测试的模块和概要的设计文档 |
测试 方法 | 黑盒测试和白盒测试相结合 |
测试 内容 | 模块之间数据传输、功能冲突、组装功能正确性、全局数据结构、单模块缺陷对系统的影响 |
(3)系统测试
概念 | 解释 |
---|---|
系统测试 | 包括性能、功能、软件运行的软硬件环境进行测试,也包括回归测试和冒烟测试。 |
测试阶段 | 集成测试后 |
测试对象 | 整个系统 |
测试人员 | 黑盒测试工程师 |
测试依据 | 需求规格说明文档 |
测试方法 | 黑盒测试 |
测试内容 | 功能、界面、可靠性、易用性、性能、兼容性、安全性等 |
(4)验收测试
概念 | 解释 |
---|---|
集成测试 | 是技术测试的最后一个阶段,也称交付测试。目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买者展示该软件系统满足原始要求。 |
测试阶段 | 系统测试通过后 |
测试对象 | 整个系统,包括软硬件 |
测试人员 | 最终用户或需求方 |
测试依据 | 用户需求、验收标准 |
测试方法 | 黑盒测试 |
测试内容 | 功能、界面、可靠性、易用性、性能、兼容性、安全性等 |
2.按测试实施组织
(1)α
α测试是由一个用户在开发环境下进行的测试,是由公司内部的用户在实际操作环境下进行的测试,目的是评价软件产品的功能、性能、可使用性、局域化、可靠性和支持。
(2)β
β测试软件的最终用户在一个或多个客房场所进行。
α测试和β测试都不是由开发和测试人员进行的,场所不同,α测试是将用户请到开发场所进行测试,β测试是去一个或多个用户的场所进行测试。α测试先于β测试。
(3)第三方
介于开发者和用户方之间的组织的测试。
3.按测试执行方式
(1)静态测试
静态测试是指不允许被测程序,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号分析找错。
代码静态分析和文档测试都属于静态测试。
(2)动态测试
动态测试是指通过允许被测程序,检查允许结果与预期结果的差异,并分析运行效率、正确性、健壮性等性能。
由三部分构成:构造测试用例、执行程序、分析程序的输出结果。大多软件测试都属于动态测试。
4.按是否查看代码
(1)黑盒测试
黑盒测试也称功能测试,将被测软件当做一个黑盒子,我们不关心盒子里的内容是什么,只关心软件的输入数据和输出数据。
(2)白盒测试
白盒测试也称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒指打开盒子,去研究盒子里的源代码和程序的结果。
(3)灰盒测试
灰盒测试是介于白盒测试和黑盒测试之前,灰盒测试用于集成测试阶段,不仅关注输入、输出的正确性,同时也关注程序的正确性。
5.按手否手工执行划分
(1)手工测试
由人去输入测试用例,并观察程序运行结果,和机器测试相对应。缺点是执行效率慢,量大容易出现错误,优点是可以执行自动化测试无法执行的探索性测试。
(2)自动化测试
在预设条件下运行系统或应用程序,评估运行结果。就是将人为驱动行为转换为机器执行的一种过程。
步骤:
* 完成功能测试;
* 选择适合项目的基本自动化测试框架,搭建环境;
* 提取手工测试的测试用例转换为自动化测试的用例;
* 通过工具、代码实现自动化的构造输入,自动化检测输出结果是否符合预期;
* 生成自动测试报告;
* 继续改进,脚本优化。
6.按测试对象划分
(1)性能测试
性能测试是指检查系统是否满足需规格说明书规定的性能。
通常分为以下几个方面:
* 资源利用率
* 执行间隔
* 日志文件
* 响应时间
* 吞吐量
* 辅助存储区
* 处理经度
(2)安全测试
安全测试如网页服务器测试,需要熟悉网络协议、防火墙、路由器等。还需要熟悉各种攻击手段,如SQL注入。
(3)兼容性测试
兼容性测试是指软件之间能否更好的运作,软件和硬件间是能有效率的工作,会不会导致系统崩溃。
兼容性测试主要包括
* 平台测试
* 浏览器测试
* 软件在向前或向后兼容
* 该软件与其它软件是否兼容
* 数据兼容性测试
(4)文档测试
标准开发文件包括:
* 可执行研究报告
* 软件需求说没说
* 数据要求说明书
* 概要设计说明书
* 详细设计说明书
* 数据库设计说明书
* 模块开发卷宗
标准用户文件包括:
* 用户手册
* 操作手册
管理文件
* 项目开发计划
* 测试计划
* 测试分析包括
* 开发进度日报
* 项目开发总结报告
文档测试主要关注以下几点:
* 术语
* 正确性
* 完整性
* 一致性
* 易用性
(5)易用性测试
易用性包括软件交互的适应性、功能性、有效性。主要是关注用户的体验感。
(6)业务测试
测试人员将系统各个模块衔接起来,模拟运行实际的工作,满足用户需求定义的功能来进行测试的过程。
(7)界面测试
测试用户界面的功能模块的布局是否合理、整体风格是否一致,各个控件的放置位置是否满足用户的使用习惯,测试界面操作的便捷性、页面元素的可用性、界面文字的正确性、界面的美观性、文字、图片是否完美等。
(8)安装测试
测试程序的安装、卸载是否成功等。
7.按测试地域划分
(1)本地化测试
前边说的都是本地化测试。
(2)国际化测试
将软件翻译为国际版本进行测试,要求测试人员也要具备一定的翻译能力、语言能力、语言文化。