【笔记】软件测试知识点
前言
软件测试知识点
软件测试的分类
按照测试阶段划分
- 单元测试:由开发工程师进行的测试,应用程序中的某个模块或功能的测试
- 集成测试:由开发工程师进行的测试,应用程序中的多个模块和功能结合在一起测试
- 系统测试:由测试工程师进行的测试,结合不同环境(如不同操作系统环境)进行的应用程序测试
- 验收测试:由用户进行的测试
- Alpha测试:内测
- Beta测试:公测
按照测试技术划分
- 黑盒测试:只需要关注外部输入和输出,不需要关注内部代码如何实现
- 白盒测试:只需要关注内部代码如何实现,不需要关注外部输入和输出
- 灰盒测试:既需要关注外部输入和输出,又需要关注内部代码如何实现
被测对象是否运行划分
- 动态测试:运行程序进行测试
- 静态测试:界面检查、文档检查、代码走查(无需运行代码)
按照测试手段划分
- 手工测试:通过鼠标键盘操作进行的测试
- 自动化测试:通过代码实现程序自动化测试
按照测试内容划分
- 功能测试:测试业务功能是否符合需求
- 界面测试:测试界面与原型图是否一致
- 安全测试:测试应用程序的系统是否安全
- 兼容性测试:测试在不同软件环境下应用程序是否运行正常
- 易用性测试:测试应用程序是否操作方便、容易理解
- 性能测试:测试并发环境下应用程序是否运行正常
其他
- 冒烟测试:正式测试之前,针对于应用程序的主要核心功能的测试
- 回归测试:开发修改测试遇到的问题后,重新进行回归测试
- 探索性测试/自由测试:根据自己的项目经验的随意测试
- 灰度测试:先发布部分新功能,根据用户反馈,再发布另一部分新功能
- A/B测试:先为指定用户发布新功能,根据用户反馈,再为其他用户发布新功能
软件生命周期
- 问题的定义和规范
- 需求分析:输出需求分析说明书(SRS)
- 设计
- 概要设计
- 详细设计
- 编码
- 测试
- 运行维护
软件测试工作流程
- 需求规格说明书
- 需求分析
- 需求评审
- 测试计划:由测试负责人编写测试计划,包含测试内容、人员分配、任务分配、测试环境、测试工具、时间安排
- 编写测试用例
- 用例评审
- 部署测试环境
- 冒烟测试、正式测试
- 提交BUG并跟踪
- 测试通过:经过2~4轮测试,剩余BUG数量没超过一定数量,编写测试报告测试通过
- 发布上线
环境分类
- 开发环境
- 测试环境:不一定只有一个
- 预发布环境(UAT测试环境):验收测试进行的环境
- 生产环境:真实用户使用环境
软件测试流程
- 测试需求分析
- 查阅需求规格说明书,列出测试点
- 需求评审:是否存在漏测、错测
- 测试计划
- 测试用例设计:编写测试用例文档,包含输入、动作、预期结果
- 用例编号
- 测试项目
- 测试标题
- 重要级别
- 预置条件
- 测试输入
- 操作步骤
- 预期结果
- 实际结果
- 执行测试
- 质量评估