【实用软件测试教程】4-单元测试

4 单元测试

4.1 单元测试概述

4.1.1 单元测试的定义

单元的定义

  1. 具有明确的功能
  2. 具有明确的规格定义
  3. 具有与其他部分明确的接口定义
  4. 能够与程序的其他部分清晰的区分

单元测试的定义:依据详细设计规格说明书,对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。多用白盒测试

单元测试的对象:在结构化程序时代,单元测试所说的单元是指函数,在面向对象编程中,单元测试的单元一般是指

单元测试的时间:越早越好,通常在编码阶段进行。

单元测试的人员:绝大部分情况下,由开发人员承担单元测试的设计和执行的工作。

4.1.2 单元测试的内容

主要采用白盒测试方法设计的测试用例,辅之以黑盒测试方法设计的测试用例,是之对任何合理和不合理的输入都能鉴别和响应。

主要对以下五个方面案进行测试

  1. 模块接口测试
  2. 模块局部数据结构测试
  3. 模块边界条件测试
  4. 模块中所有独立执行通路测试
  5. 模块的各条错误处理通路测试

4.2 单元测试的过程

单元测试可分为计划、设计、执行和评估。

4.2.1 计划单元测试

  1. 确定测试需求
  2. 确定单元测试的策略
  3. 单元测试的输入
  4. 单元的是的输出

4.2.2 设计单元测试

  1. 单元测试的模型

    ① 驱动模块:所测模块的主程序。

    ② 桩模块:用来代替所测模块调用的子模块。

  2. 单元测试方案

    ① 声明测试

    ② 路径测试

    ③ 基本路径测试

    ④ 循环测试

    ⑤ 边界值测试

    ⑥ 接口测试

    ⑦ 确认测试

    ⑧ 事务测试

  3. 测试用例的设计

    测试用例应由测试输入数据和与之对应的预期输出结构两部分组成。

4.2.3 执行单元测试

执行单元测试应遵循以下步骤

  • 设置测试环境
  • 将测试环境初始化
  • 执行测试过程

单元测试何时终止?

  • 正常:所有测试过程按预期执行;
  • 异常或提前结束:测试过程没有按预期方式执行或没有完全执行;

4.2.4 评估单元测试

  1. 测试完备性评估。
  2. 代码覆盖率评估。
  3. 从覆盖的角度看。测试应做到:功能覆盖、输入域覆盖、输出域覆盖、函数交互覆盖、代码执行覆盖。

4.3 常用测试框架汇总

  1. JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试,是接口测试技术中最基本的利器。四个重要类:TestCase(测试用例)、TestSuite(测试集合)、TestResult、TestRunner(测试运行器)。
  2. HtmlUnit是JUnit的扩展测试框架之一,能够模拟浏览器的行为,开发者可以使用其提供的应用程序接口对页面的元素进行操作。
  3. HttpUnit是基于JUnit构建的一个开源测试框架,专门针对Web应用的测试,用于解决使用JUnit框架无法对远程Web内容进行测试的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chaoql

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值