自动化测试平台化策略 之 平台质量策略

发表于:2011-12-20 09:59

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

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

  序言:在应用软件开发自动化测试方面的产品也有一段时间了,某一天,与一位研发中心好友聊天,其问到:你们的自动化测试产品有人测试吗?我不禁哑然,随着自动化测试水平的提高和自动化测试的深入,才发现,自动化测试已经完全作为一个成熟的软件产品,但是这个成熟的软件产品却没有一个很好的测试流程去保证其质量。

  一、自动化测试平台质量方面

  自动化测试平台从里到外,可以包括几个部分,当然这也是一个自动化测试的发展过程,从小到大的一个过程,而这个几个部分所要关注的质量方面为:

  1、自动化测试用例/脚本

  记得,从最开始的只有脚本化的自动化测试时,那时候脚本的质量是自动化测试的一个最大的问题,测试人员往往要花费大量的时间去分析到底是产品问题还是脚本质量问题,而脚本质量的问题的保证不仅需要测试开发工程师的能力决定,还需要其产品的变更性作为保证;而由于开发工程师不是很懂业务,这就造成了脚本在测试方面有很大的难关。而一般的保证其脚本质量的措施是:测试开发人员自测—测试人员使用测试—测试人员提出问题—测试开发人员解决问题—测试人员使用测试(反复性),这样反复的过程就容易造成大量的维护成本,而自动化测试与其他软件产品一样,也有自己的生命周期,所以很容易造成了其自动化测试脚本的淘汰。所以,自动化测试脚本的质量保证是要靠测试人员,而不是主要靠测试开发人员。

  2、自动化测试框架

  框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。而自动化测试框架的作用,我认为,是为了保证自动化测试产品(脚本)的可维护量、可重用性等,即保证脚本的使用质量。而在自动化测试框架开发过程中,涉及的问题主要是在于其框架的定位、框架的异常(包括脚本的异常以及框架本身的异常)的处理、框架的结果产生方式等。

  3、自动化测试平台

  自动化测试平台作为一款完全的自动化测试产品,其涉及模块很多,所以,其重点在于保证平台的模块之间的交互性,而其主要问题也在于各个模块的交互性方面的问题。

  二、自动化测试质量保证方法

  1、自动化测试脚本

  自动化测试脚本的质量保证有两个方面:

  1)一个良好的生产自动化测试脚本的生产框架,且将逻辑操作和变化封装,由测试开发人员去保证脚本本身质量。

  2)然后将业务组成部分交由测试人员。由测试人员去保证测试脚本的业务质量方面。

  2、自动化测试框架

  自动化测试框架的质量保证方面:

  1)个人觉得,首先将自动化测试框架的层次划分清楚,每个层次对应的关系要明确,例如:举几个简单的例子:CLI的脚本框架,就要区分为:底层的脚本生成的方法(生成脚本库,包含最基本的框架方法)—中层的脚本库—上层的业务用例(由脚本库构成)等;界面的测试框架,一般区分为:控件搜索层或者定位层—中层的控件方法层—上层的业务用例。

  2)完成框架的定位和分层之后。则需要建立一套好的框架异常处理机制,即能够很好的区分是框架本身的异常,还是脚本的异常。则测试人员只关注脚本异常方面,测试开发人员则要关注框架本身方面。

  3、自动化测试平台

  1)在保证了单个框架应用都没有问题后,则由一个测试平台去贯穿,所以,在开展自动化测试平台时,其模块的交互,即接口方面的定义是重点。保证了接口方面,则其平台的稳定性则能大大保证

  2)在开发过程中,需要很好的利用开发的一些模式和原理,个人在开发过程中,有一些经验:设计先行(定义好外部接口、内部模块之间的接口、内部模块之间的数据结构、实现代码的层次要分清楚,例如在界面开发上,多采用MVC的思想,保证其动态的变化性;数据库或者外部未见的读取则可以定义一个持久层,之后要定义一些模式:单一模式和工厂模式一般用的比较多;也不能为了模式而模式,这样反而增加了代码的冗余性)—编码实现(实现过程中要注意首先搭建好基本框架、每隔一段时间要注意集成测试)。

  三、自动化测试质量保证的几个策略

  总体来说:

  1、因为测试人员与测试开发人员的技能的区别性,所以想办法的将职责细分,各自保证各自擅长部分的质量,要充分利用好广大测试人员的资源。

  2、建立一套完善的测试自动化相关产品的测试流程,其也需要问题的回归和收集,但其重点在于产品本身,而不是脚本。所以自动化测试脚本需要作为其自动化测试框架的产物。

  3、自动化测试产品开发是很重要的,一定要站在软件实现角度,即要有良好的软件外部和内部接口、良好的软件设计框架,即保证软件的高内聚、低耦合等原则。

  4、个人觉得,自动化测试产品的质量保证方式可以结合敏捷等一些开发方式中的优势,例如:迭代式开发,持续集成等;因为自动化测试是一个与测试人员共舞和拥抱变化的开发过程。但是其需要一个懂测试业务和精通开发的人员把握,

  所以,个人觉得,自动化测试的人才是一个能够结合测试流程和开发流程的人才。

版权声明:本文出自 散步的SUN 的51Testing软件测试博客:http://www.51testing.com/?382641

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

相关链接:

自动化测试平台化策略 之 “即插即用”型策略

自动化测试测试平台策略 之模块交互策略

自动化测试平台化策略 之迭代式开发策略

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号