News
新闻中心

软件开发服务如何降低成本?

添加时间:2018/9/17 9:50:33  浏览人数:  

自动化测试的困难


为什么要开展测试的自动化,其中有一点原因就是节约成本,但是在实施测试自动化时又有可能面临高成本,所以很多项目可能因为自动化测试产出比很低而直接选择放弃它。


为什么测试自动化会面临高成本呢?首当其冲就是测试人员需要具备较强的编程能力及自动化测试框架设计能力,而且还需要掌握不少的HTML相关知识或者UI元素定位知识;其次测试自动化可能会面临大量的重复的测试脚本及维护工作。


针对这样的问题,是否可以通过工具及合理的工作方式来调节转变呢?


通过各种思考及实践,本文作者与开发人员共同在Selenium框架下研究了一个工具及相应的工作方式,使用该工具可以在降低QA能力需求的情况下,在团队协作中比较轻松的实现自动化测试。


如何改进自动化测试的开展方式呢?


先工具将selenium封装,准备selenium相应的环境等。


提取了常用的页面测试操作(click,input,check等等,只占selenium中的很少一部分),此部分在“Packaged Operation”中实现,且只有工具代码更新后才能更改,目前应该可以满足80%的使用场景(根据二八定律,20%的页面测试操作在80%的现实场合中会被用到)。

对于红色标注的“Located Element”是最复杂和最需要技术能力部分,该部分需要开发人员或者高级QA去完成。对于被测试页面,将需要使用的元素的定位脚本汇总保存,并给每个元素命名(该命名会被QA使用)。这里最好能够遵循以下2条规范:元素的命名要具有代表性且易理解;元素的定位脚本最好能够适应页面变化,减少维护工作量。


完成测试用例之后,就可以根据需要组成不同的测试计划,例如可以将最常用的功能测试用例组成冒烟测试计划,可以将所有的测试用例作为回归测试计划。


实践


对于该工具及开展方式,在DFS-200项目中进行了实践(该工具还支持WPF桌面软件的自动化,但是有很多定制化功能),参见以下文件内容。


开发人员和高级QA共同完成的“Located Element”文件。

该文件为xml格式文件,比如登录的UI中用户名和密码的元素,分别命名为username和password,他们定位方式为通过Id定位。在另外一个页面中有个按钮为“Go”, 没有Id,但是可以通过XPath的定位脚本和名称进行关联,这样QA就可以直接使用”username”,”password”,”signin”, “Go”设计测试用例。


该工具封装了常用的用户操作,参见如下例子,QA必须按照封装的操作编写符合规范的测试步骤 :


A设计的测试用例参见如下,比如input username “testuser“即为向页面的用户名输入testuser。


将多个测试用例组合即为测试计划,下图中每一行的文本文件即为一条测试用例,测试用例可以被多个测试计划重复使用,比如login测试用例。


不管如何改进,自动化测试必须还要面对两个工作,调试和维护。


该工具无法向IDE那样单步调试,但是可以在运行时反馈错误信息,根据错误信息也很容易定位问题。根据实践,80%的错误信息来源于测试用例不规范,10%来源于元素定位脚本不正确,其他来源于测试用例和定位脚本配合使用不当或者超时等。


使用该工具会减少不少的维护工作,如果页面发生了变化,只需要修改元素的定位脚本即可,已有的测试用例和测试计划可以照常使用。


改进方向


增加检查功能,增强错误信息反馈,检查解析脚本和测试用例的正确性,降低测试用例设计错误率,提高调试效率。

增加重复执行失败测试用例功能,提高因为环境导致的执行失败的误判率。

集成Selenium的Grid,增加兼容性测试及并行执行测试用例功能。

集成Selenium衍生测试工具Appium,增加Android,IOS移动端自动化测试功能。

增强桌面应用程序的自动化测试功能,支持较少定制化控件的软件。



上一篇新闻: 微信公众号的信息流要改回来吗?
下一篇新闻: 微信营销对企业的作用

联系我们

服务热线:0316-2636468 13831639196
联系人:李女士 邮编:065000
地址:河北省廊坊市广阳区浙商广场A座503-505室|【营业执照】| 冀ICP备16000861号-6| 冀公网安备13100302000967号

项目展示

友情链接:廊坊短视频营销 | 廊坊小程序开发 | 华美橡塑| 廊坊APP开发| 北京APP开发

版权所有@ 2005-2021 河北盛秋网络科技有限公司-廊坊微信营销,廊坊小程序开发,廊坊APP开发(安卓+苹果APP定制开发),廊坊网络推广,微信朋友圈广告,廊坊网络公司 冀ICP备16000861号-6