中小企业如何开展自动化测试?

发表于:2015-6-09 11:45

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

 作者:何彦霖    来源:51Testing软件测试网原创

  51Testing小编:
  您主导开发的UTP平台,可以说是公司在自动化发展过程中最重要的推动力。想必很多想引入自动化测试的中小型企业都非常关心这个产品前期是如何规划的,能给我们简单介绍一下么?
  专家何彦霖:
  在前期规划的时候,想到的有三点:
  一是必须满足公司的业务测试纬度需求,主要包括UI ,接口,移动客户端,三大方向;
  二是最好有现成的开源框架能利用起来,可以减少大量的开发成本,毕竟对于大多数中小企业来说,有一个专业的测试工具开发团队是一种奢望;
  三是对以后平台未来的扩展有足够的空间以及灵活性,另外从我个人的想法来说,开源框架(如selenium\appium)的语言选择上,更加倾向于使用常用的开发语言,比如JAVA,也是基于这个原因。
  中小型企业开展自动化测试主要面临的困难大致会有两个:
  一是人力成本方面的原因,很少会有专门的测试工具研发小组,甚至在测试岗位划分上连自动化测试工程师的职位都没有,大部分都是测试人员一篮子全包,这种情况需要测试人员  在完成自身其他任务的前提下,兼职来做这部分的事情。
  二是目前行业内测试人员对开发语言熟悉程序相对来说会比较弱,想要把自动化做一个平台、体系或是做一些接口测试,都需要用到开发语言,那么测试人员就需要一个语言学习过程或是通过部门层面寻求开发人员的支持,这对于部分高级管理层来说,可能会觉得人力成本没有花在刀刃上。
  我还想说明一点就是,自动化测试构建的是一种防御体系,所以它主要针对老功能,在项目不断的迭代更新中保证已有的功能不出错,所以在新功能的测试上(特别是UI方面),自动化短时间内代替不了手工测试(主要是对UI感观方面原因),当然如何针对接口测试或是单元测试,那效果还是杠杠的。从我自己这几年做自动化的过程中的感受来说,UI的自动化在项目中回归测试的实际应用往往也是没有想像中那么美好,测试脚本的维护代价跟实际效果没有成正比,当然这也不是完全否认UI自动化的价值,任何事情都有两面性,只是如果要在接口跟UI有个优先级排序的话,建议接口测试优先。
  在初期形成做测试平台这个想法的时候也借鉴参考了其他公司的已有测试平台,下面简单介绍下目前的自动化平台,主要分成三个部分(简单分层):
  第一部分是自研UTP平台目前负责的事情主要是测试项目管理,测试日志收集分析,测试报告生成,测试任务调度,测试任务执行以及其他测试数据展示、结果通知等等。
  第二部分Testlink主要负责测试计划管理、用例管理、数据驱动、以及简单的测试脚本(测试动词)编辑,testlink这一部分的功能也是我们目前极力想集成到UTP平台上的,努力中……我们同样遭遇着前面提到的中小企业做自动化的困境。
  第三部分是自己封装的常用API,以jar包的方式提供给测试项目使用,其中包括testlink,selenium,appium等开源框架的二次封装(如:取测试计划中的testlink用例,解析testlink中的简单脚本,设置测试执行结果,多线程执行用例等等)、UTP平台测试日志框架相关接口以及在java 中数据库链接池,数据库操作等等(把最常用的一些公用类抽出来放在框架里面)。 新的测试项目只需要把jar包导入进来,就可以直接干活啦。当然这对于测试的同学来说,对JAVA的熟悉程度还是有一定要求的。
  网上现在有种用testlink做自动化框架的方案,就是把实际的测试执行脚本当成附件上传到testlink来调用,我并不是很赞同这种做法,因为这做到了用例统筹,但是没有做到数据驱动的细化分层。我们现在的做法是通过解析testlink用例中每个步骤的内容,通过动态调用的方式调用步骤里指定包、类、方法名,并传入方法名中指定要传的参数。这样做的数据驱动分层更科学跟灵活。
  以下是UTP的简单架构图,可以给大家参考一下,欢迎指教交流。
本文收录于《51Testing专访何彦霖—深度揭秘金融领域测试如何打造自动化》。
版权声明:本文出自于《51Testing专访何彦霖—深度揭秘金融领域测试如何打造自动化》。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号