软件测试_单元测试和集成测试
title: 软件测试_单元测试和集成测试
date: 2019-11-25 15:58:23
categories:
- 软件测试
tags:
单元测试和集成测试
什么是单元测试
- 单元测试就是对已实现的软件最小单元进行测试,以保证构成软件的各个单元的质量。
单元测试的目的
- 单元实现其特定功能
- 单元的运行能够覆盖预先设定的各种逻辑
- 在单元工作过程中,其内部数据能够保持完整性。
- 可接收正确数据,也能处理非法数据
- 该单元的算法的合理性
- 单元代码经过扫描,无安全性问题
单元测试的方法
黑盒测试
- 是把程序看做一个不能打开的盒子,不考虑内部架构和内部特性,而是考察数据的输入、条件的限制、数据的输出,完成测试
白盒测试
-
是根据模块内部结构了解,基于内部逻辑结构,针对程序语句、路径、变量状态等进行测试。
-
代码评审也是一种白盒测试方法,属于静态测试,包括相互评审、走查、评审会议等。
白盒测试关注代码,容易忽略单元的实际结果是否满足用户需求
驱动程序和桩程序
什么是驱动程序
- 对底层或子层模块进行测试时所编制的调用被测模块的程序,用来模拟被测模块的上级模块
什么是桩程序
- 存根程序,对顶层或上层模块进行测试时,所编制的替代下层模块的程序,用来模拟被测模块工作时调用的模块。
白盒测试的用例设计
分支覆盖
- 设计若干用例,使得运行被测程序时,所有的分支至少调用一次
语句覆盖
- 使得程序中的每一条语句至少被执行一次
条件覆盖
- 程序中的每一个条件至少有一次是满足的
- 条件覆盖不一定会分支覆盖
基本路径覆盖
- 设计所有的测试用例,来覆盖程序中所有可能的执行路径
- 具体步骤
- 程序的流程图
- 计算程序环境复杂性
- 独立路径条数 V(G) = 区域数目,区域是由边界和节点包围起来的形状构成
- 独立路径条数 V(G) = 边界数目 - 节点数目 + 2
- 独立路径条数 V(G) = 判断节点 数目 + 1
- 确定基本路径
- 准备测试用例
- 图形矩阵
代码审查
-
包括走查、互查、会议评审等形式
-
审查内容
- 业务逻辑
- 算法效率
- 代码风格、命名规则等
- 编程规则
代码审查的好处
-
互相学习程序设计思想、方法、技巧
-
及时发现代码问题
-
使更多人明白代码意思
代码规范性审查
- 命令规则
- 缩进与对齐
- 空行和空格
- 注释
- 函数处理
集成测试的模式
集成模式是软件集成测试中的策略体现,直接关系到开发和测试的效率。
- 非渐进式测试模式: 先分别测试每个模块,再把所有模块按设计要求放一起结合测试
- 渐进式测试: 把下一个要测试的模块同已经测试好的模块结合起来测试,测试完以后把下一个应该测试的模块结合起来进行测试
自定向下测试
- 从主模块开始,沿着软件的控制层向下移动,从而逐渐把各个模块结合起来。
- 需要桩程序
自底向上测试
- 从底层模块开始,向上推进,不断进行集成测试的方法
- 需要驱动程序
混合策略
自顶向下集成和自底向上集成两种方法有机地结合,采用混合策略来完成系统的集成测试。
持续集成测试
- 持续构建、集成、测试
- 包括自动构建、自动部署、自动生成报告