1. 什么是软件测试
软件测试就是使用技术手段验证软件功能是否符合要求
2. 测试主流技能
- 功能测试
跟进开发文档, 使用正向思维及逆向思维验证软件功能是否实现 - 自动化测试
使用工具或者代码, 代替人工来进行批量测试. - 接口测试
针对模块与模块或系统与系统之间数据请求地址进行测试. - 性能测试
模拟多人使用软件, 查找服务器缺陷
目前市场划分大致
- 功能+接口
- 自动化+接口
- 接口+性能
3. 测试常用分类
- 按阶段划分
- 单元测试: 针对程序源代码进行测试(开发)
- 集成测试: 又称接口测试, 主要针对模块与模块或系统与系统之间的接口进行验证.
- 系统测试: 针对软件全面进行验证(功能, 兼容, 安全, 性能)
- 验收测试: 使用内测, 公测来实现
- 内测: 公司内部进行测试.
- 公测: 让玩家来进行测试.
- 按代码可见度划分
- 黑盒测试: 又称功能测试(完全看不见程序源代码, 只能针对功能进行验证)
- 灰盒测试: 又称接口测试(看不见部分代码)
- 白盒测试: 又称单元测试(针对程序源代码进行测试)
- 扩展-总结
- 系统测试和黑盒测试重点核心是功能测试
- 自动化测试归属功能测试
- 集成测试和灰盒测试又称接口测试
- 单元测试和白盒测试是针对代码进行测试
- 性能测试, 安全测试归属专项测试
- 扩展-测试策略
- 冒烟测试: 大规模执行测试之前, 针对程序主功能进行验证, 保证程序具备可测性.
面试题: 你们公司的提测标准是什么–>冒烟测试通过. 测试之前要怎么做?–>冒烟测试
- 冒烟测试: 大规模执行测试之前, 针对程序主功能进行验证, 保证程序具备可测性.
4. 模型
软件测试有两个模型
- 质量模型
- 测试模型
4.1 质量模型
- 质量模型提供测试设计的不同角度视野和验证方向
换句话说, 质量模型我们学会的是针对任何软件或硬件, 我们能知道测试的方面有哪些. - 需要考虑的有哪些方面
4.2 W模型
W模型简称双V模型, 即以开发主导的一个"V"和以测试主导的另一个"V"构成.
- 开发流程: 需求分析, 该要设计, 详细设计, 编码, 集成, 实施, 交付.
- 测试流程: 单元测试, 集成测试(接口测试), 系统测试(功能测试), 验收测试.
5. 测试流程
1. 需求分析
2. 测试计划
3. 编写用例
4. 执行用例
5. 缺陷管理
6. 测试报告
- 需求分析
前置: 阅读需求分析文档, 记录不明确之处.
1. 目的就是为了确定各部门对需求理解一致.
2. 站在不同角度对需求进行(查漏补缺).
- 测试计划
核心:
1. 测什么: 测试目标及范围
2. 谁来测: 人员进度安排
3. 怎么测: 测试策略, 测试工具
- 测试用例设计
说明: 设计执行测试的文档
- 测试用例执行
说明: 按着前一步编写的文档执行
- 缺陷管理
说明: 提交->验证->关闭
- 测试报告
说明: 测试目标, 测试过程, 缺陷统计, 缺陷分析, 测试总结
6. 测试用例
- 用例: 用户使用的案例.
- 测试用例: 用来执行测试的文档(用户使用的案例)
- 考虑点: 质量模型(功能, 性能, 兼容, 易用, 安全)
- 作用:
- 防止漏测
- 实施测试标准
- 格式(八大要素)
- 用例编号: 项目+模块+编号
- 用例标题: 预期结果+操作不走
- 模块/项目: 所属项目或模块
- 前置条件: 要执行此条用例, 有哪些前置操作
- 优先级: 表示一用力的重要程度或者影响力P0-P4§
- 测试步骤: 描述操作步骤
- 测试数据: 操作的数据, 没有的话可以为空
- 预期结果: 期望达到的结果.