热门回答:
单元测试(模块测试)是开发者编写的一小段代码。用于检验被测代码的一个很小的、很明确的功能是否正确。
首先要知道。我们写代码有两个目标:
实现功能需求
提高代码质量和可维护性
所以代码写完后并不是直接就可以交付。在规范的开发流程中。必须要对代码进行测试。而单元测试是第一步。
一般来说。每一个函数或方法都是一个小的功能单元。一般是以函数/方法为最小单位进行测试。开发者编写完代码后。会有很多个这样的功能单元。在面向对象思想中。一个类中可以有很多个方法。当代码写完后。其逻辑性、正确性、运行结果、执行效率等等都需要进行测试才能知道编写的代码是否符合要求。
在面向过程中。需要对每个函数进行测试。
在面向对象中。一般要对应着被测试的类建立一个单元测试类。在测试类中编写测试方法对被测类的方法进行测试。
单元测试是测试编写的代码程序的正确性的。因此应该要程序员自己来完成。因为程序员最懂自己写的代码逻辑是怎么样的。单元测试执行通过后。才可以交付。交付时测试代码要同功能代码一并提交。
怎么做?
要编写测试文档。为每个被测代码函数/方法写好测试用例。根据测试用例来进行测试。测试用例要覆盖每一个条件分支。要保证输入的数据的多样性。每个循环、if的条件都要覆盖。代码块内部的每一行代码都要确保能够在特定输入条件下能够执行。
针对被测试的单元(功能函数或者类方法)。建立对应的测试单元(函数或测试类)
编写测试方法。要确保根据测试用例。调用被测函数/方法执行。然后根据测试用例来判断执行结果是否符合预期。
单元测试一般涉及的都是白盒测试。是以人能够想到的可能的正确的结果或者错误的结果进行预期。在给定的输入条件下。输出都符合编写人对功能单元的预期(有错误结果的预期。也有正确结果的预期)。就表示测试通过。
测试过程中。可以有很多的方法可以引入进来。提高测试效率:
利用合适的测试框架/套件;
使用Mock框架。通过模拟对象。来减少被测试类所需的依赖;
使用代码覆盖率测试工具。它能够检测测试用例的分支覆盖情况。可以减少人为因素漏掉某个分支;
编写完功能代码后。立即编写单元测试。不要拖着后面去做;
同时还有其他可以提高测试质量/效率的几个点:
尽可能将测试数据外部化。因为测试用例提供的输入是固定性的。硬编码到测试用例中。会造成一些限制。比如在更改测试输入时。需要重新修改测试代码。带来返工。将输入输出数据放在外部文件来存储。可以运行测试时动态改变测试用例。
自动化测试生成。很多大部分的功能测试用例的数据都是有迹可循的。有一些工具能够自动生成多种多样的测试用例。省去了人工的麻烦。同时。不光测试用例可以自动生成。甚至测试代码也可以自动生成。自动生成测试代码。然后再交给DevOps进行自动化测试执行(包括回归测试)。自动化测试生成也是目前我在研究的方向。
对单元测试进行评估分析。需要对测试代码的质量进行监督和把握。不光要保证功能代码的质量。也要保证测试代码的质量。有很多的评价的指标数据。其中代码分支覆盖率就是一个非常重要的评估指标。
其他观点:
单元测试是指你这单元学习的怎么样。通过考试。看一看自己有没有不会的。和学的不好的是那一部分。通过考试。在去复习一下不会的地方。
其他观点:
谢谢相邀!单元测试和使用版本控制系统(GIT,SVN)是一样重要的。
为什么单元测试如此重要。但你却感受不到。
首先要知道。代码的终极目标有两个。第一个是实现需求。第二个是提高代码质量和可维护性。
单元测试是为了提高代码质量和可维护性。是实现代码的第二个目标的一种方法。
您还感兴趣的文章推荐
- 在北京月入14k,这种情况下要不要离职呢?
- 27岁:考研还是考公?该如何做出选择?
- 如何平衡自己的时间与陪伴孩子的时间?有哪些实用方法?
- 大专女生学前教育毕业一年多,有两家园工作经验想转行该咋办?
- 普通人怎样做才能挣到钱?有哪些途径和方法?
以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:https://www.wangchuang8.com/216166.html,转载请说明来源于:网创推广网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系进行处理。分享目的仅供大家学习与参考,不代表本站立场。
评论(2)
测试,代码,单元测试,方法,功能,函数,进行测试,质量,单元,可维护性
没想到大家都对单元测试到底是什么?应该怎么做?感兴趣,不过这这篇解答确实也是太好了
单元测试(模块测试)是开发者编写的一小段代码。用于检验被测代码的一个很小的、很明确的功能是否正确。首先要知道。我们写代