软件测试基础知识

单元测试:
概念: 对软件最小单元的测试. 白盒测试. 依据是程序设计指南. 代码风格规范, 程序设计, 结构设计和业务逻辑的静态分析.

接口测试: 数据的正确输入和输出
局部数据: 数据在局部算法的保存与正确性
全局数据: 全局数据对单元的影响
边界分析: 单元在极限状态下的执行
语句覆盖: 每个语句执行
错误路径: 错误路径进行测试

集成测试
概念: 测试单元接口交互有关的问题. 把通过单元测试的模块拿出, 形成一个程序设计中描述的结构, 采用增量集成的方法

自顶向下集成: 从主模块开始, 对隶属于其的模块进行深度优先或者广度优先进行集成

自底向上集成: 从某个单元开始, 对同属于某个高层模块的单元集成. 不用测试桩

顺序:

  1. 确认测试目标, 标准和关键点
  2. 确定阶段和进度安排
  3. 确定测试修正计划
  4. 清理系统结构
  5. 确定集成方法组合
  6. 真对集成顺序编写测试用例, 确定方案
  7. 准备测试桩
  8. 测试软件准备
  9. 测试
  10. 生成测试结果报告
  11. 对报告进行分析
  12. 缺陷管理
  13. 修正测试
  14. 提交测试

系统测试–黑盒测试, 自动测试, 手动测试
概念: 根据需求规范完成系统测试, 确保系统满足需求. 系统测试人员相当于用户发言人, 在设计阶段确保系统的可测性

内容:

  1. 所有功能需求得到满足
  2. 所有性能需求得到满足
  3. 其他需求得到满足(安全性, 兼容性, 容错性等)

回归测试–黑盒测试, 自动测试, 手动测试
概念: 在缺陷被修改后, 新功能添加后, 重新测试. 确保缺陷被修复, 修改没有增加新的缺陷

测试方式:

  1. 覆盖测试: 选择基线用例中的全部测试组成回归测试包, 成本最高
  2. 基于风险选择测试: 基于一定的风险标准选择回归测试包. 首先选择风险最高, 最关键, 最可疑的测试. 从主要特征到次要特征.
  3. 基于操作剖面选择测试: 选择那最重要, 重复最多的功能进行测试
  4. 重新测试修改的部分: 将回归测试放在修改的部分上

用户验收测试

内容:

  1. 配置审查: 确保已开发软件的所有资料齐全并分类编目
  2. alpha测试: 用户到开发者的场所进行测试, 在一个可控的环境
  3. beta测试: 用户在一个多个场所测试, 开发者不在场, 用户将遇到的问题发给开发者, 开发者准备最终上线的软件

白盒测试

逻辑覆盖法:

  1. 语句覆盖:

    设计若干个测试用例, 确保每个语句至少执行一遍, 发现语句错误和缺陷.
    覆盖率公式:
    被评价到的语句数 / 可执行语句总数 * 100%
    缺点: 程序执行逻辑的覆盖很低

  2. 判定覆盖:

    设计的测试用例使得每个判定条件的真分支和假分支都判定一次

    判定覆盖率=被评价到的判定分支个数/判定分支的总数X100%

    优点: 比语句覆盖更强的逻辑覆盖, 相对简单

    缺点: 若仅仅判断最终结果, 肯定会忽略部分路径判定取值的结果, 仍然是弱的逻辑覆盖,

  3. 条件覆盖: 设计足够多的测试, 使得每个判定的取值条件都至少被满足一次

    公式: 被评价到的条件取值个数 / 所有条件的取值

    缺点: 只考虑到条件的取值, 没有考略到所有的条件分支, 不能覆盖所有分支

  4. 判定条件覆盖

    判定覆盖 + 条件覆盖

    缺点: 不能判断单一判定对结果的影响

  5. 条件组合覆盖

    设计足够多的测试, 使得每个判定中条件的各种组合都被执行一次

    公式: 被评价到的条件组合/所有条件组合

    缺点: 判定语句多时, 条件组合很多

  6. 路径覆盖

    设计足够多的测试, 使得程序的所有路径都被执行至少一次

    公式: 被评价的路径/程序总路径

    步骤:

    1. 程序测试留图

    2. 程序圈的复杂度

      V(G)=E-N+2, E是边的数量, N是节点数量
      V(G)=P + 1, P 是判定节点数量

    3. 导出测试用例

      确定基本路径集合

    4. 准备测试用例

      为每个基本路径设计测试用例

黑盒测试

在程序接口上的测试. 在完全不考虑程序内部的设计与结构的情况下, 依照说明书对程序进行测试. 测试程序接口能不能接收输入并产生正确的输出.

测试方法

等价类划分法:

等价类: 输入域的子集合. 对集合中的代表值测试就等于对集合的其他值测试.

  • 有效等价类: 对程序的规格来说是合理的
  • 无效等价类: 与上相反

等价类的划分:

  1. 输入值一个取值范围 -》一个有效等价类和两个无效等价类
  2. 输入值的集合 -》一个有效等价类和一个无效等价类
  3. 输入值是boolean -》 一个有效等价类和一个无效等价类
  4. 输入数据为一组值n -》 n个有效等价类和一个无效等价类
  5. 输入数据必须遵守的规则 -》 一个有效等价类和n个无效等价类(从多个角度违反)
  6. 等价类下可划分更小的等价类

边界值分析法:

错误推测法

可能发生的错误, 0, 空输入

因果图法

---------未完待续----------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值