毫无疑问,自动化测试已改变了软件开发的工作方式。如果不是Selenium自动化测试,测试人员将花费大量精力进行各种各样的无错误Web应用程序测试。
有一部分人认为程序最终将为他们完成越来越多测试工作,最终使整个测试过程自动化。但,这并不代表可以一劳永逸!这并不是说他们做不到,越是依赖完全的自动化来完成测试工作,自动化会产生不容忽视的维护成本。
现在我们知道维护自动化测试需要成本,即使在用户界面中进行很小的更改,也有可能导致测试失败。这要求Selenium自动化测试具有理想的维护过程。在本文中讨论维持Selenium自动化测试的最佳实践方法。
需要维护的测试类型
测试维护包括两大类过程。首先是当已经进行的测试可能开始失败时。另一类是依赖性的变化。让我们分别看一下这两种情况。
测试失败时
测试失败的第一反应是什么?首先,确定故障背后的原因。有时软件中可能存在BUG,其他原因可能是程序稳定性、环境稳定性和行为改变等。在这种情况下,修复代码或更新测试会解决这些问题。有时,测试团队必须同时做这两项。
依赖关系的变化
运行的Selenium自动化测试需要有一定的前提支撑,比如依赖的工具和框架。当项目更改基础依赖的内容时,需要对这些工具的某些元素涉及到测试用例以及基础组件进行更改。如果需要更新工具基础结构,则此类测试自动化维护还包括对工具进行培训的开发人员。
自动化测试维护的问题
当谈论web端测试自动化时,第一个想到的就是Selenium自动化测试。毫不夸张地说,Selenium自动化测试统治着web端测试自动化领域。但是问题在于它使用了JavaScript
。难点由于JavaScript
依赖于定位符,因此随着元素的变化,定位符也会随之变化,如果没有及时更新,结果就会发生错误。
创建脚本时,至关重要的是要确定要与之交互的元素的选择器。运行测试脚本时,可以在页面上找到此选择器。但是随着UI的发展和变化,页面元素可能发生变化。为了防止测试失败,更新这些测试用例很重要。
Selenium自动化测试维护是一个持续的需求。解决现有测试中的问题可能会浪费测试人员的宝贵时间。毕竟他们还需要在这段时间内创建新的测试,完善测试套件并完成更多工作。
开发如何支持测试自动化维护
Selenium自动化测试团队已经承担了保持工具和脚本更新的责任。因此,随着用于检查特定元素的Selenium
自动测试用例数量的增加,团队的工作量将越来越大。
对于传统的瀑布式模式,质量团队负责维护测试脚本,开发不会参与进来。但是,敏捷的框架模糊了各个团队直接的界限。敏捷方法论包括跨职能的开发团队和敏捷测试人员。如果构建检查失败,则由开发团队负责。他们可以构建,执行自动浏览器测试,修复和重新测试。
敏捷测试人员知道需要更新什么。他们还知道各种错误修复以及导致问题的原因。他们还可以向程序员询问影响测试的代码更改。这样,测试信息将立即可用。因此,可以在收到消息后立即对其进行操作。
及时维护测试自动化
一旦遇到测试失败,立即开始寻找补救措施就很重要。这要求开发团队制定Selenium自动化测试维护计划。这包括弄清楚谁会做什么,并相应地分配任务。
如果没有计划,则整个工作量加重团队成员的负担。即使是熟练掌握这些技能的测试的手中,也有可能使员工负担过重。这增加了员工倦怠的风险,很可能导致拖延,一个步骤拖延就会像滚雪球,可能导致整个敏捷测试失败。
- 郑重声明:“FunTester”首发,欢迎关注交流,禁止第三方转载。更多原创文章:FunTester十八张原创专辑,合作请联系
Fhaohaizi@163.com
。