当我开始担任手动测试人员时,我不喜欢编码。但是,当我逐渐进入自动化领域时,对我来说很清楚,如果没有对编程语言的一些基本了解,就无法编写逻辑自动化测试脚本。
对编程有一点了解,不仅可以简化那些自动化脚本,还可以帮助您改善与开发人员的沟通。不仅如此,一旦单元测试完成,您还可以参与深入的功能测试。现在,要获得自动化测试人员的#1技能,有两个不同的方面,需要多少编程知识取决于您的角色以及几年后您在行业中的位置。方面是:
您需要对C#,Python,Java,Perl,SQL,XML以及HTML和CSS具有透彻的理解和编码技能。虽然,您应该精通哪种语言取决于项目中开发人员使用的编程语言。例如,如果项目在Ruby上,则您至少应具有Ruby基础知识的基础知识。以下是对测试人员有用的顶级编程语言。
创建测试脚本 在此阶段,您是否应该具有编程知识,取决于所使用的自动化框架。如果您的组织使用SpecFlow或Cucumber进行测试自动化,则脚本可以用简单的英语编写,您无需考虑后端逻辑或编码。仅对Selenium Web驱动程序有足够的了解就足够了。但是,如果您使用的是UFT或QTP,则应该对编程有全面的了解。这是用于跨浏览器测试的Selenium WebDriver教程。
要成为熟练的自动化测试人员,您还需要在手动测试方面有敏锐的眼光和经验。记住以下几点!
在测试过程中,只要看起来有些东西,人眼就可以轻松地检测到它。使用自动化脚本很难检测到视觉问题。从实时用户的角度查看软件可帮助测试人员识别UI和可用性测试以查找错误,而这是自动化脚本中难以编程的功能。
自动化是一台机器,一台机器只能执行所要执行的操作。复杂的测试需要大量的准备和计划,并且有一定的界限。然后,脚本将遵循协议并相应地测试应用程序,即席测试可帮助测试人员回答“当我遵循X而不是Y时会发生什么”之类的问题。它可以帮助测试人员使用开箱即用的方法进行思考和测试,而这很难在自动化脚本中进行编程。甚至可视化跨浏览器测试需要手动方法。您可以通过在真实的浏览器和设备上进行测试,甚至可以通过使用基于云的跨浏览器测试工具(例如LambdaTest)(甚至可以更好地进行检查)来手动检查问题,而不必依靠自动化脚本来找出视觉差异。在数千种不同的浏览器-设备-操作系统组合中无缝测试您的网站
自动化脚本就像另一段代码。而且,无论您的编码员多么出色,错误始终存在。在整个测试过程中手动操作而不是完全依赖于自动化将确保执行脚本后不会出现误报或误报作为测试结果的情况。
如果测试阶段要求您检查应用程序的手势或触摸功能如何工作,该怎么办?您无法通过自动化来做到这一点。该过程将太昂贵,结果可能会有些不准确。再次需要手动方法。到那时,测试人员完成了此类用户控制方案的自动化脚本的编写,手动测试人员完成了整个测试以及错误修复。
是的,自动化测试确实节省了大量时间。如果对同一场景进行更广泛的测试并执行重复测试,它是自动化测试的理想选择。但是,为了从理论上理解确切的问题,需要手动测试技能。拥有手动测试经验的自动化测试人员可以通过从最终用户的角度进行思考来轻松理解问题的根源。
在当前的敏捷时代,行业要求速度和质量。全球的利益相关者和客户都希望组织在短时间内交付高质量的无错误应用程序。这就是为什么自动化测试正在兴起的原因,并且作为一个熟练的自动化测试员,每个组织都希望您在以下自动化工具方面拥有知识和经验。
Selenium自豪地支持所有主流浏览器,已成为自动化测试领域的家喻户晓的名字。几乎所有主要的浏览器都确保Selenium是它们的本机部分。随着WebDriver的引入,Selenium确保了基于浏览器的Web应用程序自动化测试的完美执行。无论您是新手还是经验丰富的测试自动化工程师。您应该具有硒方面的知识或工作经验。另外,它是开源的!如果您已经在研究Selenium的任何变体,那么您会发现LambdaTest是一个非常有前途的平台,可以在云上执行自动化脚本。LambdaTest 通过在线Selenium网格在2000多种浏览器上为Selenium自动化测试提供并行测试执行。
HP以前曾使用QTP这一工具,但它仍然是业界最好的工具,可确保顺利执行应用程序的自动功能和回归测试。如果您是回归测试人员,那么您应该具有知识和经验以及UFT认证。
测试Web服务和API的完美工具。该工具同时支持SOAP和REST服务,并且如果您的项目需要对API进行自动化测试,则您至少应了解该无头工具的用于功能测试的开源版本。
Rational Functional Tester是IBM内部开发的自动化工具。无论您的应用程序使用什么技术,RFT都支持.Net,Java,SAP,Adobe Flex,Visual Basic和Dojo。如果您要进行功能测试或回归测试,您会发现学习此工具非常有用。
在当前移动第一时代,许多组织正在开发复杂的移动应用程序。Appium是最好的开源软件,可使任何混合或本机移动应用程序实现自动化测试。此外,它与所有操作系统(例如Android,iOS或Windows)兼容,并且必须了解移动应用程序测试是否属于您的领域。
最初,该工具旨在测量应用程序的性能和负载测试。在当前版本中,此工具还用于API性能和服务测试。作为最受欢迎的第三大自动化测试工具,您的组织将期望任何熟练的自动化测试人员都具备对此的知识和经验。即使您没有经验,由于该工具是开源的,您也可以自己开始学习。
如果您的汽车或摩托车有问题,并且将其带到服务中心,那么在检查车辆之前,机械师会询问您当前所面临的问题,在上次维修期间修复的所有旧车问题,以及您以前是否更改过任何零件。只有在那之后,机械师才能提供有关问题的确切原因和解决问题所需的解决方案。
同样,在测试阶段开始之前,熟练的自动化测试人员必须从前端和服务层全面了解应用程序。他们必须知道
但是,提到的要点是非常基本的,其复杂性取决于应用程序的性质以及开发方法。
流行的测试自动化工具非常大且复杂,在项目开始使用它们之前,它要求测试人员具有有关工具本身的详细技术知识。在我以前的项目中,我经常遇到诸如
自动化测试的主要目标是减少整个测试过程的时间复杂度。如果您是自动化测试人员,则应该具有测试管理工具方面的经验,因为,
请记住,您的组织不仅希望您具有测试知识。您还应该了解不同的开发方法是如何工作的。如果您的项目遵循的是DevOps或Agile,请不要指望团队领导告诉您该怎么做。及时交付您的工作,并做好每天参加Scrum会议的准备,以防止当利益相关者或经理对您当前的工作阶段提出一些关键问题时出现任何尴尬的情况。了解开发方法还可以帮助您在组织层面上推动您的职业生涯。
这些自动化测试仪技能将帮助您在当今市场上获得非常高的价值。特别是如果您对所有最新的自动化工具以及CI / CD工具(如Jenkins或GitLab)具有适当的了解,那么您不仅会成为组织中宝贵的资源,而且还将成为行业中的宝贵资源。上面讨论的自动化测试人员技能将帮助您从初学者晋升为主管或架构师级别的资源。因此,努力工作,表现出对事业的奉献和热情,很快,您将在行业中其他自动化测试员的技能上脱颖而出。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取