单元测试全面指南
1. 测试心态
在代码构建过程中,开发者和测试者扮演着不同的角色,甚至可以说是对立的角色。开发者的职责是根据需求进行设计,并编写实现该设计的代码,目标是让代码正常运行。而测试者则要依据相同的需求和代码,设法让代码出错,他们会对代码进行各种极端操作,以暴露其中的错误,其工作就是找出问题,然后由开发者来修复。
由于开发者的主要任务是让代码正常工作,所以他们往往难以成为优秀的测试者。开发者编写测试用例时,通常使用典型、干净的数据,并且对测试能覆盖的代码量过于乐观,他们默认自己的代码会正常运行。因此,大多数软件开发组织会设立独立的测试团队,尤其是进行集成测试和系统测试时。不过,单元测试是开发者的责任,开发者需要学会思考测试、编写测试用例、运行测试并分析结果,要对自己的代码“狠”一点,同时还要修复发现的错误。
2. 测试时机
目前关于单元测试的时机有两种主流观点:
- 传统方法 :先编写代码,使其能够编译通过,消除语法错误,在认为某个函数或模块的代码完成后,再编写测试用例并进行单元测试。这种方法的优点是开发者在编写代码的过程中已经理解了需求,并且有机会思考测试用例,从而可以编写清晰的测试用例。在这种策略下,测试和调试紧密结合,几乎同时进行,能够及时发现错误、修复错误并重新运行失败的测试。
- 测试驱动开发(TDD) :这是一种源于敏捷方法,特别是极限编程的新方法。采用TDD时,在编写任何代码之前先编写单元测试。显然,一开始所有测试都会失败,因为最多只有一个方法的存根可供调用。但这是好事,因为在TDD中,编写代码的目标就是让所有测试通过。编写了一系列测试后
单元测试全面指南及应用
超级会员免费看
订阅专栏 解锁全文
1803

被折叠的 条评论
为什么被折叠?



