随着敏捷和 DevOps 等新时代的项目开发方法逐渐取代旧的瀑布模型,行业对测试的需求正在增加。测试人员现在正在与开发人员一起工作,自动化测试在许多方面都大大取代了手动测试。如果您是自动化测试领域的新手,那么刚刚雇用您的组织会期望您速度快、思维敏捷、能够检测错误或提供没人想到的解决方案。但是只有基本的测试知识,你怎么能成为不同于他们前辈的成功的测试自动化工程师呢?
#1 自动化测试员技能 – 编程语言..!
当我作为一名手动测试员开始我的工作时,我不太喜欢编码。但是,当我逐渐转向自动化领域时,我很清楚,如果没有对编程语言有一些基本的了解,我是没有办法写出符合逻辑的自动化测试脚本的。
有一点编程背景不仅可以简化这些自动化脚本,还可以帮助您改善与开发人员的沟通。不仅如此,一旦单元测试完成,您还可以参与深入的功能测试。现在,要获得自动化测试人员的第一技能,有两个不同的方面,需要多少编程知识取决于您的角色以及几年后您在行业中的位置。
设计框架
您需要对 C#、Python、Java、Perl、SQL、XML 以及 HTML 和 CSS 有透彻的理解和编码技能。虽然,您应该精通哪种语言取决于项目中开发人员使用的编程语言。例如,如果项目是基于 Ruby 的,那么您至少应该具备 Ruby 基础知识的基础知识。
创建测试脚本
您是否应该具备编程知识,在此阶段取决于使用的自动化框架。如果您的组织正在使用 SpecFlow 或Cucumber 进行测试自动化,则脚本可以用简单的英语编写,您不必考虑后端逻辑或编码。只有对 Selenium Web 驱动程序有足够的了解就足够了。但是,如果您使用的是 UFT 或 QTP,则您应该具备全面的编程知识。
#2 自动化测试员技能——优秀的手动测试技能
要成为一名熟练的自动化测试人员,您还需要在手动测试方面有敏锐的眼光和经验。记住以下内容!
人的观点是最重要的
每当测试时有些东西看起来有点不对劲,人眼可以很容易地检测到它。使用自动化脚本很难检测到视觉问题。从实时用户的角度查看软件有助于测试人员识别 UI 和可用性测试以发现错误,这是自动化脚本中难以编程的功能。
有些测试只能手动完成
自动化是一台机器,一台机器只做它被告知要做的事情。复杂的测试需要大量的准备和计划,也有一定的界限。然后脚本遵循协议并相应地测试应用程序,即席测试帮助测试人员回答诸如“当我遵循 X 而不是 Y 时会发生什么”之类的问题。它可以帮助测试人员使用开箱即用的方法进行思考和测试,这种方法很难在自动化脚本中进行编程。甚至视觉测试需要手动方法。您可以通过在真实的浏览器和设备上进行测试,甚至更好地使用基于云的跨浏览器测试工具来手动检查问题,而不是依赖自动化脚本来找出视觉差异,它允许您在数千种不同的浏览器-设备-操作系统组合中无缝测试您的网站
自动化测试可能存在漏洞
自动化脚本就像另一段代码。不管你是多么优秀的程序员,bug 总是存在的。在整个测试过程中进行手动操作而不是完全依赖自动化将确保在执行脚本后没有误报或误报作为测试结果。
某些场景不适用于自动化测试
如果测试阶段要求您检查应用程序的手势或触摸功能是如何工作的,该怎么办?你不能通过自动化来做到这一点。该程序成本太高,结果可能有些不准确。手动方法再次成为必要。当测试人员完成编写此类用户控制场景的自动化脚本时,手动测试人员完成整个测试以及错误修复。
你对整个问题有了一个想法
是的,自动化测试确实可以节省大量时间。一个更广泛的级别并执行相同场景的重复测试,它是自动化测试的理想选择。但是,为了在理论上理解确切的问题是什么,需要手动测试技能。同样具有手动测试经验的自动化测试人员可以通过从最终用户的角度进行思考来轻松理解问题的根源。
#3 自动化测试员的技能——自动化工具的专业知识
在当前的敏捷时代,该行业需要速度和质量。全世界的利益相关者和客户都希望组织能够在短时间内交付高质量的无错误应用程序。这就是为什么自动化测试正在兴起,作为一名熟练的自动化测试人员,每个组织都希望您具备以下自动化工具的知识和经验。
Selenium
Selenium 自豪地支持所有主流浏览器,已成为自动化测试领域家喻户晓的名字。几乎所有主流浏览器都确保 Selenium 是它们的原生部分。随着 WebDriver 的引入,Selenium 确保了基于浏览器的 Web 应用程序自动化测试的完美执行。无论您是新手还是经验丰富的测试自动化工程师。您应该具有 Selenium 方面的知识或工作经验。另外,它是开源的!
HP – 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 自动化测试员的技能——了解业务需求
如果您的汽车或摩托车出现问题并将其带到服务中心,则在检查车辆之前,机械师会询问您当前驾驶时遇到的问题,您在上次维修期间解决的任何旧车问题,以及您之前是否更改了任何部件。只有在那之后,机械师才能提供一个解决方案,说明问题到底是什么,以及你需要做什么来修复它。
同样,熟练的自动化测试人员必须在测试阶段开始之前从前端和服务层彻底了解应用程序。他们必须知道
1、开发团队使用的编程语言。
2、应用程序旨在由最终用户运行的平台或设备要求。
3、用于存储后端信息以及用户数据的数据库。
4、连接到系统的API 或 Web 服务以及它们的使用方式。
5、一旦应用程序上线,最终用户或利益相关者所期望的所有特性和功能。
6、在测试阶段开始时是否执行了任何手动测试,如果是,如何执行?
7、手动测试人员在测试应用程序时所花费的预期时间。
8、在上一个版本中是否有任何未修复的关键错误以及它如何影响业务。
9、需要完成测试阶段的预期交付日期。
10、浏览器差异
除了主要浏览器使用越来越多的开源浏览器,根据年龄组或地理位置差异太大,熟练的自动化测试人员应该关注网站的浏览器兼容性测试。测试人员应该有足够的知识来创建浏览器兼容性矩阵,以及使用 Selenium WebDriver 进行自动跨浏览器测试,或者使用基于云的平台来确定他正在处理的站点是否在所有目标浏览器。然而,所提到的要点是非常基本的,它们的复杂性取决于应用程序的性质以及开发方法。
#5 自动化测试员技能——自动化工具故障排除
流行的测试自动化工具非常庞大和复杂,它要求测试人员在您的项目开始使用它们之前对工具本身有详细的技术知识。在我之前的项目中,我经常遇到这样的场景
1、该脚本在测试结果中显示了一些错误,但该应用程序根据业务需求运行良好。
2、脚本显示成功,但应用程序抛出了一些实时错误。
这些在业界被称为误报和误报,主要发生在测试人员在配置测试脚本方面没有足够的知识时。他们只是继续使用模板并期望测试能够成功运行。如果您想成为一名成功的自动化测试人员,您应该具备配置工具的详细知识,以及在出现误报和误报等情况时如何对它们进行故障排除。
特别是,如果您是测试主管,您必须确保应用程序的架构与用于运行自动化测试的工具兼容。尝试使用与应用程序不兼容的工具将导致测试用例不成功和无法预料的错误,这些错误可能难以排除。
#6 自动化测试员的技能——使用测试管理工具的经验
自动化测试的主要目标是降低整个测试过程的时间复杂度。如果你是一名自动化测试人员,你应该有一些测试管理工具的经验,因为
1、它们很灵活,允许用户记录任何错误并根据错误对项目的影响程度按照优先级对其进行排序。此外,它的可扩展性允许团队成员之间轻松交换信息。
2、如果您是自动化测试负责人,那么在测试管理工具方面的工作经验将帮助您跟踪测试阶段如何从一个阶段过渡到另一个阶段。您将能够维护一个仪表板,您可以在其中根据使用阶段记录测试用例,从而确保在未来项目中的可重用性。
3、如果您是测试人员,您可以在工具中报告您的活动;如果您是测试主管,您可以实时报告在您手下工作的资源以及他们在做什么。这有助于分析当前项目中正在发生的事情并加快整体活动,因为在跟踪资源时不会浪费时间。
4、最后但并非最不重要的一点是,您可以不用担心安全问题。拥有测试管理工具将确保有关测试阶段的所有重要信息都是安全的,并且只能由您的团队和管理层访问。
#7 自动化测试员的技能——不同开发方法的知识
请记住,您的组织不仅希望您具备测试知识。您还应该了解不同的开发方法是如何工作的。如果您的项目遵循 DevOps 或敏捷,不要指望您的团队负责人会告诉您该做什么。及时交付您的工作,并为每天的 Scrum 会议做好准备,以防止当利益相关者或经理就您当前的工作阶段提出一些关键问题时出现任何尴尬的情况。了解开发方法也将帮助您在组织层面推动您的职业发展。
加分!– 认证是一项额外的优势
认证不仅可以让您的个人资料在您申请新工作时脱颖而出,还可以提高您的知识基础,并最终帮助您在测试应用程序时采用开箱即用的方法。以下是一些流行的自动化测试认证,从长远来看可能会对您有所帮助。
软件测试认证助理、ISTQB – 基础级别、ISTQB – 高级 – 测试经理、ISTQB – 高级 – 测试分析师、适用于 UFT 版本 12.0 的 HP HP0-M102、认证软件测试工程师、Selenium 101、Selenium Advanced
结论!
自动化测试人员的这些技能将帮助您在当今市场上获得非常高的价值。尤其是如果您对所有最新的自动化工具以及 Jenkins 或 GitLab 等 CI/CD 工具有适当的了解,您不仅会成为组织中的重要资源,而且还会成为行业中的重要资源。上面讨论的自动化测试员技能将帮助您从初学者晋升为主管或架构师级别的资源。所以努力工作,对你的职业表现出奉献精神和热情,很快,你将在业内其他自动化测试人员的技能方面脱颖而出。现在开始在世界上最快的自动化测试工具上进行免费测试。
卓码软件测评是一家[ 具备CMA、CNAS双重资质 ]的专业做软件测试的第三方软件测试服务机构, 可根据您的需求提供各类软件测试服务,并出具合格有效的软件测试报告。点击→→可了解测试报价
部分文字、图片来自网络,如涉及侵权,请及时与我们联系,我们会在第一时间删除或处理侵权内容。负责人:曾菲 电话:4006070568