单元测试到底是什么?应该怎么做?
原创

单元测试到底是什么?应该怎么做?

好文

热门回答:

单元测试(模块测试)是开发者编写的一小段代码。用于检验被测代码的一个很小的、很明确的功能是否正确。

首先要知道。我们写代码有两个目标:

实现功能需求

提高代码质量和可维护性

所以代码写完后并不是直接就可以交付。在规范的开发流程中。必须要对代码进行测试。而单元测试是第一步。

一般来说。每一个函数或方法都是一个小的功能单元。一般是以函数/方法为最小单位进行测试。开发者编写完代码后。会有很多个这样的功能单元。在面向对象思想中。一个类中可以有很多个方法。当代码写完后。其逻辑性、正确性、运行结果、执行效率等等都需要进行测试才能知道编写的代码是否符合要求。

在面向过程中。需要对每个函数进行测试。

在面向对象中。一般要对应着被测试的类建立一个单元测试类。在测试类中编写测试方法对被测类的方法进行测试。

单元测试是测试编写的代码程序的正确性的。因此应该要程序员自己来完成。因为程序员最懂自己写的代码逻辑是怎么样的。单元测试执行通过后。才可以交付。交付时测试代码要同功能代码一并提交。

怎么做?

要编写测试文档。为每个被测代码函数/方法写好测试用例。根据测试用例来进行测试。测试用例要覆盖每一个条件分支。要保证输入的数据的多样性。每个循环、if的条件都要覆盖。代码块内部的每一行代码都要确保能够在特定输入条件下能够执行。

针对被测试的单元(功能函数或者类方法)。建立对应的测试单元(函数或测试类)

编写测试方法。要确保根据测试用例。调用被测函数/方法执行。然后根据测试用例来判断执行结果是否符合预期。

单元测试一般涉及的都是白盒测试。是以人能够想到的可能的正确的结果或者错误的结果进行预期。在给定的输入条件下。输出都符合编写人对功能单元的预期(有错误结果的预期。也有正确结果的预期)。就表示测试通过。

测试过程中。可以有很多的方法可以引入进来。提高测试效率:

利用合适的测试框架/套件;

使用Mock框架。通过模拟对象。来减少被测试类所需的依赖;

使用代码覆盖率测试工具。它能够检测测试用例的分支覆盖情况。可以减少人为因素漏掉某个分支;

编写完功能代码后。立即编写单元测试。不要拖着后面去做;

同时还有其他可以提高测试质量/效率的几个点:

尽可能将测试数据外部化。因为测试用例提供的输入是固定性的。硬编码到测试用例中。会造成一些限制。比如在更改测试输入时。需要重新修改测试代码。带来返工。将输入输出数据放在外部文件来存储。可以运行测试时动态改变测试用例。

自动化测试生成。很多大部分的功能测试用例的数据都是有迹可循的。有一些工具能够自动生成多种多样的测试用例。省去了人工的麻烦。同时。不光测试用例可以自动生成。甚至测试代码也可以自动生成。自动生成测试代码。然后再交给DevOps进行自动化测试执行(包括回归测试)。自动化测试生成也是目前我在研究的方向。

对单元测试进行评估分析。需要对测试代码的质量进行监督和把握。不光要保证功能代码的质量。也要保证测试代码的质量。有很多的评价的指标数据。其中代码分支覆盖率就是一个非常重要的评估指标。

其他观点:

单元测试是指你这单元学习的怎么样。通过考试。看一看自己有没有不会的。和学的不好的是那一部分。通过考试。在去复习一下不会的地方。

其他观点:

谢谢相邀!单元测试和使用版本控制系统(GIT,SVN)是一样重要的。

为什么单元测试如此重要。但你却感受不到。

首先要知道。代码的终极目标有两个。第一个是实现需求。第二个是提高代码质量和可维护性。

单元测试是为了提高代码质量和可维护性。是实现代码的第二个目标的一种方法。

您还感兴趣的文章推荐

以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

回复 一桥孤寂 取消回复

登录... 后才能评论

评论(2)

  • 明天的阳光美吗 永久VIP 2022年12月28日 01:04:54

    测试,代码,单元测试,方法,功能,函数,进行测试,质量,单元,可维护性

  • 难入眠 永久VIP 2022年12月28日 01:04:54

    没想到大家都对单元测试到底是什么?应该怎么做?感兴趣,不过这这篇解答确实也是太好了

  • 一桥孤寂 永久VIP 2022年12月28日 01:04:54

    单元测试(模块测试)是开发者编写的一小段代码。用于检验被测代码的一个很小的、很明确的功能是否正确。首先要知道。我们写代