• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

浅谈软件测试之自动化测试的脚本框架

发布: 2009-10-08 16:30 | 作者: 网络转载 | 来源: 领测软件测试网 | 查看: 78次 | 进入软件测试论坛讨论

领测软件测试网 浅谈自动化测试的脚本框架

  一、 引子
  随着这几年测试的重要性被越来越多的公司认识到,测试行业也如火如荼的发展起来,测试不再是可有可无,谁都可以做,也不再是比开发矮一个台阶的职务了,而象征测试的一些特色的技能也被更多的人关注和重视.其中自动化测试就是一个特殊的领域.随着技术的发展,自动化测试已经不是少数几个大公司专用的测试技术,很多公司都开展了这方领域的学习和尝试,整理这几年在论坛上发贴的关注度不难发现,从前的问题很多是询问工具下载地址,破解方法和入门学习手册,而今不少是在谈论自动化测试的构建,这是因为大家在实践中会遇到了一些瓶颈,经常会发现脚本维护的工作量远远高于手工测试.这样的效率不是大领导们希望看见的,也是自动化测试必须解决的问题,于是很多人开始对脚本的管理和可重用性,可扩展性进行很多坚持不懈的研究.

   二、 介绍
  社会上有一些主流的自动化设计框架的理论和介绍,本文笔者将结合工作使用的silktestQTP,介绍对自动化框架的认识和在项目的实践的体会,很多观点只代表个人意见.
  在此笔者将自动化脚本分5层,分别如下:
  测试用例
  提取层
  应用层
  普通层
  工具层
  三、 解释
  以下笔者将介绍这几个层的概念.
  测试用例层
  该层就是我们实现测试用例的脚本.
  在此我把脚本分为两类,一类叫做主脚本,另一类叫做子脚本,从字面上理解,子脚本是实现各个功能点的脚本,当然也会提取出一些共用的方法,我们会放在提取层中,下面会提起.而主脚本就是根据业务流程的需要来控制各个子脚本,来实现脚本间的数据传递.
  题外话,我们会在主脚本中使用数据驱动,来控制脚本的实现各种场景的流程.在此个人感觉silktest的test suites 和test plan的概念是一个很现成的管理脚本的方法,而在QTP中,我们可以建立一个main 的action来实现这样的功能.
  1、提取层
  本层是一个项目脚本可维护性的关键,我们会把项目共用的常量,通用的方法,函数放在该层.而这些方法和函数往往是这个自动化项目中最难设计的一块,不同的项目可能使用的方法和思路也不一样.项目中很大的一部分工作量会消耗在这里.比如我会把脚本进入的初始化的方法放在这里,该方法将帮我配置我的运行环境,从服务器上拷贝数据,当然也会针对一些已知的或者或未知的异常情况进行处理,来恢复正常的下个脚本的运行.在silktest中,我们会放在INC文件下,而QTP我们可以自己写一些VBS的文件等外部文件来存放和维护.
  2、应用层
  我们的对象库就是放在本层,做自动化的人都清楚对象库的好坏直接决定了该项目自动化的成败,相对于QTP有强大的对象库管理的功能, silktest相对就是一个比较原始和底层的对象管理模式,更像使用描述性编程的QTP,当然两者之间还是有很多差异.在此笔者建议假如是大规模的项目,不妨专人负责对象库的维护和管理,该人需要很高的自动化经验,他的责任不仅仅在项目初期把底层的对象库建立起来,在中期和后期对对象库的维护,更多的是针对项目的特殊情况对工具层提供的方法进行继承和扩展.比如我们可以对close的方法进行扩展,添加自己的LOG日志,甚至可以结合普通层中对于性能的方法进行一些性能数据的采集等.在项目的实践过程中,会有事半功倍的效果的.
  3、普通层
  这层是衡量一个公司自动化水平的标志,这里集合了很多项目的经验,是一个通用的方法的集合,通常的我们会把自己的LOG日志的方法,对数据库的操作等等,当然也有一些通用的函数方法放在这里,比如说上面说到的采集性能数据的方法,捕获异常的方法等等.
  4、工具层
  该层就是工具提供的一些方法,比如click,dbclick等
  此外无规矩不成方圆,文档,备注的维护也是不可忽视的重点,一般的自动化测试都会持续半年以上,所以制订相应的流程,文档规范化是一个好的项目必备的要求.
  四、 结束语:
  本文只是笔者自己的一些经验的分享,希望可以抛砖引玉的引起大家的一起学习进步,毕竟在国内自动化的普及和深度都在初级阶段,更需要我们的一起努力来提高.有时间更希望能拿一些具体的例子来讨论这个话题.
  此外本文的题目也让笔者煞费苦心,因为自动化框架的范围很大,而我只是对其中的一部分进行了一些自己的总结,只是实在想不出什么更好的题目,暂且就这样定吧!谢谢。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 脚本 框架 软件测试 自动化


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网