软件测试_单元测试和集成测试


title: 软件测试_单元测试和集成测试
date: 2019-11-25 15:58:23
categories:

  • 软件测试
    tags:

单元测试和集成测试

什么是单元测试

  • 单元测试就是对已实现的软件最小单元进行测试,以保证构成软件的各个单元的质量。

单元测试的目的

  1. 单元实现其特定功能
  2. 单元的运行能够覆盖预先设定的各种逻辑
  3. 在单元工作过程中,其内部数据能够保持完整性。
  4. 可接收正确数据,也能处理非法数据
  5. 该单元的算法的合理性
  6. 单元代码经过扫描,无安全性问题

单元测试的方法

黑盒测试

  • 是把程序看做一个不能打开的盒子,不考虑内部架构和内部特性,而是考察数据的输入、条件的限制、数据的输出,完成测试

白盒测试

  • 是根据模块内部结构了解,基于内部逻辑结构,针对程序语句、路径、变量状态等进行测试。

  • 代码评审也是一种白盒测试方法,属于静态测试,包括相互评审、走查、评审会议等。

白盒测试关注代码,容易忽略单元的实际结果是否满足用户需求

驱动程序和桩程序

什么是驱动程序

  • 对底层或子层模块进行测试时所编制的调用被测模块的程序,用来模拟被测模块的上级模块

什么是桩程序

  • 存根程序,对顶层或上层模块进行测试时,所编制的替代下层模块的程序,用来模拟被测模块工作时调用的模块。

白盒测试的用例设计

分支覆盖

  • 设计若干用例,使得运行被测程序时,所有的分支至少调用一次

语句覆盖

  • 使得程序中的每一条语句至少被执行一次

条件覆盖

  • 程序中的每一个条件至少有一次是满足的
    • 条件覆盖不一定会分支覆盖

基本路径覆盖

  • 设计所有的测试用例,来覆盖程序中所有可能的执行路径
  • 具体步骤
    • 程序的流程图
    • 计算程序环境复杂性
      • 独立路径条数 V(G) = 区域数目,区域是由边界和节点包围起来的形状构成
      • 独立路径条数 V(G) = 边界数目 - 节点数目 + 2
      • 独立路径条数 V(G) = 判断节点 数目 + 1
    • 确定基本路径
    • 准备测试用例
    • 图形矩阵

代码审查

  • 包括走查、互查、会议评审等形式

  • 审查内容

    • 业务逻辑
    • 算法效率
    • 代码风格、命名规则等
    • 编程规则

代码审查的好处

  • 互相学习程序设计思想、方法、技巧

  • 及时发现代码问题

  • 使更多人明白代码意思

代码规范性审查

  1. 命令规则
  2. 缩进与对齐
  3. 空行和空格
  4. 注释
  5. 函数处理

集成测试的模式

集成模式是软件集成测试中的策略体现,直接关系到开发和测试的效率。

  • 非渐进式测试模式: 先分别测试每个模块,再把所有模块按设计要求放一起结合测试
  • 渐进式测试: 把下一个要测试的模块同已经测试好的模块结合起来测试,测试完以后把下一个应该测试的模块结合起来进行测试

自定向下测试

  • 从主模块开始,沿着软件的控制层向下移动,从而逐渐把各个模块结合起来。
  • 需要桩程序

自底向上测试

  • 从底层模块开始,向上推进,不断进行集成测试的方法
  • 需要驱动程序

混合策略

自顶向下集成和自底向上集成两种方法有机地结合,采用混合策略来完成系统的集成测试。

持续集成测试

  • 持续构建、集成、测试
  • 包括自动构建、自动部署、自动生成报告
发布了98 篇原创文章 · 获赞 105 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_34691097/article/details/103244233