selenium

跨浏览器测试是一种测试,需要大量的精力和时间。 通过不同的浏览器,操作系统,设备,屏幕分辨率测试Web应用程序,以评估针对各种受众的Web内容呈现的过程是一项活动。 特别是如果手动处理。 使用Selenium进行的自动跨浏览器测试可以帮助您节省例行测试活动的时间,并帮助您缩短回归测试的时间。 但是,人们很少喜欢变化。 如果手动测试在您的组织中很流行,那么当您要求他们实施测试自动化时,管理层显然会提出问题。

测试自动化虽然非常有益,但通常可能会证明是昂贵的,但值得吗? 在说服高层管理人员的同时,您可能会遇到这个问题。 在开发Web应用程序时,将需要您提供使用Selenium进行测试自动化时的有效ROI,并通过使用Selenium进行 自动化跨浏览器测试来简化Web应用程序的自动化,从而突出其自动化测试的优势,因为它可以更快地完成工作,而无需人工。

在本文中,我们将讨论使用Selenium评估测试自动化的ROI的不同指标,以及涵盖基础和高级技术的ROI计算技术。

使用Selenium评估自动化测试的投资回报率的指标

您和您的团队成员可以考虑某些度量标准和度量标准,这些度量标准和度量标准可以帮助您在计划从Web应用程序的头开始进行自动化测试时,分析使用Selenium进行测试自动化时的ROI。 这些指标可能因组织而异。 为什么? 嗯,这是一个优先事项,有不同的度量标准,例如检测到的缺陷数量,时间增益或测试覆盖范围会直接影响项目的风险,成本,质量和交付进度。 正如他们可能认为的那样,某些组织可能会优先考虑检测到的缺陷数量,数量会提高质量。 有些人可能会反之亦然,因为对他们来说质量就是一切。 你拿什么在测试用例的质量与数量的辩论中,您认为更关键的是什么。 在下面的评论部分中让我知道您的想法。

话虽如此,在您与高级管理层进行讨论之前,确定关键指标以使用Selenium计算测试自动化的投资回报率至关重要。

Selenium测试自动化的范围

我们知道我们无法执行100%的测试自动化。 那么,您可以执行多少自动化的跨浏览器测试,这是一个需要大量思考过程的问题? 如果您希望为您的Web应用程序执行自动化的跨浏览器测试,则必须考虑并确定优先级,以及您应该在测试用例中涵盖哪些操作系统? 因为您无法涵盖所有​​情况。 可能的方案总数可能导致数百甚至数千个测试用例。 如果您的自动化测试脚本是如此之长,那么每天可能需要花费相当多的时间评估您的Web应用程序或网站。

简而言之,您需要在此处比较自动化测试用例的总数与可以实现自动化的测试用例的总数。

如果您希望减少使用复杂测试套件的时间,则还可以使用Selenium Grid进行并行测试。 这样,您可以同时执行多个测试脚本。 但是,为此,您可能还需要考虑多少个并发或并行会话足以满足您的要求? 您可以通过我们的并发计算器来做到这一点。

该指标的改进表明,团队可以更快地发现缺陷并快速修复它们,从而在使用Selenium进行测试自动化方面降低风险,并提高投资回报率。

您将节省多少时间?

使用敏捷,每周或每两周交付一次,并且需求经常变化。 在那种情况下,回归测试的重要性增加了。 实施自动化回归测试用例将减少测试所需的时间,从而获得更多的时间进行开发或其他冲刺的投资。 节省时间是几乎每个需要快速扩展其Web应用程序的组织(尤其是初创公司)的优先考虑。 在评估测试自动化的投资回报率时,时间是您关注的问题之一吗?

您的资源带宽

我们知道,使用Selenium进行测试自动化将帮助您快速营销Web应用程序。 但是,没有组织会喜欢如果员工在大部分时间里都闲着等待脚本完成。 要使用Selenium来计算测试自动化的ROI,需要对您所拥有的每个自动化和手动测试仪进行彻底的工作分析。

资源和工具的投资预算

测试自动化可以节省时间和精力。 但是,这涉及到价格的权衡。 您需要考虑可以为需要快速扩展其Web应用程序的工具,每个组织(尤其是初创企业)围绕多少费用轻松分配多少预算。 在评估测试自动化的投资回报率时,时间是您关注的问题之一吗?

总缺陷数

每个回归周期完成后的总缺陷数表明产品质量以及针对特定项目的有效自动化测试量。

找出自动化测试的真实投资回报率

根据项目生命周期内需要执行的回归周期数,真实的ROI可以转移到正值区域。 投资回报率通常通过以下公式计算:ROI =(手动测试成本–自动测试成本)/自动测试成本

但是随着敏捷和DevOps进入市场,经典方法不再有效。 另外,该指标也不现实,因为手动测试的次数永远不会与自动测试的次数相同。 使用Selenium自动化基于数量计算测试自动化ROI的真实价值并不是很多人的选择。 但这也不是完全被忽视的。

缺陷质量

我认为,这是使用Selenium计算测试自动化的ROI时非常重要的指标。 我相信,使用Selenium进行测试自动化的全部目的是不消除项目中对手动测试人员的需求。 自动化测试的重点是减少测试人员狭窄的计划所消耗的时间,因此他们可以提出更多现成的测试用例。 提高测试用例的质量肯定会帮助您更好地构建Web应用程序。

在测试自动化上计算投资回报率时的一般错误

尽管计算ROI涉及使用一些简单公式进行基本计算,但是如果您错过了一些重要参数,则可能会发生错误。 让我们讨论人们在计算ROI时常犯的一些错误。

您真的不是完全忽略手动测试吗?

最大的错误之一就是仅将自动化测试作为主要的测量参数。 手动测试将始终很重要。 对于跨浏览器测试,可以自动执行某些方案,但是在某些领域中,您需要通过执行手动跨浏览器测试与Web应用进行实时交互。 因为视觉缺陷比运行自动化脚本更容易手动检测。 始终手动检查网站是否在所有浏览器中都看起来不错或某个导航菜单在特定浏览器中是否正常运行等事实。 如果您使这些测试自动化,它们将无法在使用Selenium进行测试自动化方面提供很高的投资回报率。 即使您不计算手动工作量,您仍然必须花费时间和金钱。

总是想着更大的图景

在使用Selenium测量自动化测试的投资回报率时,您必须考虑更长的时间。 检查某种测试方法在短时间内如何使组织受益的做法并不理想。 从长远来看,您必须检查它如何影响组织和团队。 而不是几个月,而是要计算3到5年内的影响。 例如,您应该选择左移测试吗? 左移测试是一种方法,可让您集中精力从需求收集阶段尽快执行测试。 背后的想法是考虑错误并尽快发现它们,因为据信在SDLC的较晚阶段发现的错误比在初始阶段发现的错误要昂贵得多。

您是否同步了组织的功能?

您必须将组织的功能与 测试自动化工具堆栈同步。 为了成功实施自动化测试策略,既需要产品知识也需要自动化知识。 您的团队应该对如何使用计划的自动化工具以及应用程序的工作有清晰的了解。

测试维护是要考虑的重要因素

测试用例的维护是人们在使用Selenium测量自动化测试的投资回报率时往往会错过的另一个因素。 当您使用Selenium进行自动跨浏览器测试时,在成功实施测试策略后,您将定期需要更新和维护测试用例。 随着您添加新页面,增强或更新Web应用程序的功能,回归套件和测试用例将开始增长。 确保这些测试用例在较长时间内的可用性将需要定期维护。

缺少正确的文档

这是一个非常常见的错误,不仅从自动化测试人员的角度来看,而且从管理角度来看。 应将文档设置为每个组织的标准。 当自动化测试人员编写测试脚本时,他们应该准备一份文档,解释该脚本的用途及其工作原理。 应该提供一个公共知识库来收集有关组织活动的每个自动化脚本的文档。 这将为参与该过程的每个萌芽资源奠定基础。 这也将有助于消除因缺少任何高级测试自动化工程师而导致的Web应用程序可能遭受的附带损害,或者自动化测试人员打算从您的公司切换到另一家公司。 因此,下次您使用Selenium计算测试自动化的投资回报率时,请务必牢记为内部员工维护一个这样的知识库所涉及的工作量和带宽。

使用Selenium实现自动化测试时最大的投资回报率的操作项目

到目前为止,我们已经意识到了常见的错误,即使用Selenium在测试自动化上计算ROI的指标。 接下来是什么? 执行部分。 使用Selenium在测试自动化上获得最大投资回报的最佳方法是什么? 好了,这里有一些值得注意的可行见解,可以帮助您从测试自动化中获得最大的收益。

为新的测试案例实现自动化这是要考虑的非常重要的因素,尤其是当您从手动切换到自动化时。 假设您要介绍Selenium WebDriver,以在组织中进行自动跨浏览器测试。

  • 计算需要自动化的测试用例的数量

    • 在此步骤中,检查哪些应该是自动化的,哪些应该保持手动。
  • 计算执行您的测试用例的测试人员的小时成本。
  • 如果某些测试人员没有自动化经验,那么也要计算培训成本。

优先考虑自动化新测试用例的过程

我们都知道,回归测试始终被放在首位,特别是涉及跨不同浏览器的Web应用程序的视觉回归测试以检查其跨浏览器兼容性时。

回归测试主要涉及对旧测试用例的重复执行,以确保某些新添加的功能或增强功能不会引入任何新的或旧的缺陷。 随着时间的流逝,当您的Web应用程序在体系结构和功能方面不断增长时,保留回归测试手册的过程将证明是昂贵的。 如果您想降低成本,实施自动视觉回归测试是有意义的。

  • 在计算ROI时,假设每个新测试用例都将很快成为回归测试的一部分。 将它们保留为回归测试策略的一部分。
  • 根据复杂性对测试用例进行排序,并在其中自动进行检查。
  • 如前所述,请考虑维护旧测试用例的成本。

跨浏览器和OS的不同测试配置的测试覆盖率接近100%

自动化测试的主要目标是提高应用程序的质量。 在计算投资回报率时,您还应该考虑以下事实:浏览网站的方式每天都在增加。 市场上有成百上千的浏览器和设备,人们可以在其中查看您的Web应用程序,并且该数目正在定期增长。 定义浏览器兼容性测试矩阵。

扩大覆盖率的最佳做法

通过执行烟雾测试,单元测试,回归测试,并注意缺陷泄漏,可以提高环境覆盖率。

单元测试–单元测试在运行Web应用程序的测试阶段时涵盖了最多的数量。 当您投资并行测试机制以节省时间时,这总是有意义的。

冒烟测试–将修补程序推送到应用程序中时,并行运行冒烟测试是覆盖测试用例的最佳方法。 自动化烟雾测试是每天评估Web应用程序的好方法。

回归测试–在当今的敏捷时代,快速部署需要越来越多的回归测试来测试版本控制。 运行并行回归测试可确保每个最新版本都像以前的版本一样完美运行,从而帮助您在短得多的时间内扩展测试范围。

请记住缺陷泄漏–这是在生产周期中发生的错误数量,因为在先前的测试阶段未检测到它们。 发生这些情况的原因可能是功能测试覆盖范围较小或测试环境不佳。

尝试使用左移测试方法。 这涉及测试人员在应用程序开发之前对其进行验证。 一旦开发人员完成了某个模块的开发,他们就会通过运行单元测试用例来参与其中。 核心思想是尽早开始发现错误,最终将降低成本。

找出可重用和冗余测试用例的数量

测试用例重复是一个重要因素,可能导致测试预算增加。 重新创建您先前用于不同模块的相同测试用例没有任何意义。 重用测试用例会导致测试速度提高和测试周期缩短。

计算此费用涉及检查

  • 重复测试用例数
  • 具有重复组件的测试用例
  • 检测和开发所有这些冗余测试用例所需的时间。
  • 计算使用测试用例管理工具的成本

减少冗余的最佳做法

  • 使用测试用例管理工具找出重复的脚本。 您可以使用这些工具来存储带有自定义字段的测试,然后可以根据您的要求对其进行个性化设置。 使用测试用例管理工具将帮助您快速搜索冗余。
  • 您还可以开发模块化测试脚本,以后可以重用。 找出执行频率更高的测试。 例如,登录我们的退出功能。 为了检查这两种方法是否完美,您必须测试多种变体。 创建一个模块化的测试用例,可用于每次登录和注销变体。

使用云端的Selenium网格执行无忧的自动跨浏览器测试

执行方法围绕着使用Selenium进行测试自动化计算ROI的必要领域。 众所周知,Selenium是一个开放源代码测试自动化框架,旨在促进Web应用程序测试。 现在,您可以自己在本地使用Selenium进行自动化测试,也可以使用提供Selenium Grid的基于云的工具之一进行自动化测试。

当您通过自己的基础结构使用Selenium执行自动化测试时,在扩展自动化测试套件时,您必须牢记预算。 您将如何引入新设备? 新的浏览器版本? 您现有的计算机还需要大量硬件升级,才能支持Selenium Grid的并行执行。 但是,如果要 通过云上的Selenium Grid执行测试自动化,则可以随项目需求轻松扩展。

Selenium本身不提供测试报告功能。 您可以根据所使用的语言,使用测试自动化框架来提取测试报告。 如果您使用的是LambdaTest基于云的Selenium Grid,则可以通过我们的Open Selenium API提取这些报告。

两种方法之间的另一个主要区别在于并行测试。 使用在本地计算机上定义的Selenium Grid,您将只能在该本地计算机上安装的浏览器上运行测试用例。 但是,如果您使用的是基于云的Selenium Grid(例如LambdaTest),则可以跨2000多种实际浏览器和浏览器版本进行测试。

请记住,如果没有正确执行并行测试,则存在在测试周期后期遇到缺陷的风险。 您发现错误的速度越快,修复它的成本就越低。

先进的ROI计算技术

现在,我们已经涵盖了基础知识,让我们了解用于计算ROI的高级技术。

效率投资回报率

由于自动化测试用例可以全天运行,因此ROI计算以天为单位。 另一方面,对于手动测试,只计算测试人员的工作时间,平均为8个小时。 构成计算投资回报率基础的公式是

(a)自动化测试脚本开发时间=(每个测试的每小时自动化时间自动化测试案例数)/ 8 (b)自动化测试脚本执行时间=(每个测试的自动化测试执行时间自动化测试案例数ROI期间)/ 18 (c)自动化测试分析时间=( ROI的测试分析时间段)/ 8(d)自动化测试的维护时间=( ROI的维护时间)/ 8 (e)手动执行时间=(手动测试执行时间,手动测试用例数*投资回报期)/ 8

注意: ROI的周期是要计算ROI的周数,如果需要手动操作,则除以8。 只要完成自动化,就可以除以18。

在效率计算中,主要重点是对组织进行多少有效的自动化测试。 金钱因素被认为是次要因素,并非必须包括测试人员的小时计费费率。

降低风险的投资回报率

这涉及独立计算自动化的收益。 我们将再次以使用WebDriver进行跨浏览器测试为例,以了解其工作原理。 在手动测试期间,整个测试团队过去通常会花费大量时间在多个浏览器上重复运行相同的测试用例。 引入自动化之后,他们有很多额外的时间来执行生产性工作,例如设计测试用例,分析应用程序等。总之,降低风险的ROI解决了之前未解决的问题。

随着自动化的实施,测试覆盖率增加。 完全取决于手动测试将导致不必要的错误,这些错误可能会在交付后出现。 因此导致产品质量降低以及测试效率降低。 这种可能的损失被认为是一种风险。 投资成本没有变化。 仅计算组织可能在没有实施自动化的情况下可能面临的金钱损失。

这是一个包装!

感谢您的阅读,我希望您现在拥有扎实的知识和明确的战略,以帮助说服您的高级管理层围绕Selenium进行测试自动化的投资回报率。 不要误以为ROI仅是比较手动测试Web应用程序与自动化测试用例所花费的时间和金钱。 有很多因素需要考虑,每个因素都有其自身的优点和陷阱。 此外,无法使用单个公式来计算ROI。 有多种机制,您需要选择什么取决于组织的需求和项目的情况。 测试愉快!

翻译自: https://www.javacodegeeks.com/2019/06/calculate-roi-test-automation-selenium.html

selenium

selenium_您如何使用Selenium来计算自动化测试的投资回报率?相关推荐

  1. selenium自动化测试_您如何使用Selenium来计算自动化测试的投资回报率?

    selenium自动化测试 跨浏览器测试是一种测试,需要大量的精力和时间. 通过不同的浏览器,操作系统,设备,屏幕分辨率测试Web应用程序,以评估针对各种受众的Web内容呈现的过程是一项活动. 特别是 ...

  2. web自动化如何在不同浏览器运行_您如何使用Selenium来计算自动化测试的投资回报率?...

    跨浏览器测试是一种测试,需要大量的精力和时间.通过不同的浏览器,操作系统,设备,屏幕分辨率测试Web应用程序,以评估针对各种受众的Web内容呈现的过程是一项活动.特别是如果手动处理.使用Seleniu ...

  3. web自动化如何在不同浏览器运行_测试冷知识科普:使用Selenium来计算自动化测试的投资回报率...

    跨浏览器测试是一种测试,需要大量的精力和时间.通过不同的浏览器,操作系统,设备,屏幕分辨率测试Web应用程序,以评估针对各种受众的Web内容呈现的过程是一项活动. 特别是如果手动处理,使用Seleni ...

  4. 您如何使用硒来计算自动化测试的投资回报率?

    跨浏览器测试是一种测试,需要大量的精力和时间. 通过不同的浏览器,操作系统,设备,屏幕分辨率测试Web应用程序,以评估针对各种受众的Web内容呈现的过程是一项活动. 特别是如果手动处理. 使用Sele ...

  5. Web 自动化解决方案 [开源项目] 基于 Selenium 的 Web 自动化测试框架完美版

    欢迎查阅Selenium(Web自动化测试框架体系) Selenium ) Selenium是一个用于Web应用程序的自动化测试工具,直接运行在浏览器中,就像真正的用户在操作一样• 支持的浏览器包括I ...

  6. 论文python+selenium网页自动化测试论文_毕业设计(论文)-基于selenium的web自动化测试.docx...

    基于Selenium的Web自动化测试1 绪论1.1引言网络时代的到来和迅速普及,为软件产业带来了一场革命性的变化,基于Web的应用系统已经开始逐步取代原来的单机版应用系统,成为当前和未来的软件系统开 ...

  7. Selenium:网页自动化测试代码(Python版)

    本篇文章要做的是关于一个自动化测试. 目录 一.准备工具 1.编程语言及编译器 2.需要的包 3.浏览器 4.你需要在你的Python提前安装库. 二.代码部分 1.登录页面 2.下一步是进入主页 3 ...

  8. python+selenium进行web自动化测试

    python+selenium进行web自动化测试 一.配置python环境 目前已经更新到python3.10.3,我现在是3.9, 不过版本应该问题不大,大家可以自行官网下载并安装,并装好pych ...

  9. java+Selenium+TestNg搭建自动化测试架构(1)实现代码和数据的分离

    1.主要介绍介绍Java+Selenium+POM的自动化测试框架的搭建,第一个首先实现代码和账号URL等信息的分离.第二点支持跨浏览器,通过读取配置文件的方式实现. 1)将账号URL等信息添加在pr ...

最新文章

  1. w ndows7防火墙文件名,Windows7中的防火墙是什么? 爱问知识人
  2. 云计算与分布式计算,网格结算,对等计算,并行计算..的关系
  3. mysql存储过程触发器_【MySQL笔记】触发器,存储过程和函数
  4. [译] 关于 HTTP/3 的一些心得
  5. 【Linux系列】mac终端与服务器连接
  6. EncryptHelper
  7. python装饰器举例_Python学习笔记:装饰器(Decorator)
  8. Eclipse语言包及ADT安装教程
  9. python时间格式转换为美式日期_python中有关时间日期格式转换问题
  10. java 定义泛型方法_Java中泛型方法的定义
  11. unbuntu基本操作
  12. Java基础之网络编程
  13. Validation框架的应用
  14. 关于360系列手机定位不准确中的一种问题--位置穿越
  15. 香港中文大学教授、麻省理工牛人林达华解说现代数学体系
  16. 细胞免疫疗法领军企业药明巨诺在港交所主板上市
  17. 西门子s7-200smart清除密码西门子plc用SD卡清除密码方法步骤
  18. 算法导论之数学归纳法和递归
  19. java实现scp敲代码_SCP 命令(自己总结)
  20. 简单理解滤波器(入门经典)

热门文章

  1. 基于javaweb+springboot的在线游戏商城系统(java+Springboot+MyBatis+MySQL+Maven+layui+Jsp)
  2. 为什么大医院总是人山人海?他想用“虚拟病人”为医疗均衡寻找答案
  3. Windows的Microsoft Store应用商店显示页面但无法下载
  4. 二维平面直角坐标系内某一点绕另一点旋转【顺时针/逆时针】之后的坐标
  5. 刚刚!腾讯完败Facebook成为社交之王:马化腾究竟做对了什么?
  6. 第六期大咖实战分享 | 联邦学习落地金控集团的挑战与思考
  7. VUE动态变换背景图片的实现 +背景图片铺满+ 一般路由的配置
  8. 资源分享 | 利用机器学习进行高级MRI分析
  9. 数据报告 | 2018年中国城市通勤研究报告(附图表)
  10. 高山大学2018级名单:Bee+创始人贾凡作为90后企业家代表之一入选