随着敏捷和 DevOps 等新时代项目开发方法逐渐取代旧的瀑布模型,测试需求在业界不断增长。测试人员现在正在与开发人员一起工作,自动化测试在许多方面极大地取代了手动测试。如果您是自动化测试领域的新手,刚雇用您的组织将期望您快速,开箱即用,并能够检测到错误或提供没人想到的解决方案。但是,仅凭测试的基础知识,您将如何成为一名成功的,不同于前任的测试自动化工程师?成为 2019 年成功的自动化测试员的技能是什么?让我们找出答案。

1.自动化测试员技能——编程语言

当我开始担任手动测试人员时,我不喜欢编码。但是,当我逐渐进入自动化领域时,对我来说很清楚,如果没有对编程语言的一些基本了解,就无法编写逻辑自动化测试脚本。

对编程有一点了解,不仅可以简化那些自动化脚本,还可以帮助您改善与开发人员的沟通。不仅如此,一旦单元测试完成,您还可以参与深入的功能测试。现在,要获得自动化测试人员的 #1 技能,有两个不同的方面,需要多少编程知识取决于您的角色以及几年后您在行业中的位置。方面是:

设计框架

您需要对 C#,Python,Java,Perl,SQL,XML 以及 HTML 和 CSS 具有透彻的理解和编码技能。虽然,您应该精通哪种语言取决于项目中开发人员使用的编程语言。例如,如果项目在 Ruby 上,则您至少应具有 Ruby 基础知识的基础知识。以下是对测试人员有用的顶级编程语言。

创建测试脚本
在此阶段,您是否应该具有编程知识,取决于所使用的自动化框架。如果您的组织使用 SpecFlow 或 Cucumber 进行测试自动化,则脚本可以用简单的英语编写,您无需考虑后端逻辑或编码。仅对 Selenium Web 驱动程序有足够的了解就足够了。但是,如果您使用的是 UFT 或 QTP,则应该对编程有全面的了解。这是用于跨浏览器测试的 Selenium WebDriver 教程。

2.自动化测试员技能–出色的手动测试技能

要成为熟练的自动化测试人员,您还需要在手动测试方面有敏锐的眼光和经验。记住以下几点!

人眼就是一切

在测试过程中,只要看起来有些东西,人眼就可以轻松地检测到它。使用自动化脚本很难检测到视觉问题。从实时用户的角度查看软件可帮助测试人员识别 UI 和可用性测试以查找错误,而这是自动化脚本中难以编程的功能。

某些测试只能手动完成

自动化是一台机器,一台机器只能执行所要执行的操作。复杂的测试需要大量的准备和计划,并且有一定的界限。然后,脚本将遵循协议并相应地测试应用程序,即席测试可帮助测试人员回答 “当我遵循 X 而不是 Y 时会发生什么” 之类的问题。它可以帮助测试人员使用开箱即用的方法进行思考和测试,而这很难在自动化脚本中进行编程。甚至可视化跨浏览器测试需要手动方法。您可以通过在真实的浏览器和设备上进行测试,甚至可以通过使用基于云的跨浏览器测试工具(例如 LambdaTest)(甚至可以更好地进行检查)来​​手动检查问题,而不必依靠自动化脚本来找出视觉差异。在数千种不同的浏览器 - 设备 - 操作系统组合中无缝测试您的网站

自动化测试可能包含漏洞

自动化脚本就像另一段代码。而且,无论您的编码员多么出色,错误始终存在。在整个测试过程中手动操作而不是完全依赖于自动化将确保执行脚本后不会出现误报或误报作为测试结果的情况。

某些方案不适用于自动化测试

如果测试阶段要求您检查应用程序的手势或触摸功能如何工作,该怎么办?您无法通过自动化来做到这一点。该过程将太昂贵,结果可能会有些不准确。再次需要手动方法。到那时,测试人员完成了此类用户控制方案的自动化脚本的编写,手动测试人员完成了整个测试以及错误修复。

您对整个问题都有个想法

是的,自动化测试确实节省了大量时间。如果对同一场景进行更广泛的测试并执行重复测试,它是自动化测试的理想选择。但是,为了从理论上理解确切的问题,需要手动测试技能。拥有手动测试经验的自动化测试人员可以通过从最终用户的角度进行思考来轻松理解问题的根源。

3.自动化测试员技能–自动化工具专业知识

在当前的敏捷时代,行业要求速度和质量。全球的利益相关者和客户都希望组织在短时间内交付高质量的无错误应用程序。这就是为什么自动化测试正在兴起的原因,并且作为一个熟练的自动化测试员,每个组织都希望您在以下自动化工具方面拥有知识和经验。

Selenium

Selenium 自豪地支持所有主流浏览器,已成为自动化测试领域的家喻户晓的名字。几乎所有主要的浏览器都确保 Selenium 是它们的本机部分。随着 WebDriver 的引入,Selenium 确保了基于浏览器的 Web 应用程序自动化测试的完美执行。无论您是新手还是经验丰富的测试自动化工程师。您应该具有硒方面的知识或工作经验。另外,它是开源的!如果您已经在研究 Selenium 的任何变体,那么您会发现 LambdaTest 是一个非常有前途的平台,可以在云上执行自动化脚本。LambdaTest 通过在线 Selenium 网格在 2000 多种浏览器上为 Selenium 自动化测试提供并行测试执行。

惠普– UFT

HP 以前曾使用 QTP 这一工具,但它仍然是业界最好的工具,可确保顺利执行应用程序的自动功能和回归测试。如果您是回归测试人员,那么您应该具有知识和经验以及 UFT 认证。

SoapUI

测试 Web 服务和 API 的完美工具。该工具同时支持 SOAP 和 REST 服务,并且如果您的项目需要对 API 进行自动化测试,则您至少应了解该无头工具的用于功能测试的开源版本。

RFT

Rational Functional Tester 是 IBM 内部开发的自动化工具。无论您的应用程序使用什么技术,RFT 都支持.Net,Java,SAP,Adobe Flex,Visual Basic 和 Dojo。如果您要进行功能测试或回归测试,您会发现学习此工具非常有用。

Appium

在当前移动第一时代,许多组织正在开发复杂的移动应用程序。Appium 是最好的开源软件,可使任何混合或本机移动应用程序实现自动化测试。此外,它与所有操作系统(例如 Android,iOS 或 Windows)兼容,并且必须了解移动应用程序测试是否属于您的领域。

Apache JMeter

最初,该工具旨在测量应用程序的性能和负载测试。在当前版本中,此工具还用于 API 性能和服务测试。作为最受欢迎的第三大自动化测试工具,您的组织将期望任何熟练的自动化测试人员都具备对此的知识和经验。即使您没有经验,由于该工具是开源的,您也可以自己开始学习。

4.自动化测试员技能–了解业务需求

如果您的汽车或摩托车有问题,并且将其带到服务中心,那么在检查车辆之前,机械师会询问您当前所面临的问题,在上次维修期间修复的所有旧车问题,以及您以前是否更改过任何零件。只有在那之后,机械师才能提供有关问题的确切原因和解决问题所需的解决方案。

同样,在测试阶段开始之前,熟练的自动化测试人员必须从前端和服务层全面了解应用程序。他们必须知道

但是,提到的要点是非常基本的,其复杂性取决于应用程序的性质以及开发方法。

5.自动化测试员技能–自动化工具故障排除

流行的测试自动化工具非常大且复杂,在项目开始使用它们之前,它要求测试人员具有有关工具本身的详细技术知识。在我以前的项目中,我经常遇到诸如

6.自动化测试员技能–具有测试管理工具的经验

自动化测试的主要目标是减少整个测试过程的时间复杂度。如果您是自动化测试人员,则应该具有测试管理工具方面的经验,因为,

7.自动化测试员技能–了解不同的开发方法

请记住,您的组织不仅希望您具有测试知识。您还应该了解不同的开发方法是如何工作的。如果您的项目遵循的是 DevOps 或 Agile,请不要指望团队领导告诉您该怎么做。及时交付您的工作,并做好每天参加 Scrum 会议的准备,以防止当利益相关者或经理对您当前的工作阶段提出一些关键问题时出现任何尴尬的情况。了解开发方法还可以帮助您在组织层面上推动您的职业生涯。

结论!

这些自动化测试仪技能将帮助您在当今市场上获得非常高的价值。特别是如果您对所有最新的自动化工具以及 CI / CD 工具(如 Jenkins 或 GitLab)具有适当的了解,那么您不仅会成为组织中宝贵的资源,而且还将成为行业中的宝贵资源。上面讨论的自动化测试人员技能将帮助您从初学者晋升为主管或架构师级别的资源。因此,努力工作,表现出对事业的奉献和热情,很快,您将在行业中其他自动化测试员的技能上脱颖而出。


核心技术

灵魂鸡汤


↙↙↙阅读原文可查看相关链接,并与作者交流