写点什么

测试基础之:单元测试

作者:甜甜的白桃
  • 2022 年 6 月 12 日
  • 本文字数:934 字

    阅读完需:约 3 分钟

测试基础之:单元测试

一、定义

单元测试(Unit Testing),是指对软件中的最小可测试单元进行检查和验证。测试内容包括模块接口测试、局部数据测试、边界条件测试、出错处理测试和独立路径测试等。


特别说明:

1. 所有的代码,通产都是在对数据进行分类处理。

2. 并不是所有代码都要进行单元测试,通常只有底层模块或者核心模块的测试中才会采用单元测试。3. 模块接口测试主要包括是否修改了只做输入的形式参数、是否使用了尚未初始化的变量、输出给标准函数的参数个数是否正确等。

二、常用方法

单元测试的用例是一个“输入数据”和“输出数据”的集合。

输入数据,可以是被测函数的输入参数、内部需要读取的全局静态变量、内部需要读取的成员变量、函数内部调用子函数获得的数据、函数内部调用子函数改写的数据等。预计输出也绝对不只有函数返回值这样简单,还包括函数执行完成后所改写的所有数据。在单元测试中,驱动代码-Driver,桩代码-Stub 和 Mock 代码是最常出现的三个名词,下面我们一起简单了解一下。

1、驱动代码-Driver

指调用被测函数的代码。

2、桩代码-Stub

用来代替真实代码的临时代码。桩代码的应用首先起到了隔离和补齐的作用,使被测代码能够独立编译、链接,并独立运行。同时,桩代码还具有控制被测函数执行路径的作用。不会去关注 Stub 是否被调用以及怎么样被调用。编写桩代码通常需要遵循以下原则:

1)桩函数要具有与原函数完全相同的原形,仅仅是内部实现不同,这样测试代码才能正确链接到桩函数;

2)用于实现隔离和补齐的装函数比较简单,只需保持原函数的声明,加一个空的实现,通过编译链接;

3)实现控制功能的桩函数应用最广泛,根据测试用例的需要,输出合适的数据作为被测函数的内部输入。

3、Mock 代码

关注 Mock 方法有没有被调用,以什么样的参数被调用,被调用的次数,以及多个 Mock 函数的先后调用顺序。


测试框架的选型,和开发语言直接相关。

Java 最常用的单元测试框架是 Junit 和 TestNG;

C/C++ 最常用的单元测试框架是 CppTest 和 Parasoft C/C++Test;

框架选型完成后,你还需要对桩代码框架和 Mock 代码框架选型,选型的主要依据是开发所采用的具体技术栈。通常,单元测试框架、桩代码/Mock 代码的选型工作由开发架构师和测试架构师共同决定。


👉如果在阅读过程中有任何疑问,欢迎在评论区留言参与讨论!

发布于: 刚刚阅读数: 4
用户头像

👩‍🦰 深耕测试开发 2021.02.23 加入

⭐ 坚信做好每个当下,美好一定会不期而遇! 2018年至今 坐标大连,负责移动端SDK开发 2015年 入职腾讯,负责手机QQ iOS开发 软件评测师认证 高中和中职信息技术教师资格证

评论

发布
暂无评论
测试基础之:单元测试_单元测试_甜甜的白桃_InfoQ写作社区