自动化测试用例设计

发表于:2011-10-14 10:37

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

 作者:散步的SUN    来源:51Testing软件测试博客

  序言:自动化测试中,自动化测试用例是一个重点中的重点,个人以为,到底如何去定位自动化测试用例设计的形式和发展是决定自动化测试成败的关键,根据一些研究和看法,我写了一个自动化测试用例设计的一个大概情况,当然一家之言而言,当然,大家在测试过程中,接触过自动化测试的,肯定就接触过自动化测试用例,其是自动化测试脚本本身也是一种自动化测试用例,看看以下的情况大家遇到过么,希望大家有什么想法,提出来吧。

  一、自动化测试用例应用

  手工测试用例是针对手工测试人员,自动化测试用例是针对自动化测试框架,前者是手工测试用例人员应用手工方式进行用例解析,后者是应用脚本技术进行用例解析,两者最大的各自特点在于,前者具有较好的异常处理能力,而且能够基于测试用例,制造各种不同的逻辑判断,而且人工测试步步跟踪,能够细致的定位问题。而后者是完全按照测试用例的方式测试,而且异常处理能力不强,往往一个自动化测试用例运行完毕后,报一堆错误,对于测试人员来定位错误是一个难点,这样往往发现的问题很少。所以,根据其各自的特点,需要将两者有很好的定位:手工测试是在软件版本前几轮测试的重点,目的是验证功能,发现问题;自动化测试是应用在后几轮版本,保证软件版本模块修改或者添加新功能后,没有影响开始的功能模块(因为软件中,各模块之间的接口以及类、函数方法等的互相引用,也是容易出问题的地方)。

  二、自动化测试用例设计发展

  1、自动化测试用例设计发展前期

  记得,当时的自动化测试开展是针对测试设备设计一套测试环境系统,用于自动化例行测试,根据此,专门撰写了一套自动化测试用例,并转化成自动化测试脚本。之后整套系统都失败了,失败原因包括:

  a、系统太过于庞大,测试用例也过于繁琐,每次测试运行下来,测试结果都夹杂着一大堆各种错误,有可能是产品问题,有可能是脚本问题,也有可能是用例问题,这样下来,测试人员每次运行一遍都要面对大量的问题,维护的几次就放弃了,问题越来越多,根本没办法去定位,这样反而浪费了大量的成本和时间。

  b、搭建的一套测试环境系统,各个产品功能模块都互相联系在一起,都互相有影响,容易造成问题。

  c、更重要的是,由于是单独搭建的一套测试环境系统,其自动化测试用例与手工测试用例没有太大关系,这样就造成了其自动化测试很难对手工测试进行辅助。

  2、自动化测试用例设计发展前中期

  这时,自动化测试用例来源于手工测试用例,首先,自动化测试根据手工测试用例进行转换而来(举个例子:CLI测试时,自动化测试用例是根据手工测试用例的步骤,将其需要输入的CLI命令和回显进行填写),之后,自动化测试脚本人员根据其自动化测试翻译为脚本。这样做的好处就是手工测试用例与自动化测试用例的结合,保证了自动化测试的明确性,后期的改进还包括

  a、将自动化测试用例根据手工测试用例进行了分层,把一些共性功能和全局变量抽象到了更上一层,保证复用性和降低维护性。

  b、设计的自动化测试框架的管理。

  经过一段时间之后,问题还是很大,主要问题在于

  1)前期为了追求自动化测试覆盖率,往往忽视了自动化测试用例的质量,大家想想,出产一个自动化测试项目,得经过手工测试用例—自动化测试用例—自动化测试脚本三个阶段,而自动化测试用例是手工测试人员来撰写,因为其懂业务;自动化测试脚本是由专门的自动化测试人员撰写,但是这导致了一个项目出产的周期长(需要经过两个阶段,而且还要反复调试),而且由于经过了两个阶段,所以伴随问题也多了,特别是接口这方面,往往由于两者的沟通和认知问题,使得自动化测试项目的发布后还隐藏大量问题,往往使测试人员疲于调试和维护。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号