软件测试 - 复习与总结
yuiyake 5/15/2022
# 测试方法
- 软件测试的目的
- 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性
# 静态 - 动态
- 静态测试
- 静态测试就是不运行软件,静态地检查程序代码、界面、文档中可能错误的过程。
- 动态测试
- 实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的一个过程。
# 白盒
逻辑覆盖
- 语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖
- 语句覆盖:顾名思义就是针对代码语句,设计出来的用例要保证程序中的每一个语句至少被执行一次。(最弱覆盖)
- 判定覆盖:判断语句中的每个条件表达式所有可能结果至少出现一次。
- 条件覆盖:条件覆盖要求设计用例时针对判断语句里面每个条件表达式true 和 false各取值一次,不考判断语句的计算结果(不考虑组合情况)
- 判定-条件覆盖:设计测试用例时,使得判断语句中每个条件表达式的所有可能结果至少出现一次,每个判断语句本身所有可能结果也至少出现一次。
- 条件组合覆盖:设计测试用例时,使得每个判断语句中条件结果的所有可能组合至少出现一次。
基本路径
- 设计测试用例时,覆盖程序中所有可能的执行路径
- 优点:这种覆盖方法可以对程序进行彻底的测试用例覆盖,比前面讲的五种方法覆盖度都要高。
- 缺点:于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。路径覆盖 虽然是一种比较强的覆盖,但未必考虑判断语句中条件表达式结果的组合,并不能代替条件覆盖和条件组合覆盖
程序插桩(额 好像是应用?没搜明白)
# 黑盒
- 等价划分
- 边界值
- 判定表
- 因果
- 场景
# 概述
# 缺陷
# 测试
- 定义
- 目的
- 原则
- 二八原则
- 80%的错误是由20%的模块引起的
- 80%的测试成本花在20%的软件模块中
- 80%的测试时间花在20%的软件模块中
- 分类
- 阶段
- 执行
- 代码
- 人工
- 目的
- 功能测试
- 性能测试
- 界面UI测试
- 健壮性
- 其它
- 冒烟 版本
- 随机
- 基本流程
- 需求分析
- 测试计划
- 设计测试用例
- 执行
- 评估(总结)
# 测试过程
# 单元
- JUnit
# 集成
- Postman接口测试
- JMeter接口测试
# 系统
- 功能测试
- 性能测试
# 验收
# 测试模型
# 开发过程
# 测试流程
- 生命周期
- 问题定义->需求分析->软件设计->软件开发->软件测试->软件维护->淘汰
- 基本流程
# 过程模型
- 启动 -> 计划 -> 测试 -> 执行 -> 收尾
# 测试管理
# 启动
# 计划
- 5w1h
- 风险预估
- 测试需求分析
# 设计
# 执行
- bug 回归测试