您的当前位置:首页正文

自动化测试的隐藏技巧...

来源:华佗健康网

前言

测试人员多年来一直在与自动化测试进行斗争,但大多数团队对他们当前的自动化测试水平或维护它所需的开销不满。此外,在过去几年中,软件的架构,开发和使用方式也发生了翻天覆地的变化 - 增加了测试的复杂性和软件故障的业务影响。

鉴于软件交付的复杂性和速度的增加,软件测试专业人​​员如何帮助控制业务风险呢?

你需要的是 持续测试。

什么是持续测试?

持续测试是一个过程,它将自动化测试作为软件交付通道中内嵌的一部分,以尽快获得软件发布后业务风险的反馈。

自动化测试旨在生成一组与用户故事或应用程序要求相关的通过/失败的数据点。另一方面,持续测试侧重于业务风险,并提供有关软件是否可以发布的判断。要实现这一转变,我们需要停止询问“我们是否已完成测试?”而是集中精力在“发布版本是否具有可接受的业务风险级别?”

为什么我们需要持续测试?

今天,整个行业的变化要求测试更多,同时使自动化测试更难实现(至少使用传统工具和方法):

应用程序体系结构越来越分散和复杂,包含云,API,微服务等,并在单个业务事务中创建几乎无限的不同协议和技术组合。
由于Agile,DevOps和持续交付,许多应用程序现在每两周发布一次,每天发布数千次。因此,可用于测试设计,维护和特别是执行的时间大大减少。
既然软件是业务的主要接口,那么应用程序故障就是业务失败 - 如果它影响用户体验,即使是看似微不足道的小故障也会产生严重后果。因此,与应用相关的风险已成为即使是非技术性商业领袖的主要关注点。

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

当我开始担任手动测试人员时,我不喜欢编码。但是,当我逐渐进入自动化领域时,对我来说很清楚,如果没有对编程语言的一些基本了解,就无法编写逻辑自动化测试脚本。
对编程有一点了解,不仅可以简化那些自动化脚本,还可以帮助您改善与开发人员的沟通。不仅如此,一旦单元测试完成,您还可以参与深入的功能测试。现在,要获得自动化测试人员的#1技能,有两个不同的方面,需要多少编程知识取决于您的角色以及几年后您在行业中的位置。方面是:

设计框架

您需要对C#,Python,Java,Perl,SQL,XML以及HTML和CSS具有透彻的理解和编码技能。虽然,您应该精通哪种语言取决于项目中开发人员使用的编程语言。例如,如果项目在Ruby上,则您至少应具有Ruby基础知识的基础知识。以下是对测试人员有用的顶级编程语言。
创建测试脚本
在此阶段,您是否应该具有编程知识,取决于所使用的自动化框架。如果您的组织使用SpecFlow或Cucumber进行测试自动化,则脚本可以用简单的英语编写,您无需考虑后端逻辑或编码。仅对Selenium Web驱动程序有足够的了解就足够了。但是,如果您使用的是UFT或QTP,则应该对编程有全面的了解。这是用于跨浏览器测试的Selenium WebDriver教程。

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

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

人眼就是一切

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

某些测试只能手动完成

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

自动化测试可能包含漏洞

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

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

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

您对整个问题都有个想法

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

作为一个过来人,对过程中的困难深有体会。所以我热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、自学方法、心得及踩过的一些坑,记录下来。

现在我邀请你进入我们的软件测试学习交流群:,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

因篇幅问题不能全部显示,请点此查看更多更全内容