美文网首页百人计划软件测试精进之路
软件测试52讲笔记--03 什么是单元测试?如何做好单元测试?

软件测试52讲笔记--03 什么是单元测试?如何做好单元测试?

作者: cynthia猫 | 来源:发表于2018-07-14 20:19 被阅读30次

这是我购买的"极客时间"上的一套课程的笔记,总共52讲,定期对其中的内容做一笔记,巩固学习内容。

03 什么是单元测试?如何做好单元测试?

单元测试概念

  1. 单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测试单元通常是指函数或者类。

  2. 单元测试通常由开发工程师完成,并以自动化的方式执行。在大量回归测试的场景下更能带来高收益。

如何做好单元测试

  1. 考虑代码的基本特征与产生错误的原因。开发工程师眼中代码的"功能点",就是单元测试的"等价类"。
  2. 单元测试用例是"输入数据"和"预计输出"的集合。

并不是只有被测函数的输入参数才是"输入数据",常见的单元测试输入数据有:

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

那么,预计输出也不只是包括函数返回值,还应该包括函数执行完成后所改写的所以数据,常见的预计输出有:

  • 被测函数的返回值
  • 被测函数的输出参数
  • 被测函数所改写的成员变量
  • 被测该函所改写的全局变量
  • 被测函数中进行的文件更新
  • 被测函数中进行的数据库更新
  • 被测函数中进行的消息队列更新
  • ……
  1. 驱动代码,桩代码和Mock代码
  • 驱动代码:用来调用被测函数
  • 桩代码和Mock代码:用来代替被测函数调用的真实代码

实际项目中单元测试的开展

  • 只有底层模块或者核心模块的测试才会采用单元测试
  • 单元测试框架的选型和开发语言直接相关:Java -- Junit, TestNG; C/C++ -- CppTest, Parasoft
  • 代码覆盖率统计工具:Java -- JaCoCo; JavaScript -- Istanbul
  • 把单元测试执行、代码覆盖率统计和持续集成流水线做集成。

【心得】
在公司中一般都是开发人员来写这些单元测试,作为测试的我,只是做了Jenkins上的持续集成,并查看单元测试结果而已。作者的阐述,使我对单元测试本身有了更为深入的了解。

相关文章

  • 软件测试52讲笔记--03 什么是单元测试?如何做好单元测试?

    这是我购买的"极客时间"上的一套课程的笔记,总共52讲,定期对其中的内容做一笔记,巩固学习内容。 03 什么是单元...

  • 开发生命周期的各阶段适用的自动化测试技术

    文章内容来源于《软件测试52讲》 1、单元测试 从广义上讲,单元测试阶段的“自动化”内涵不仅仅指测试用例执行的自动...

  • 软件测试基础-软件测试阶段

    软件测试阶段 单元测试集成测试系统测试验收测试 单元测试 什么是单元测试呢? 我理解的单元测试是最小力度的测试,可...

  • 软件测试级别、类型及方法

    测试级别 单元测试 什么是单元测试?对单个的软件单元或者一组相关的软件单元所进行的测试,代码级的测试 单元测试的对...

  • 软件测试读书笔记(佟伟光著)4

    软件测试过程 软件测试过程包括单元测试、集成测试、系统测试和验收测试。 单元测试 单元测试是对软件设计的最小单元—...

  • Android单元测试(一):初识单元测试

    什么是单元测试 首先介绍一下什么是单元测试,Wikipedia给出的定义是:在计算机编程中,单元测试是一种软件测试...

  • 关于单元测试的讨论

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

  • JUnit

    单元测试的重要性 什么是单元测试单元测试是对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性,测试的对象...

  • 软件测试的分类(一)

    按测试阶段来分类 单元测试,集成测试,系统测试,验收测试 单元测试1.什么是单元测试?对软件中的进行检查和验证。 ...

  • 单元测试的简述

    什么是单元测试 单元测试是对软件的基本组成单位进行的测试,目的是检验软件基本组成单位的正确性。 单元测试是整个以测...

网友评论

    本文标题:软件测试52讲笔记--03 什么是单元测试?如何做好单元测试?

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