对单元测试阶段工作的看法

发表于:2010-10-27 16:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:用友专家 张宝良    来源:51Testing软件测试网原创

  软件测试过程伴随着软件编码过程进行,两者有前后关系。软件编码过程质量的好与坏,对软件测试过程有着直接的影响。软件测试过程在软件测试的各个阶段具有不同的特征与内容。本文只就单元测试阶段进行讨论。

  在这个阶段,理论上执行单元测试的主体是程序员。程序员依据单元测试用例进行测试。但在现实中,需求人员和专职测试人员做单元测试的工作更多一些。比较这三类人员测试,此阶段测试效果最好的应属程序员。因为代码是他们编写的,无论从业务逻辑还是代码逻辑他们都最清楚。他们能够发现很深层次的问题。需求人员的测试偏重于功能的实现,检查程序员是否按照他们的意思去做,他们测试的真正目的是需求功能验证。测试人员的测试是发散的,他们依据需求文档与测试用例去检查程序员实现的功能。测试用例与需求文档编写的好与坏直接影响测试人员的执行质量。有了需求文档与测试用例,并且都被评审通过,就能保证单元测试的质量吗?答案是否定的。那么怎样才能保证单元测试阶段的测试质量呢?就此问题做如下分析。

  1、现象分析

  单元测试阶段程序员单元测试做的比较少,究其原因无外乎两个,其一开发任务安排时间不合理,没有经过认真地评估工作量,造成程序员没有合理的时间去做单元测试,尤其是时间紧,任务重的软件开发项目;其二是管理问题,要求不严格,考核不到位,造成程序员的依赖心理。他们始终认为,公司有专职测试,让他们测试好了,我只管编写代码,简单调试一下就行了。在现实开发过程中,上面两个现象都存在。如何杜绝上述现象,或少发生上述现象,是研发过程管理的主要内容。所以就此问题提出我的观点。

  2、解决办法

  程序员:项目管理人员要检查程序员的单元开发与测试计划,看一下单元测试时间安排是否合理,给程序员提出合理的意见,分配给程序员的测试用例首先要保证程序员能够测试完成。测试用例的内容不要过多或过少,否则都没有任何意义。测试用例所覆盖的内容要进行裁剪,不能与测试人员使用的测试用例完全一致,确保程序员对深层次问题的测试。目前的情况是,测试人员编写的单元测试用例直接就给程序员用,内容篇幅过大、复杂、不易理解等。在测试过程控制方面,所有参与人员执行测试用例跟踪流程,直至被执行完毕。项目管理人员员严格检查该过程,跟踪测试用例执行情况,确保程序员执行单元测试用例。目前情况是,程序员不清楚执行哪些测试用例;不知道该如何执行;随意执行测试用例;测试人员替程序员执行等。

  测试人员:在单元测试阶段,测试人员的核心任务是单元验证,也就是对程序员测试过的新的功能点进行验收测试。该阶段由于测试人员的验收工作与程序员编写代码工作是迭代进行的,就避免不了对测试人员验收测试的进度影响。比如:程序员在开发新功能,此时测试人员验收时发现错误。程序员可能就会将错误暂时搁置,放在后面处理。过了很长时间,测试人员的测试环境早就没了,再修复此问题的时间成本就会很高。这种现象在目前非常普遍。尤其是项目开发的前期。所以合理安排开发任务与BUG修改是单元测试阶段程序员必须认真做的功课。对该阶段测试过程的控制包括四个内容:其一是程序员编写新功能;其二是程序员单元测试;其三测试人员验收测试;其四是程序员修改BUG。这四项内容交替进行,实际运作时很复杂,只要处理不好,就会出现相互牵制情况出现,造成人员时间的浪费,严重影响开发周期。

  需求人员:在单元测试阶段,需求人员的核心任务是进行功能验证,检查程序员实现的功能是否符合需求设计。需求人员的验收工作理论上应该在测试人员验收之前,这样做的好处是一旦需求设计改动,测试人员验收工作就要重做。但目前实际情况是需求人员与测试人员几乎同步进行,甚至需求人员在测试验收工作之后做。这样的开发进程是有问题的,所以在该阶段测试过程中,需求何时介入,安排任务时必须注意,尽可能在测试人员测试验收之前做。

  综上所述,在单元测试过程中,涉及的角色有程序员、需求人员、测试人员、项目管理员等,其中工作量最大的应该是程序员。他们既要编码,又要保证代码质量。所以程序员编码与测试的过程控制最重要。需求人员与测试人员的工作次序不要搞乱。需求人员尽早进行功能验证,会对测试人员验收测试有很大好处。项目管理人员对程序员的开发与测试要加强监控,监控质量直接影响后续工作。

版权声明:51Testing软件测试网及内容提供者拥有本文全部版权,未经明确的书面许可,任何人或单位不得对本文进行复制、转载或镜像,否则将追究法律责任。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号