Junit4入门之什么是单元测试?

干了一年多的后端了,从来没有了解过单元测试。虽然我知道测试不仅仅是测试们的任务,后端也要进行自测来保证自己的代码的可用性,但我一直都只是用postman来实施的,调用调通了即可。虽然我也知道Junit是用于测试的软件,项目里也引入过,但真的就只是点到为止,除了引入就没用过。。之前是小外包公司,不需要你整这些没用的,现在进了比较看重编码质量的公司,就需要写单元测试的任务了。一方面是上面要求不得不学习,一方面也是对自己以后面试之类的有帮助,最后一方面就是希望学好单元测试后真的能对项目有帮助吧。

什么是单元测试?

首先我们得知道单元测试是个啥,一点点的学进去。

百度百科:单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。

可以看出,单元测试是一种对代码模块的测试,但它的特点是:小,是我们人为规定的最小的被测功能模块。所以绝对不能太久,据说即便是上千个单元测试,也可以在10秒内跑完。很多公司并没有严格界定单元测试的标准,将功能测试误以为是单元测试,认为只要使用了Junit就是单元测试,其实并不是这样。单元测试的特点是小,一般都是按方法为单位。也有以类为单位的,勉强也可以算进去。但是不能一次涉及多个类,如果是那样,那就是功能测试而不是单元测试了。

举例:

单元测试是用来对一个模块、一个函数或者一个类来进行正确性校验的测试工作。

例如现在要对函数abs(int i)进行测试(Java里获取绝对值的函数),首先我们可以编写出以下几个测试用例

1) 输入正数,例如1、2、3,预期返回值与输入参数相同

2) 输入负数,例如-1、-2、-3,预期返回值与输入参数相反

3) 输入0,预期返回值也是0

4) 输入非数值类型,例如List或任意类,预期会发生异常

把上面的测试用例放到一个测试模块里,就是一个完整的单元测试。

如果单元测试通过,说明我们测试的这个函数能够正常工作。如果单元测试不通过,要么函数有bug,要么测试条件输入不正确,总之,需要修复代码使单元测试能够通过。

这就是单元测试的目的,用于减轻我们开发自测的负担,避免开发时,不小心修改影响到以前的功能。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

Junit4入门之什么是单元测试?_第1张图片

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

你可能感兴趣的:(单元测试,测试用例,selenium,测试工具,功能测试,postman,jmeter)