自动化测试工具本应该使事情变得更加简单。淘汰以前依靠QA专家的手工测试,改为使用自动化测试工具执行的脚本预测试可以节省时间和金钱。采用自动化测试是不言自明的,对吗? 理论上,自动化测试案例非常有意义。然而,多年编写软件测试的过程中,我没有听到一个测试管理者说过自动化测试可以节省时间和金钱,并提升软件质量。
我一遍一遍地听到的却是相反的看法:自动化测试项目比其最初遇到的情况更具挑战。该项目需要脚本技术,这正是一些测试人员所缺乏的。建立工具的最初阶段以及编写测试脚本是自动化项目要求最严格的阶段,成功的项目都是按照一定计划安排而完成的。而自动化测试项目却没有达到这样的标准。
不要误会,我并没有针对自……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
自动化测试工具本应该使事情变得更加简单。淘汰以前依靠QA专家的手工测试,改为使用自动化测试工具执行的脚本预测试可以节省时间和金钱。采用自动化测试是不言自明的,对吗?
理论上,自动化测试案例非常有意义。然而,多年编写软件测试的过程中,我没有听到一个测试管理者说过自动化测试可以节省时间和金钱,并提升软件质量。
我一遍一遍地听到的却是相反的看法:自动化测试项目比其最初遇到的情况更具挑战。该项目需要脚本技术,这正是一些测试人员所缺乏的。建立工具的最初阶段以及编写测试脚本是自动化项目要求最严格的阶段,成功的项目都是按照一定计划安排而完成的。而自动化测试项目却没有达到这样的标准。
不要误会,我并没有针对自动化测试的意思。我也不是说未来自动化不会有所发展。实际上,我所交谈过的QA专家都对未来自动化测试技术的发展给予了肯定,他们也认为采用自动化测试是必然的。相当一部分测试是针对计算机而设计的,而不是针对测试人员。
在本期Quality Time中,我将讨论自动化测试项目面临挑战的四方面原因。了解这些挑战有助于QA管理者避免一些常见的误区,准确评估自动化测试,对即将推出的项目有一个更实际的预期。
原因1:自动化测试项目是属于软件开发项目。
未能理解这个理念是一个大误区。团队中没有能编写代码的成员是不可能建立自动化测试工具的。SearchSoftwareQuality的常驻专家Lisa Crispin分享了她在制定自动化测试策略的经验:“自动化测试就是软件开发。要考虑软件开发中需要注意的事项,这样才能进入产品代码的编写阶段。”
这对于缺乏编程技能的测试人员来说是一个重大的挑战。掌握这些技能而不是回避需求才能克服挑战。在今年年初的2013年STAREAST上,Coveros的首席执行官Jeff Payne在软件测试读者面前说到:“学习如何进行脚本测试,就是学习一种类似于Ruby的脚本语言。”他认为,企业正寻找会自动化技术的测试人员,而那些没有掌握编码技术的测试人员最终将会被甩在后面。
原因2:只有成功实现手工测试后,才能成功实施自动化测试。
任何手工或者自动化测试项目的成功,最终都取决于能否向用户提供高质量的软件。根据Mike Kelly专家所说,如果你不知道要测试什么内容,那么你就没有准备好实施自动化测试流程,同样也不知道何时使用自动化软件测试工具取代手动测试:“我看过许多团队专注于低成本的自动化技术,而他们首先需要关注的是测试正确的事情。”
Kelly提到的常规让我想起艺术生在绘画时经常要遵循的规则:只有当你掌握了描绘现实事物的能力,才能达到描绘抽象事物的水平。也就是说,只有掌握了主题本身才能变换主题。
原因3:自动化测试并不意味着在测试中加入自动化技术。
测试专家Hans Buwalda在2013年STAREAST上发表的“Lightning Strikes the Keynotes”演讲中认为,对自动化测试的一个重大的误解是自动化测试非常容易。Buwalda是位于加州圣马特奥的软件测试服务公司LogiGear的首席技术官,他说:“但是我仍然期待能使软件测试变得较容易的自动化项目。”他认为自动化测试要比手工测试难得多。你不能在现有的测试流程中简单地添加自动化测试。相反,你必须重新考虑整个方法。哪些程序最适合自动化测试?哪些程序应该保留手工测试?Buwalda认为,创造性的思维才能解答这些问题。他对观众说:“当转向使用自动化测试时,不要丢弃了你的创造性思维。”
原因4:避免自动化测试自动操作。
当项目团队成功地完成了建立自动化测试的初始阶段,在一遍又一遍运行相同的测试过程中会出现一种倾向。北卡罗来纳州的RGalen咨询集团测试专家Robert Galen认为,那种倾向是一种误区。更快地测试较多的程序并不会使软件质量提升更高。Galen就ROI自动化测试项目破坏了组织测试这个案例解释道,正确的进行测试以及不断地重新评估哪些测试是正确的,才能开发质量较高的软件。
换句话说,任何成功的自动化测试项目都是不完善的。你可以不断的查找哪些测试将会有助于开发最好的软件,并将这些测试一一记录下来。这种方法有助于确定较合适的自动化测试工具。但是,当你以自动模式开始运行相同的测试时,就会出现问题。
相关推荐
-
2016年管理好软件测试事业
从尝试定义测试开始听上去不错,至少可以作为起点。但是,测试通常听上去更像笔头工作,是一个低价值的角色,很可能被外包。本文将分享一些掌控软件测试事业的方式。
-
面对软件测试未来的变化
不幸,如今很多软件测试职位都 处于两难的境地。在更快开发并且发布应用的巨大压力之下,企业都会促使测试人员更新他们的技能。
-
六步加速移动应用测试
在移动企业,如果你测试和发布app的速度不如竞争对手快,那你就要落后了。哪怕是最古板的保险公司都知道,在移动领域速度会杀人。
-
基础设施即代码以及持续交付的其他前提条件
持续交付的成功取决于四个前提条件。在本文中,专家聚焦于三种实践:自动化测试、基础设施即代码,以及过渡环境。