美文网首页学校
【扫盲】单元测试中的几个重要概念

【扫盲】单元测试中的几个重要概念

作者: Queenie的学习笔记 | 来源:发表于2019-12-12 10:11 被阅读0次

1. 单元测试的基本点:

条件分支循环处理函数调用

2. 单元测试用例“输入数据”的种类:

被测试函数的输入参数;
被测试函数内部需要读取的全局静态变量;
被测试函数内部需要读取的成员变量;
函数内部调用子函数获得的数据;
函数内部调用子函数改写的数据;
嵌入式系统中,在中断调用时改写的数据

3. 单元测试用例“预计输出”的种类:

被测试函数的返回值;
被测试函数的输出参数;
被测试函数所改写的成员变量;
被测试函数所改写的全局变量;
被测试函数中进行的文件更新;
被测试函数中进行的数据库更新;
被测试函数中进行的消息队列更新;

4. 驱动代码,桩代码和 Mock

  • 驱动代码用来调用被测函数,
    桩代码和 Mock 代码是临时代码(用来代替被测函数所调用的真实代码)
  • 驱动模块包括3个步骤:调用被测函数前的数据准备、调用被测函数、验证相关结果
  • 桩代码:某个函数 A 的内部实现中调用了一个尚未实现的函数 B,为了对函数 A 的逻辑进行测试,那么就需要模拟一个函数 B,这个模拟的函数 B 的实现就是所谓的桩代码。
  • 编写桩代码要遵守的3个原则:
    ① 桩函数要具有与原函数完全相同的原形,仅仅是内部实现不同,这样测试代码才能正确链接到桩函数;
    ② 用于实现隔离和补齐的桩函数比较简单,只需保持原函数的声明,加一个空的实现,目的是通过编译链接;
    ③ 实现控制功能的桩函数是应用最广泛的,要根据测试用例的需要,输出合适的数据作为被测函数的内部输入。
  • Mock 代码和桩代码的本质区别:
    测试期待结果的验证(Assert and Expectiation)。

5. 实际软件项目中单元测试的开展

  • 只有底层模块或者核心模块的测试中才会采用单元测试。
  • 确定单元测试框架的选型。
    (Java 最常用的单元测试框架是 Junit 和 TestNG;C/C++ 最常用的单元测试框架是 CppTest 和 Parasoft C/C++test;)
  • 对桩代码框架和 Mock 代码框架选型,主要依据开发所采用的具体技术栈。
    (通常单元测试框架、桩代码 /Mock 代码的选型工作由开发架构师和测试架构师共同决定。)
  • 引入计算代码覆盖率的工具(以衡量单元测试的代码覆盖率)。
    Java 的 代码覆盖率统计工具有JaCoCo,JavaScript 的 Istanbul
  • 把单元测试执行、代码覆盖率统计和持续集成流水线做集成,以确保每次代码递交,都会自动触发单元测试,并在单元测试执行过程中自动统计代码覆盖率。
    最终以“单元测试通过率”和“代码覆盖率”为标准来决定本次代码递交是否能够被接受。

相关文章

  • 【扫盲】单元测试中的几个重要概念

    1. 单元测试的基本点: 条件分支、循环处理和函数调用 2. 单元测试用例“输入数据”的种类: 被测试函数的输入参...

  • react入门

    前端开发扫盲(写给同事) chapter1 概念入门 前端几个重要的概念 ? 单页面应用: 单页面应用与传统jav...

  • Docker Swarm 集群环境搭建及弹性服务部署

    上一篇文章《Docker Swarm 集群管理利器核心概念扫盲》中我们把 Swarm 重要的概念性知识给大家讲解了...

  • 中台概念扫盲

    中台很火,大家在聊中台的时候聊的是哪个中台? 来源 中台也是不断演进出来的。无中台时代,业务是这样设计的 为提高开...

  • [转载]spark 中几个重要概念

    学习Spark,有几个重要的术语需要弄清楚。 Application: 用户在spark上构建的程序,包含了dri...

  • hadoop集群中的几个重要概念

    (1)journalnode:使两个namenode之间的数据实现共享(hadoop层面的)。系统层面的是NFS。...

  • 几个重要的概念

    离上一篇发稿,需要承认的是,发出去是需要勇气的,因为毕竟写的磕磕巴巴,有待提升的地方很多,但写出来才足够清晰和明了...

  • iOS单元测试

    1 单元测试重要吗? 重要!单元测试的重要性,不言而喻,在迭代开发Framework 的过程中,好的单元测试,能及...

  • 软件测试学习教程:单元测试之UnitTest测试框架

    单元测试的概念 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。 对于单元测试中...

  • Spring Boot 单元测试(Unit test)

    一、 单元测试的概念 概念: 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。在...

网友评论

    本文标题:【扫盲】单元测试中的几个重要概念

    本文链接:https://www.haomeiwen.com/subject/vkpzgctx.html