[Junit]Junit4学习笔记1-为什么单元测试多是开发人员自己做

本文探讨了为何单元测试多由开发人员而非测试人员执行的原因。分析了开发人员在理解和重构代码上的优势,并讨论了测试人员学习单元测试的价值所在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习Junit,使用的书是《Junit4 in Action》。
书从入门到进阶,讲解了Junit的基本用法,讲到stub和mock的使用,配合以实际的例子。通过抄写书中的代码,去理解来学习。

这里又引出一个老问题,为什么测试人员做单元测试的少,很多公司都是开发自己来做。

为什么是开发

过去,我只是以一种笼统的感性认为,因为开发比我们更懂代码内部实现,但是多想想,如果内部代码我们是可阅读的,也有概要设计和详细设计,那测试人员是不是也应该降低这部分的壁垒。

  1. 看了前6章,对这一问题有了进一步认识。上面的感性认识有没错?答案是没有。
    书中有两个例子,一个是stub,StubHttpURLConnection,通过对URL连接返回进行处理。
    另一个是mock,MockInputStream,通过mock处理输入输出。
    这两个方法都是对成熟库方法的模拟,对测试人员来说困难在哪儿?对协议代码实现方法细节的了解远不如开发。

  2. 另一点在第6章第3节有提到,在做单元测试的时候,如果被测代码难以测试要及时重构,这一点只有开发自己在做单元测试时响应才及时,更方便调整。

Some people used to say that unit tests should be totally transparent to your code under test, and that you should not change runtime code in order to simplify testing.This is wrong!Unit tests are first-class users of the runtime code and deserve the same consideration as any other user.If your code is too inflexible for the tests to use,then you should correct the code.

还有的学吗

那么做为测试人员,还有学单元测试的必要么?
我认为还是有的学的,书中提到的测试策略中也说到,unit test在函数测试,组件测试,应用功能测试和压力测试中都能有所做为。

比如现在很多公司在做web测试时,都会进行接口自动化的测试,很多测试技术仍会用到单元测试的方法或者框架。

更何况,仅仅把单元测试的学习当成一种乐趣,又何尝不可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值