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

本文讲述了后端开发人员在经历了一年多的开发后开始接触单元测试,理解了单元测试是对最小功能模块的验证,强调了其快速执行和区分于功能测试的重要性。作者分享了单元测试的基本概念、实例以及推荐的学习资源,特别是针对软件测试面试的准备材料。
摘要由CSDN通过智能技术生成

干了一年多的后端了,从来没有了解过单元测试。虽然我知道测试不仅仅是测试们的任务,后端也要进行自测来保证自己的代码的可用性,但我一直都只是用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,要么测试条件输入不正确,总之,需要修复代码使单元测试能够通过。

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

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值