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

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

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

自动跨浏览器测试

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

使用Selenium评估测试自动化的ROI的指标

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

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

自动跨浏览器测试

硒测试自动化的范围

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

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

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

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

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

缺少正确的文档

这是一个非常常见的错误,不仅从自动化测试人员的角度来看,而且从管理角度来看。 应将文档设置为每个组织的标准。 当自动化测试人员编写测试脚本时,他们应该准备一份文档,解释该脚本的用途及其工作原理。 应该提供一个公共知识库来收集有关组织活动的每个自动化脚本的文档。 这将为参与该过程的每个萌芽资源奠定基础。 这也将有助于消除因缺少任何高级测试自动化工程师而导致的Web应用程序可能遭受的附带损害,或者自动化测试人员打算从您的公司切换到另一家公司。 因此,下次使用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执行测试自动化,则可以随项目需求轻松扩展。

硒本身不提供测试报告功能。 您可以根据所使用的语言,使用测试自动化框架来提取测试报告。 如果您使用的是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。 不要误以为ROI仅是比较手动测试Web应用程序与自动化测试用例所花费的时间和金钱。 有很多因素需要考虑,每种因素都有其自身的优点和陷阱。 此外,无法使用单个公式来计算ROI。 有多种机制,您需要选择什么取决于组织的需求和项目的情况。 测试愉快!

自动跨浏览器测试

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339507.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

流量复制_详解Linux系统流量复制--gor、tcpcopy、nginx模块流量复制等

概述对于一些有并发要求的业务,特别是对接外部流量时,产品上线前一定要做的就是压力测试,但是常规的压力测试并不能覆盖所有情况。以gemeter、ab,、webbench、http_load为例,这些通过模拟请求的压测工具,只能发送特定的…

C语言天才!想法奇异?还是逼格满满?一份国外C语言写的传奇简历

C语言天才!想法奇异?还是逼格满满?一份国外C语言写的传奇简历作者用代码更新了自己的简历,是不是很接地气,特符合程序员的逼格。这是一份可读可执行的语言源文件,也是作者编码风格的体现。C语言源码&#x…

hash值 更改git_Git切换版本

Git切换版本有三种方式:1.基于哈希值切换》基于哈希值切换(推荐),命令:git reset --hard 哈希值,哈希值从哪来,git reflog查看下就知道了,切换版本后,git reflog会发现有两个HEAD,别…

fedora mysql_Fedora server 安装Mysql8

导读MySQL是一种关系数据库管理系统(RDBMS),作为服务器运行,提供对多个数据库的多用户访问。 这是指导,如何在Fedora 28/27/26,CentOS 7.5 / 6.10和Red Hat(RHEL)7.5 / 6.10上安装或升级MySQL社区服务器最新版本8.0(8.0.12)/5.7(5…

lombok 生成代码_使用Project Lombok减少Java应用程序中的样板代码

lombok 生成代码对Java编程语言最常提出的批评之一是它需要大量的样板代码 。 对于简单的类尤其如此,该类只需要存储一些值就可以。 您需要这些值的getter和setter方法,也许您还需要一个构造函数,覆盖equals()和 hash…

让C/C++程序员告诉你什么叫浪漫,表白黑科技,炫酷多彩求爱利器

前言缘是美丽的邂逅,爱是心跳的感觉,情是心灵的交会,恋是甜蜜的思念,走在爱与被爱的边缘,你见或者不见,爱你的心始终不改变!C语言诠释爱——为TA写下心中情,生成程序传给TA&#xff…

Java十六进制浮点文字

我如何遇到十六进制浮点数 我正在Java :: Geci中开发一种新功能,以减少代码重新格式化的可能性。 如果重新格式化,当前版本的代码将覆盖原本相同的代码。 这很烦人,因为按下重新格式化键的快捷键相当容易,而且许多项目甚至要求开发…

C语言对电脑做的事儿啊,总有那么一丝恐怖,C语言操盘电脑两例

C语言对自己电脑做的事儿啊,总有那么一丝恐怖,C语言与电脑两例开场先抱歉,偷懒好多天了。今天分享给大家的l两例比较短小精悍,都是针对于计算机屏幕处理的两例,有兴趣的可以放到自己电脑上运行哦。绝对无害&#xff0c…

servlets_jQuery Ajax – Servlets集成:构建完整的应用程序

servlets网上有很多教程,它们解释了有关使用servlet和JSP页面进行Java Web开发的一些知识,但是,我从未找到对于初学者来说足够简洁的教程。 这样的教程应该解释创建一个简单的Web应用程序的整个过程,包括前端,后端&…

mysql分库分表的缺点_MySQL分库分表会带来哪些问题?

分库分表能有效的环节单机和单库带来的性能瓶颈和压力,突破网络IO、硬件资源、连接数的瓶颈,同时也带来了一些问题。下面将描述这些技术挑战以及对应的解决思路。1、事务一致性问题分布式事务当更新内容同时分布在不同库中,不可避免会带来跨库…

C语言的恶趣味,胆小者莫入,以免入门到放弃,C语言夺命题十例!

前言这些问题测试了C语言的高级知识,包括一些很少使用的特性。有效的C编程需要对诸如未定义的行为,递归和指针算术等概念有深入的理解,但是这些故意复杂的例子并不代表现实世界的代码,当然也不会为了清晰和可维护性而获得任何奖励…

java学习里程碑_记录您的里程和社区运行情况:Java EE 7真实体验

java学习里程碑miles2run.org是跟踪跑步活动并与亲朋好友共享的简便方法。 可以创建然后跟踪基于天或基于距离的目标。 它还允许创建社区运行目标,并使多个跑步者参与并跟踪他们朝着该目标的活动。 您还可以找出本地跑步者并与他们联系。 该项目已开始,…

遇C语言条件编译就犯怵,不知什么意思,c语言头文件中的宏定义

前言看见头文件中的条件编译就犯怵,不知什么意思,但是,你老师说:”就得那么写“,你照做,但是知其然而不知其所以然。今天分享下是自己的理解~~~纯属个人献丑,新手可阅,老鸟绕道。代码…

pcie3.0一条通道带宽_小技巧|内存双通道提升性能

今天给大家分享一个小技巧,如果你的电脑有两条或以上的内存条,不同的内存插法也是会影响性能的哦,也就是内存双通道。什么是双通道?双通道内存说白了是两条内存由串联方式改良为并联方式,以得到更大的内存带宽&#xf…

C++简介源码讲解精辟版,C++入门级C++学习,C++与C的区别值得知晓

C简介源码讲解精辟版,C入门级C学习,C与C的区别值得知晓C语言和C基础区别C标准输入和输出命名空1.命名空间的定义 :namespace 标识符{ } 例:namespace my{int a1;}命名空间中的成员访问:作用域分辨符:: 例&a…

jbpm 和 drools_Drools和jBPM KIE A​​pps平台

jbpm 和 drools随着Drools和jBPM(KIE)6系列出现了一个新的工作台,并有望最终实现用户的可扩展性。 我终于有了一些预告片,以显示此工作原理以及所存储的内容。 确保选择1080p并全屏显示它们的最佳状态。 (点击放大&am…

mysql 1308_Mysql恢复数据报ERROR 1308 : LEAVE with no matching label_MySQL

赶紧看备份日志,日志如下:----------------------------------BEG:20151108 01:00:01FTP:20151108 01:00:05CLS:20151108 01:00:07OPT:20151108 01:00:08END:20151108 01:00:08----------------------------------日志并没有什么异常,既然说有…

真正的C与C++编程高手是什么?臭美的群体!如何编写高质量代码?

前 言软件质量是被大多数程序员挂在嘴上而不是放在心上的东西!除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌:“哇!我以前捏造的C/C程序怎么会有那么多的毛病?”别难过,作者只…

windows10安装mysql 8.0_手把手教你在Windows 10安装MySQL 8.0(详细图文)

出品丨TeacherWhat题图:Oracle MySQL 8.0关键字:新版本、Install、安装、MySQL、数据库入门、Database正文约1000字,建议阅读时间2分钟目录结构:1. 官网下载安装包2. 点击下载的程序包安装3. 安装数据库软件4. 安装成功后&#xf…

mysql降低数据库版本_三步10分钟搞定数据库版本的降迁 (将后台数据库SQL2008R2降为SQ...

三步10分钟搞定数据库版本的降迁 (将SQL2008R2降为SQL2005版本) 前思后想仍觉得实战数据库版本的降迁一文中的方式不仅老土而且低效,故有了下文三步搞定数据库从MSSQL2008R2 高版本降迁至SQL2005低版本。 整个过程如果思路清晰,数据量小,不过…