【笔记】软件测试知识点

前言

软件测试知识点

软件测试的分类

按照测试阶段划分

  • 单元测试:由开发工程师进行的测试,应用程序中的某个模块或功能的测试
  • 集成测试:由开发工程师进行的测试,应用程序中的多个模块和功能结合在一起测试
  • 系统测试:由测试工程师进行的测试,结合不同环境(如不同操作系统环境)进行的应用程序测试
  • 验收测试:由用户进行的测试
    • Alpha测试:内测
    • Beta测试:公测

按照测试技术划分

  • 黑盒测试:只需要关注外部输入和输出,不需要关注内部代码如何实现
  • 白盒测试:只需要关注内部代码如何实现,不需要关注外部输入和输出
  • 灰盒测试:既需要关注外部输入和输出,又需要关注内部代码如何实现

被测对象是否运行划分

  • 动态测试:运行程序进行测试
  • 静态测试:界面检查、文档检查、代码走查(无需运行代码)

按照测试手段划分

  • 手工测试:通过鼠标键盘操作进行的测试
  • 自动化测试:通过代码实现程序自动化测试

按照测试内容划分

  • 功能测试:测试业务功能是否符合需求
  • 界面测试:测试界面与原型图是否一致
  • 安全测试:测试应用程序的系统是否安全
  • 兼容性测试:测试在不同软件环境下应用程序是否运行正常
  • 易用性测试:测试应用程序是否操作方便、容易理解
  • 性能测试:测试并发环境下应用程序是否运行正常

其他

  • 冒烟测试:正式测试之前,针对于应用程序的主要核心功能的测试
  • 回归测试:开发修改测试遇到的问题后,重新进行回归测试
  • 探索性测试/自由测试:根据自己的项目经验的随意测试
  • 灰度测试:先发布部分新功能,根据用户反馈,再发布另一部分新功能
  • A/B测试:先为指定用户发布新功能,根据用户反馈,再为其他用户发布新功能

软件生命周期

  1. 问题的定义和规范
  2. 需求分析:输出需求分析说明书(SRS)
  3. 设计
  • 概要设计
  • 详细设计
  1. 编码
  2. 测试
  3. 运行维护

软件测试工作流程

  • 需求规格说明书
  1. 需求分析
  2. 需求评审
  3. 测试计划:由测试负责人编写测试计划,包含测试内容、人员分配、任务分配、测试环境、测试工具、时间安排
  4. 编写测试用例
  5. 用例评审
  6. 部署测试环境
  7. 冒烟测试、正式测试
  8. 提交BUG并跟踪
  9. 测试通过:经过2~4轮测试,剩余BUG数量没超过一定数量,编写测试报告测试通过
  10. 发布上线

环境分类

  • 开发环境
  • 测试环境:不一定只有一个
  • 预发布环境(UAT测试环境):验收测试进行的环境
  • 生产环境:真实用户使用环境

软件测试流程

  • 测试需求分析
    • 查阅需求规格说明书,列出测试点
    • 需求评审:是否存在漏测、错测
  • 测试计划
  • 测试用例设计:编写测试用例文档,包含输入、动作、预期结果
    • 用例编号
    • 测试项目
    • 测试标题
    • 重要级别
    • 预置条件
    • 测试输入
    • 操作步骤
    • 预期结果
    • 实际结果
  • 执行测试
  • 质量评估

未完待更

参考文献

哔哩哔哩——自动化测试码尚科技