干了一年多的后端了,从来没有了解过单元测试。虽然我知道测试不仅仅是测试们的任务,后端也要进行自测来保证自己的代码的可用性,但我一直都只是用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,要么测试条件输入不正确,总之,需要修复代码使单元测试能够通过。
这就是单元测试的目的,用于减轻我们开发自测的负担,避免开发时,不小心修改影响到以前的功能
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。