我了解的的自动化

发表于:2016-1-22 08:12

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

 作者:邱王鼎    来源:51Testing软件测试网原创

  最近没事看了一些自动化的文章,有些地方我同意,有些地方有些看法。所以想投一下稿,第一次写文章,请见谅。本文章不涉及具体的操作,只是讲讲心得。
  先说说我,我做原来是做自动化外包的,用的QTP,做了差不多5年的测试。和我其他人解释自动化的时候,最直接的方式就是:你们看到的自动化就是按键精灵,不过他比按键精灵仔细,可以做我们想要做的东西,而且还可以出文档。说道QTP我想说的就是,录制是QTP的精华,不过要做自动化项目。只用录制是远远不够的。
  为什么要引入自动化,网上有很多说法,具体我就不说了。我自己说一下我做过的自动化项目的结构,系统对大家有帮助。
  我们一个自动化的包有这些:对象库、代码、函数库、数据、组装好的流程。如果项目经费充足的话,可以买一套框架。
  对象库就是放对象库的,我们放对象库一般放得很少,如果是web一般就会放两次,浏览器+第一次页面。其他的都不会用到,如果第一次页面有变动量很大的话,可能对象库都不要用,都是用描述性编程。写的时候可能会难写,但是后期维护很好。
  代码,重点说说代码。我看过有些人做的代码有一类是分得很细,会把每个控件都封装,交给业务人员来组装,我不同意这样的观点。我们一般封装是一个大的模块进行封装。例如:登陆模块,购物模块,支付方式模块、发货模块、退换货发起模块、审批模块等等,差不多就这几个模块,不要过于细分,细分可能会造成代码的冗余。
  函数库,主要是放一些对控件特殊的处理,数据库处理,一些通用的逻辑处理。特别要说明的时候,我会把很多逻辑处理存放于函数库。让我的代码里面尽量少出现if。
  数据,就不用多说了,我的做法是,吧所有用到是数据都放在表格中,而且这边表格数据一般情况下是不用修改的,如果是用户名之类的,没错都要修改的数据,我会放在TXT中,这种数据要尽量少一般不会多过5个数据,这些数据是每次运行脚本的时候都要修改的数据。
  组装好的流程,也可以说成是案例。不过不像案例那要细。手工测试可能会把一次点击当成一个案例,自动化案例不需要那要细分,流程中就包含了这些,举例说购物的流程中包含这几个部分:一件商品的流程、多件商品流程、支付宝支付、自己的钱包支付、后台不出库、后台出库。把这几个部分做一个矩阵就有8条流程,足够覆盖购物流程。
  前面都是铺垫,这一次重点说说代码。我们写代码一般都是通用性很强。例如:选择支付方式模块中有支付宝、自己的钱包、货到付款。这三种方式,应该吧三种方式都写着一个文件里面。而不是分开写,这样有助于后期的维护。只要通过输入的数据对他进行区分就好。例如:excel中支付方式为:支付宝,我的脚步就会运行支付宝部分的脚本。
  而且在脚本中会放入很多的校验和动态等待的脚本,感兴趣以后可以讲讲这部分。
  现在很多人不喜欢这样做,他们喜欢把每个模块更加的细化,脚步有自动化人员进行编写。然后由业务人员进行组装。我不同意这样的做法,原来我们也做过这样的细分,不过效果不佳。业务人员只关心他们的业务,他们在来模块的时候,经常忘记某个模块,而且在填写数据的时候,如果没有下拉数据,他们很难在没有页面的情况下填写数据。我们的做法是自动化还是由专门的自动化人员进行操作。这样可能人力方面增加,不过这样做可以有效的利用自动化的模式对系统进行测试。
    ... ...
   查看全文内容,请点击下载:http://www.51testing.com/html/65/n-3704165.html
  版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • sterson
    2016-1-22 08:31:53

    很中肯,从实际项目工作出发,基本同意此观点,赞一个。欢迎到我空间下载试用框架,框架设计基本符合您的思路,也方便扩展

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号