纠正对软件单元测试的五个错误认识 单元测试代码
如果实施得当,单元测试可以帮助开发团队更快地交付应用程序,换言之,它能够提高企业的竞争力。然而,只有很少的企业尝试过使用单元测试,而其中有只有一小部分成功地将其作为标准在企业范围内推广。为什么会这样?通常,这是由软件开发人员和管理人员对单元测试的作用,以及维持单元测试所需付出代价的错误认识所造成的。
以下就阻碍软件开发团队从单元测试这一强大的软件验证方法中受益的五个最常见的错误认识:
错误1:我们已经在做单元测试
每个人对“单元测试”都有不同的认识,不过大多数业界专家普遍认为,单元测试应该是测试应用程序的基础组成部分,即代码单元。换句话说,这是API层次上的测试。一些团队声称他们在做单元测试,而实际上他们做的是系统测试,或者是所谓的“开发测试(dev test)”。还有一些团队做了部分API层次的测试,但他们并没有把单元测试作为开发过程中的必要组成部分。
除非团队把持续进行API层次的单元测试作为开发过程中不可缺少的组成部分,否则单元测试必然会随着日程与预算带来压力的提升、政策与项目的发展,以及人员的流动而灭亡。
那些极少数长期保持傲人业绩的企业正是把单元测试安排为例行任务的企业。因此,不但要利用自动化测试来保证单元测试尽量全面、顺畅、高效地执行,还要为保证这一质量过程能够长期执行并根据需求而调整来确定基本的工作规范,比如把各个报告中的问题直接指向负责的开发人员,以及让管理人员能够及时方便地看到各开发人员的测试任务分配情况等。
错误2:自动测试并没多大用处
许多开发人员认为,除非是亲自编写单元测试,否则其一点利用价值都没有。这就大错特错了。由于生成测试的方式与算法的发展,测试工具也变得越来越有效。即使是最基本的自动化方法,也可以在很短时间里生成几千个原来根本无法完成的测试。这可是毫不费力就可以得到的好处。
除了可以给你生成测试,甚至“免费”帮你找到一些缺陷,自动测试还能让你集中精力进行那些更重要、更复杂、更全面的测试,那些真正需要专业技术的测试。
当前工具所能提供的高层次的自动测试能够显著减少开发团队在这些方面的工作,从而节省大量的时间与精力。如果没有这些工具的帮助,单元测试可能会消耗团队的大量资源,而这正是让许多团队认为单元测试是一种理论上有用但实际却很难实行的测试方法的原因所在。
错误3:要做的只是购买一个优秀的单元测试工具
我见过许多团队在购买测试工具时把它当做实现目标或完成任务的万能药。他们不想在其上花费任何精力,不对其进行任何设置,也不将其作为工作日程的一部分。到最后,他们自然也无法得到理想的结果。他们以为单元测试没有给他们带来任何好处,而实际上他们并没有执行真正意义上的单元测试——而只是在空谈。
单元测试工具并不是可以解决所有问题的王牌。事实上,它只是一个开始。开发人员需要的不仅仅是工具,他们还需要适当的指导、训练、支持设施和工作流程。如果真的希望这个工具能够成为开发过程的一部分,你就得积极主动地学习和使用它,寻找让它能在既定工作环境下发挥作用的办法,并保证这些使用方法都简单易行。目前有许多可以使用的工具,但是除非测试团队真正去使用它——部署、扩展并根据情况进行调整,否则你买到的只是“闲置工具”而已。
错误4:自动测试达到75%的覆盖率——任务完成!
文章来源于领测软件测试网 https://www.ltesting.net/