软件研发

【中培课堂】将软件自动化测试当成一种享受

2016-07-19 16:22:41 | 来源:中培企业IT培训网

近几年,Web技术发展势头迅猛,浏览器市场群雄争霸、各种UI组件库也如雨后春笋。中培伟业《软件自动化测试与持续集成实践》培训专家陆老师指出,现在互联网上已经很少有仅支持一种浏览器,并且不基于任何可复用的UI组件库进行开发的应用了。

UI组件库的广泛采用在提高开发效率的同时,也极大的提升了用户体验。基于UI组件库之所以能快速开发出功能强大的页面,是因为UI组件库可以自动生成海量、结构类似的HTML源码。

开发人员是幸福的,因为这一切对于他来说完全透明。于是只剩下自动化测试人员独自面对这样“恐怖”的页面源码。

业界常见测试工具的脚本本质上还是针对页面源码的,因此原本就举步维艰的自动化测试在开发使用UI组件库之后变得雪上加霜。

因此即使开发人员没对代码做任何改动,测试脚本也会因为UI框架的升级变得无法回放。

控件ID是自动生成的,甚至在每次刷新页面后都会变化。大部分自动化测试工具在“录制”脚本时,都会优先使用ID定位策略,自动生成的ID会导致这种关键的控件定位策略变得无效。UI框架在各种浏览器下自动生成页面源码可能不完全相同,为了在不同浏览器下“看起来一样”,实际的DOM结构有时也可能是不同的,因此所录制脚本的浏览器兼容性会比较差。

技术的发展是为了让生活变得越来越轻松。从用户的角度来看确实如此:Web应用的功能覆盖范围越来越广、操作越来越方便、界面越来越美观。

为什么自动化测试人员没有感觉工作变得轻松呢?

要回答这个问题,首先要分析“用户使用软件”与“自动化测试软件”之间的一些重要差异:

用户使用软件时只关注界面上能“看”到的,而不用总是“查看页面源码”。用户会更关注整体业务的正确性、稳定性,而不仅仅是每个孤立页面功能的正确性;

用户对页面样式、响应时间、浏览器兼容性要求越来越高; 如果我们能像用户使用软件一样进行自动化测试,测试就会变得更敏捷。

最后陆老师总结道,自动化测试中最关键的两部分是“脚本”和“断言”。至此,自动化测试脚本的编写、维护以及执行已经可以跟上敏捷开发的步伐了。

标签: 自动化测试