软件测试工程师之路——自动化新手要知道的事儿
当选择开始从事自动化测试时, 坑肯定是少不了。在你深入研究自动化框架和自动化实践的过程中,这种错误会时常伴随着你。虽然可以从错误中学习,但最好还是从别人那里学习,以防患于未然。在进行自动化测试项目时,自动化测试工程师承担着巨大的责任和压力。错误的签字确认轻者导致上线失败,重者可能用户流失和声誉损失。下面是总结的新手自动化测试工程师常见的几种错误,供需要的人参考,从中学习如何避免。
我功能测试都下班打游戏了你自动化还在加班!Python自动化测试人避坑指南!这有一份自动化测试人避坑指南,拿走不谢!
A:在必要时自动化
当我承担了为我的Web应用程序自动化Selenium测试脚本的职责时,我感到非常高兴,因为这是我对团队的第一份工作,感到很紧张。第一印象总是至关重要的,我希望我的完美。我被要求自动化Web应用程序的一个模块,我对此感到很轻松。但是,我想做更多的自动化工作,所以我从自己的理解中选出了另一个模块。我碰到了死胡同,却没有自动化。现在,尝试自动化新模块没有错。我在没有咨询我的前辈的情况下试图自动执行该模块是错误的。原来,该模块并不是要自动化的,因为集成系统可能会导致多个错误和误报。我花了我的时间在那个永远不会自动化的模块上。我什至最终忽略了我的应尽的职责。
许多新手自动化测试仪会发生这种情况。当您学习自动化测试时,您可以尝试在每个项目中引入自动化。这不是必需的。您也许可以使某件事自动化,但这是否足够可行?众所周知,自动化可以节省时间和精力,但回答以下问题绝对重要:为什么需要使该项目自动化?
B:定义范围
定义要执行的测试范围是非常必要的。当我是一名新的自动化测试人员时,我试图测试所有内容并使每个测试自动化。问题是,尽管可以成功地自动化所有测试,但它既不实用也不可行。首先,代码的许多部分不需要经常测试,我们可能需要花费大量时间来开发仅用于这些代码的框架或脚本。
例如,在使用Selenium测试网站时,自动化网站的每个元素并在其上运行脚本是没有用的。这不值得花费时间和精力。其次,使一切自动化,会增加测试自动化的百分比,使您感到自己做得非常出色,这是不对的。在数据看起来可能不错,但这不是必需的。定义测试的范围,并仅考虑可行的代码以提供及时的实际价值的自动化测试。
C:明智地选择自动化测试工具
- 如何选择正确的自动化测试工具
- 如何选择API测试工具
作为刚入行自动化测试人员,另一个最常见的错误是没有选择正确的自动化测试工具。一个项目包含着重于不同测试目标的许多组件。这些目标应分为不同的工具,可以帮助更有效地实现该目标。例如,如果要测试网站的API,则最好选择Postman
、jmeter
、httpclient
等,但如果要确保在不同浏览器中完美呈现Web应用程序,则在线Selenium Grid
是进行自动跨浏览器测试的最佳选择。
这种情况的直接方法是不要跳到软件上,然后尝试通过该软件解决问题。首先,找到问题,然后找到合适的工具。
D:与其他测试人员良好沟通
测试团队中有很多人。所有这些人都具备不同的技能。例如,某人擅长业务测试,而某人擅长功能测试。但是,这没有理由不与他们讨论任务的进度。协调是加快产品交付的关键。确认谁在从事什么工作,他们在使用哪些工具,他们对哪种用于自动化测试的编程语言感到满意。
这肯定会帮助您对自动化测试脚本进行故障排除。因此,万一发生问题,您会知道该在哪里解决问题,或者更确切地说找谁解决问题!
了解您的团队还可以帮助您在需要时进行管理。正如最后一点所讨论的,一个项目可能需要使用不同的工具来实现合并的目标,最好让测试人员使用他愿意使用的工具。
重要的是不要强迫任何人随意使用任何任务和工具。为此,您始终可以在开始测试过程之前进行空运行。如果没有适合的西装,则需要进行相应的培训。
E:检查投资回报率
- 您如何使用Selenium来计算自动化测试的投资回报率?
仅仅将测试人员的薪水作为与整个测试过程相关的成本,这是一个非常低级的错误。在最初的时候很多人做过同样的事情。显然,事实并非如此。例如,让我们考虑您要对网站执行跨浏览器测试。测试人员的薪水显然是成本的一部分。如果您的团队不知道这种类型的测试或与之相关的任何工具,那么您需要通过培训他们来提高他们的技能。这产生了额外的费用。此外,您需要具有正确的自动化工具或框架来执行自动化浏览器测试。
- 如何在跨浏览器测试中提高效率
现在,您可能正在考虑选择像Selenium
这样的开源框架。这样,您可能不必花费太多,对吗?嗯,就像其他所有东西一样,Selenium
不是完美的。Selenium
自动化测试面临一些挑战。主要问题在于可伸缩性。如您所知,Selenium Grid
将帮助您执行并行测试,这很棒。但是,您只能通过提供Selenium Grid
的计算机中安装的浏览器来测试您的网站。现在,您可能必须跨移动和台式设备的不同操作系统测试数百种浏览器和浏览器版本。自行执行此操作将非常耗时且昂贵。
F:理智对待开源项目
开源工具每天都在流行。他们在用户,支持和社区方面确实很棒。开源软件的最好之处在于,全球有大量的开发人员参与其中,从而可以更快地进行改进。但是,这并不意味着您仅选择开源工具。开源工具的开发者也需要像其他人一样的钱。因此,更多时候您可能找不到带有功能的开源软件,即使很少有开源提供大量功能,也无法告知需要多长时间!软件错误是定时炸弹,而社区支持程度较低的开源工具将很难找到这些错误的修复程序。您可能最终意识到,这是您作为自动化测试员的大错误。
因此,始终建议将具有大型社区支持的开源框架用于应用程序自动化测试。因此,在开始之前,不要只将目光投向开源类别。如果开源可以满足您的要求,那很好,但如果不满足,那么您就需要拥有合适的软件,有开发能力可以自己定制功能。
G:无代码自动化终将被替代
尽管无代码自动化测试工具的门槛较低易于上手,但它们无法帮助您建立自动化测试人员档案所需的相关技能。作为一个初学者,他们很好地帮助您入门,但是随着您在测试自动化事业中的发展,您会意识到他们并没有您期望的那样有帮助。而且,如果您认为仅凭无代码自动化就可以使复杂的Web应用程序自动化,那么将打错特错,将会花费大量时间而且没有结果。
在这些类型的工具中,可靠性是另一个大问题。最终,您需要学习代码以调试自动化测试套件执行出错的地方。同样,如果您要处理一个复杂的网站,那么您将找不到无代码的自动化测试工具,它没有您想要的那么灵活。建议不要逃避代码,而是要熟练学习它。最重要的是,这将是您简历的魅力。因此,请确保避免作为自动化测试人员的常见错误。