软件自动化测试实施难点分析

顾问文章
                        软件自动化测试实施难点分析 
                              汉捷咨询/杨学明
    随着国内企业软件开发及测试水平的提升,许多企业开始尝试开展自动化测试的应用,以提高测试效率和测试质量。虽然在国外自动化测试工具应用已经很普遍,但国内许多企业对于软件自动化测试的理解还停留在表面上,没有深入的理解到企业实施自动化测试所要具备的条件以及自动化测试本身的局限性,导致自动化并没有给企业带来多少实际的价值,反而还浪费了资源。 下面是两个企业推行自动化失败的案例:
都在空城  案例1:L公司是中国一家专注医疗设备与软件研发的高科技企业,产品包括超声,放射,检验和医疗IT。医疗IT软件产品包括超声工作站、放射工作站、叫号工作站、信息系统等。整个软件产品线有80多名工程师,测试工程师有15人。以前公司的测试大部分是手工测试,现在由于软件的版本发布较多,测试团队很难跟上开发的节奏。产品线王总到测试部经理李华,看是否能开展自动化测试,并要求在下个季度完成自动化技术的预研和实践。测试部
经理李华经过与部门两名自动化测试工程师的讨论,决定使用QTP和Winrunner作为测试工具,经过三个月的预研之后,工具可以使用了,但在使用过程中遇到了以下的问题:
1)自动化工具在录制脚本的时候很多对象无法识别。
2)由于软件的需求变更较多,程序界面变更较快,原来录制的脚本很难重用。
3)软件程序的BUG很多,使用测试工具时出现很多的异常,无法顺利跑完脚本。。。。
  案例2: 全国初中数学联赛K公司是一家主要从事网络游戏咨询服务及相关游戏增值业务,是全球著名,中国最大的游戏增值服务提供商之一,主要提供游戏点卡、游戏装备、虚拟货币、网游账号等网上交易服务。该公司开发团队采用的开发模式为敏捷开发,每周需要发布一个版本,对软件测试团队的要求较高,不但需要快速的测试每一个新版本,而且要出BUG,这样对于本来偏向于手工测试的质量保证团队是一个非常大的挑战,负责质量的陈副总为了提高测试的效率,直接从IBN公司挖了一个自动化测试高手刘军过来,作为整个测试部门的负责人,意在提高公司自动化测试技术和软件质量水平。但刘军经过6个月的努力,发现自动化测试在K公司根本派不上用场,大部分的项目带是采用手工测试,原本想把测试效率提升一下的刘军,在6个月之后,选择离职。。。。。究其原因,有以下几个:
1)刘军虽然是自动化测试高手,但对于K公司的业务不太熟悉。
2)敏捷开发过程中自动化测试很难派上用场。
3)企业对于自动化能带来的收益过于短视,没有给予一定的时间进行技术积累。
尸体腐败    以上两个案例,是目前中国软件企业遇到的普遍性的问题,一方面想提高软件测试的效率,一方面又不想增加测试资源,想走捷径,比如通过一些自动化工具进行辅助测试等等。上个月笔者在北京测试公开课上也遇到了一家中国互联网企业的研发总监,他们面临的问题跟以上两家企业的问题基本上类似,想开展自动化测试但不知从何下手,如:自动化测试团队与开发人员的关系,自动化测试人员的绩效指标,自动化测试团队究竟需要领导哪些支持?自动化测试的人员如何培养?自动化测试能做到什么程度。。。。。。。
带着这些问题,笔者根据以往在华为和阿里巴巴两家著名公司的测试管理经历,和近期对多家企业进行自动化测试辅导的经验,分别从“技术、组织、流程、人”四个方面对自动化测试实施难点进行简要的分析:
1)从技术方面,目前国内从事自动化测试的工程师还不多,这跟国内一种浮燥的开发氛围
有关系。因为企业开展自动化测试,不但需要购买工具,还需要招聘具备开发能力的测试工程师,并且回报周期较长,有的需要半年,有的需要一两年,这一点是很多企业无法实现的。国内自动化测试做得比较好的企业腾讯、阿里巴巴、百度等公司,无不投入了较高的成本,自动化测试技术包括测试工具开发和自动化测试工具应用两类。 测试工具开发是指开发适合自已产品的测试工具,像一些脚本语言PHP、PYTHON、TCL/TK、SHELL等等,主要用于集成测试和单元测试;另一种自动化测试技术是指自动化测试工具的应用,主要是应用各种成熟的测试工具,如QTP,LR,Silktest等等, 这类技术只需要掌握工具即可。由于国内“重开发、轻测试”思想依然存在,很多企业不愿花钱购买自动化测试工具和招聘高素质自动化测试人才。导致测试水平低下,测试跟不上开发的情况屡见不鲜。 企业要想实施自动化测试,必须先过技术关,案例1中的L公司显然技术的积累不够,没有成功自动化测试经验的技术人员很可能导致自动化测试失败。
2)组织方面,很多公司都建立了系统测试部,但真正有独立自动化测试小组的公司廖廖无几,有的公司也试图让系统测试人员来从事自动化测试,这是一个误区。因为系统测试人员往往偏向于黑盒测试, 他们对于代码逻辑和模块接口方面了解非常少, 很难从事测试工具的开发和自动化测试工具的应用。汉捷咨询认为, 自动化测试小组应独立于测系统测试团队,
连云港核废料>台账 自动化测试小组更多的职责在于提高测试用例的自动化率, 和维护自动化测试脚本。测试工具开发小组可以独立于测试工具应用小组, 因为前者更偏向于开发, 这个团队的身份其实跟开发团队没有什么两样,他们负责收集自动化工具开发需求,并进行设计开发和验证。后者主要负责工具应用, 他们需要把工具应用到公司的业务中去。自动化测试工具应用小组可以参与一部分的系统测试工作,以撑握和熟悉具体的业务知识, 更好的提高软件自动化率。因此,在组织方面,汉捷建议企业开发过程中自动化测试和手工测试分开, 自动化测试分为两个小组, 一个是做工具开发, 一个是自动化工具的应用,两个小组如果人数不多,可以合二为一, 如果人数超过一定规模, 如10个以上, 则可以成立两个单独的小组。
3)在流程方面, 自动化测试需要有相关测试流程的保障。自动化测试不再跟手工测试一样, 在软件打完包之后进行测试, 自动化测试在编写脚本或写测试用例的时候需要跟开发人员人间作深入的沟通, 了解软件的逻辑实现和模块之间的接口, 如UI的控件实现方式变化之后,开发人员应及时通知测试开发人员, 对测试的脚本进行调整和维护, 对开发人员提交文档的规范性有更高的要求。案例2中的K公司采用了敏捷开发模式, 对于自动化测试工具的应用,显然不太适合, 因为频繁的UI变更,将导致测试用例的维护工作量较大, 还不如做手工测试, 针对K公司这种情况, 汉捷建议除了使用自动化测试做一些后台的测试之外,前台依然采用手工
测试。
4)在人方面,自动化测试如何得到保障呢? 最近笔者统计了一下目前研发职位的招聘情况,软件测试人员的招聘职位较多,尤其是高级测试工程师供不应求, 究其原因, 目前很多企业已经意识到了测试这块短板, 但缺乏高水平的测试工程师, 懂开发的工程师都不愿从事测试, 从事测试的工程师基本不懂开发。。。。。这是一种不好的现象, 在华为公司,许多测试工程师同样懂软件开发,在进入公司前需要考查C++基本编程,而且,测试人员的工资待遇不比开发人员差,这就为公司开展各项自动化测试提供了一个基本条件,人员可以得到保证。国内除了几家大公司如华为,中兴,迈瑞,阿里,腾讯等之外,许多公司的测试人员都是不懂开发的,很难真正的推行自动化测试。。。。。

本文发布于:2024-09-23 03:13:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/124467.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测试   开发   企业   公司
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议