技术开发 频道

如何进行测试自动化的成本估算

测试框架设计与工作量评估

  针对某个测试工具的测试框架而言,商业的和开源的都有很多,例如QTestWare、SAFFRON、EMOS等。当然也可以自己构建自动化测试框架。这些框架可以节省很多脚本编写、调试和维护等方面的工作量。但是需要注意根据被测试应用程序来进行修改和个性化改造。

  框架的一般特点是:

  1、在项目中是可移植、可扩展、可重用的。
  2、根据被测试应用程序版本的变更能很容易地增减功能。
  3、尽可能与测试工具是松耦合的关系。
  4、扩展的错误恢复系统和异常处理,用于捕获那些未被处理的错误,让测试脚本可以顺利地运行。
  5、提供步骤日志和错误信息,让调试变得简单,让测试结果的报告更加清晰易懂。
  6、让数据驱动易于实现,让测试数据和脚本的耦合度降低。
  7、让每次测试运行的范围可以很容易地控制和配置。
  8、测试自动化组件与测试管理工具、缺陷跟踪工具和配置管理工具轻松整合。

  因此,测试框架的采用与否,设计合理与否都与自动化测试的实现难度、工作量有密切的关系。一般而言,采用合理的测试框架对于减轻自动化测试脚本的编写难度和工作量都有积极的作用。

  但是需要注意的是,测试框架需要随着脚本的开发进程不断地更新。如果有很多的脚本在并行开发的话,框架的维护难度也会增大。因此,这些方面也是工作量评估需要考虑的方面。

测试脚本编写工作量的评估

  在前面,我们大概介绍了测试用例的选择、框架设计和开发对自动化测试的影响以及工作量的评估。到了脚本开发和调试、执行的阶段,仍然有不少的工作量,例如下表所列的:

  我们可以通过分析和评估,然后填写上面表格,从而得到每个脚本的总体成本。
  
  前面提到过,测试框架是自动化测试工作量评估中不可忽视的部分,在设计框架时需要考虑工作量,在测试脚本中使用框架时也会有一定的工作量,例如对于关键字驱动(Keyword driven)框架,采用关键字驱动的方法编写脚本会带来不错的效果,但是同时也要注意到构建和使用、维护一个关键字驱动测试框架的工作量是很大的,主要体现在设计和编码上。因此建议不要在小型的项目中使用关键字驱动的方式,尤其是自动化测试工程师的编码水平有限的情况下。

小结

  本文略为介绍了一些自动化测试实现过程中可能碰到的问题,以及如何评估这些问题带来的工作量,为自动化测试团队开展自动化测试前对项目实现自动化测试的成本估算提供了一些参考。

  总的来说,自动化测试的总体成本计算需要包含以下方面:

  1、测试需求收集和分析。
  2、框架设计和开发。
  3、测试用例开发(如果已有的手工测试用例不适用的话)。
  4、脚本开发。
  5、整合测试和基线的维护。
  6、测试管理。
  
参考资料:

  1、《TEST AUTOMATION EFFORT ESTIMATION》 - Babu Narayanan
  2、EMOS: http://emos-framework.sourceforge.net/
  3、QTestWare: http://www.itestware.com/ctest/index.php?option=com_content&view=article&id=88:qtestware&catid=29:qtp&Itemid=37
  4、SAFFRON:http://www.itestware.com/ctest/index.php?option=com_content&view=article&id=62:webqtp-saffron&catid=35:testing_is_believing

0
相关文章