单元测试与JUNIT

更新时间:2023-08-19 20:21:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件测试

单元测试与JUNIT

软件测试

主要内容1. 2. 3. 4. 5. 6. 7. 单元测试介绍 单元测试 Quick Start 使用JUNIT 测试的一些技巧 边界条件 MOCK对象简介 单元测试与软件设计

软件测试

1.单元测试介绍

软件测试

1.1什么是单元测试 单元测试是开发者写的一小段代码,用于 检验被测代码的一个很小的、明确的功能 是否正确。通常而言,一个单元测试是用 于判断某个特定条件下某个特定的函数的 行为。 执行单元测试,是为了证明某段代码的行 为确定和开发者所期望的一致。

软件测试

1.2单元测试的目的 及早发现软件开发过程中实现或者设计带 来的缺陷– 跟踪详细设计文档中设计的实现,发现详细设 计文档中存在的错误 – 验证单元代码和详细设计文档的一致性 – 发现在编码过程中引入的错误

软件测试

单元测试标准是什么 单元测试标准通常为详细设计说明书 但是在没有详细设计说明书的情况下可以 以注释为测试标准

软件测试

单元测试过程 单元测试计划 单元测试设计 单元测试实现 单元测试执行 单元测试评估

软件测试

单元测试计划 时间表 工作量 任务分配 资源安排 测试工具 结束标准 风险分析 风险应对 输出单元测试计划文档

软件测试

单元测试设计 对哪些单元进行测试 被测单元的关系 被测单元与其他模块的关系 测试策略选择 如何设计测试用例 如何设计单元测试代码 输出单元测试用例文档

软件测试

单元测试实现 编写测试用例 编写测试规程 测试脚本编写 测试驱动构建 桩构建 输出测试用例 输出测试规程 输出测试代码和脚本

软件测试

单元测试执行 搭建测试环境 执行测试脚本 记录测试结果 跟踪缺陷 回归测试 输出单元测试报告

软件测试

单元测试策略 自顶向下的单元测试– 方法 先对最顶层的单元进行测试,把顶层单元所调 用的单元做成桩模块。其次对第二层单元进行测试, 使用上面已测试的单元做驱动模块。依次类推直至测 试完所有的模块。 – 优点 可以节省驱动函数开发的工作量,测试效率较高 – 缺点 随着被测单元一个个的加入,测试过程将变得复 杂,并且开发和维护的成本将增加。

自底向上的单元测试 孤立的单元测试 混合的单元测试

软件测试

自底向上的单元测试– 先对最底层的单元进行测试,模拟主调单元构 建驱动模块。然后再对上面一层做单元测试, 用下面已经测试通过的模块做桩模块。依次类 推,直至测试完所有的模块。 – 优点 可以节省桩模块开发的工作量,测试效 率高 – 缺点 不是纯粹的单元测试,底层函数的测试质 量对上层函数的测试将产生很大的影响。

软件测试

立的单元测试– 方法 不考虑模块和模块之间的关系,为每个 模块设立桩模块和驱动模块。每个模块进行独 立的单元测试 – 优点 该策略最简单,最容易操作。可以达到很 高的覆盖率。似乎纯粹的单元测试 – 缺点 该策略效率很低,需要构建大量的驱动和 桩

软件测试

混合的单元测试– 自顶向下和自底向上的测试策略综合了集成的 概念,随着单元测试的进行,可以看到系统一 个初步集成的概貌,但是测试覆盖率会越来越 难保证。并且在每个单元测试之前必须保证相 关的单元的正确性。孤立的测试策略比较独立 ,覆盖率容易保证,并且可以并行进行,但工 作量大。所以采用混合方法比较好。

软件测试

单元测试用例设计 单元测试用例设计方法– 黑盒 – 白盒

单元测试用例编写思路– 为系统运行起来设计测试用例 – 为正向测试设计用例 – 为逆向测试设计用例 – 为满足特殊需求而设计用例 – 为代码覆盖而设计测试用例

软件测试

单元测试用例设计五要点– 单元接口 – 局部数据结构 – 独立路径 – 出错处理 – 边界条件

软件测试

理解需求和设计 设计测试用例 搭建单元测试环境 执行测试 补充和完善测试用例 分析结果,给出评价

软件测试

1.3 我需要做什么呢 它的行为和我的期望一致吗? 它的行为一直和我的期望一致吗?

我可以依赖单元测试吗? 单元测试说明我的意图了吗?

软件测试

1.4不写单元测试的借口 编写单元测试太花时间了 运行测试的时间太长了 测试代码并不是我的工作 我并不清楚代码的行为,所以也就无从测试 但是这些代码都能编译通过 公司请我是为了写代码,而不是写单元测试 如果我让测试员失去工作,我会觉得内疚 公司不会让我在真实系统中运行单元测试

软件测试

2.单元测试 Quick Start

本文来源:https://www.bwwdw.com/article/jz6j.html

Top