您是否认为仅仅是因为您的Web应用程序在过渡环境中以鲜艳的色彩通过了,您的生产环境也将是相同的吗? 您可能需要重新考虑!
特别是,如果我们指的是跨浏览器测试 ,则需要确保跨各种操作系统,运行在不同操作系统上的各种浏览器,浏览器版本无缝呈现Web应用程序。 毕竟,在您实际进行生产测试之前,您可能永远都不知道客户会面临哪些错误,对吗?

但是,说起来容易做起来难。 作为敏捷测试人员,您每两个月,每周甚至每天都会收到新的测试要求。 如果您仅专注于生产中的测试,那么谁将负责舞台环境中的测试? 这就是为什么要求您在生产环境中以及过渡环境中进行测试的原因。 从经验中,我知道如果手动完成,这可能是一个艰苦而艰巨的旅程。 幸运的是,我们拥有Selenium测试自动化来支持我们。 怎么样?


这正是我将在今天的文章中讨论的内容。 本文将帮助您了解为什么生产中的硒测试自动化对于您的下一个版本至关重要!

那么,什么是生产测试(TiP)?

如果您刚刚开始测试人员的旅程,那么很有可能您可能不知道SDLC(软件开发生命周期),并且可能会对生产是什么感到好奇。 我们在生产中要测试什么?

嗯,每个Web应用程序都在不同的环境中克隆。 一种用于开发人员,一种用于测试人员,另一种用于您的客户。 与客户进行交互的Web应用程序称为生产环境,而其他应用程序称为暂存环境。 因此,每当新的增强功能进入发布周期时,便会首先将其部署在属于开发人员的阶段环境中,以便他们可以对更改进行单元测试。 确认更改后,将更改推送到测试人员所属的登台环境中,他们可以在其中执行详细的集成和回归测试以验证代码更改。 一旦测试团队通过了签字,这些更改就会在生产环境中排队,客户可以在其中使用添加到Web应用程序中的最新功能。

尽管测试团队在登台环境中进行了详细的测试,但是一旦将更改推送到生产环境中,他们就应该执行另一轮详细的测试,以确保不会妨碍客户的用户体验。 最后一轮测试称为生产测试。

我们在生产中要测试什么?

几乎所有事物。 除了在登台环境中经过验证的测试脚本之外,生产中的测试还包括所有在生产环境之前无法识别或预测的测试用例。

但是您已经在舞台上进行了测试,那么为什么要在生产中进行测试?

您可以根据需要编写任意数量的案例,但这不足以复制实时生产环境。 重现客户数据或预测其行为并不容易。 别忘了,您的登台环境可能不会像生产环境那样暴露于实时流量中。 同样,如果您的暂存环境不是您产品的精确克隆(在大多数情况下是正确的!),那么很有可能在上线时可能错过跨浏览器不兼容CSS属性,或更糟糕的是,其中。

登台环境对您的组织失败的13个原因

这就是为什么在每个发布周期中都必须在生产环境中进行跨浏览器测试的原因。 但是,如果不是单调的话,要在数百种浏览器和操作系统上测试Web应用程序肯定会很累。 很多时候,由于有紧急中断的夜间修复程序和时间不足,您甚至可能最终在第11小时执行浏览器兼容性测试 ,因此,您可能最终只进行了冒烟测试而不是回归测试。 好吧,如果真是这样,您几乎可以期待浏览器错误将以您的方式出现。

让我们以实时场景来更好地理解这一点。 您的DevOps团队已准备好将最新的代码更改部署到Web应用程序中的管道。 在最终将其投入生产环境之前,您需要在多个登台环境中对其进行测试。 在分阶段进行测试时,您可以在所有主要的浏览器上进行测试,例如,去年推出了所有最新版本的Google Chrome,Mozilla Firefox和其他浏览器。 您进行了快速的烟雾测试,一切似乎都正常。 您的Web应用程序上线了,您可以坐下来放松身心,以为一切都已完成并完成。 这样日子就过去了!

您是否发现上述情况出了什么问题? 您猜对了! 您显然错过了旧版本的浏览器,现在旧版本的所有用户可能都疯了。 他们离开了您的Web应用程序,停机的数量猛增。


无需惊慌,我们已为您服务! (我们将成为您的Luke Skywalker的Yoda)

要解决此问题,您需要确保您已经准备好在零停机时间内在我们的在线Selenium Grid上执行Selenium测试自动化套件。 使用在线Selenium Grid在生产中执行自动浏览器测试可以帮助您清除维护内部Selenium Grid所花费的主要时间障碍,并跨不同的操作系统/设备/浏览器分别测试Web应用程序的功能。 这可以帮助您确保在生产中验证产品的跨浏览器兼容性。

长话短说,您不能忽视生产中的硒测试自动化。 话虽如此,让我们看一下硒测试自动化在生产中的优势。

硒测试自动化在生产中的优势

到目前为止,我们知道必须在生产中测试Web应用程序。 但是我们需要自动化吗? Selenium测试自动化的好处是什么,让我们看看。

日常监控

借助Selenium测试自动化的便利,不仅可以轻松测试您的Web应用程序,而且可以每天监控这些测试的结果,这变得相当容易。 LambdaTest提供了一个直观的仪表板,可帮助您通过我们的在线Selenium Grid分析Selenium测试自动化套件执行的结果。 您可以查看所有时间戳记以及各种日志,以帮助您快速调试Selenium测试脚本遇到的任何问题。

查找关键案例以确保可靠的用户体验

硒测试自动化可以帮助您发现生产中的错误,然后才能影响任何访客或客户的用户体验。 由于复制实时用户案例场景和用户数据非常困难,因此在生产中进行测试有助于识别否则无法识别的独特测试案例。

在高峰时间安排硒测试自动化

生产环境中的硒测试自动化可以帮助您在Web应用程序的高峰时段安排全面的自动浏览器测试。 从而始终确保质量。

减轻回归测试的工作量

硒测试自动化可以帮助您消除回归测试周期中的麻烦。 这样,每次将新代码提交给您的产品时,您所需要做的就是运行Selenium测试脚本,所有内容将自动在不同的浏览器中进行验证。 那还不是全部! 利用Selenium测试自动化还可以使您更快地执行Beta程序,因此您可以立即获得有关新推出的功能和用户体验的反馈。

利用硒网格加快上市进程

与Selenium WebDriver不同,Selenium Grid可以帮助您并行执行测试自动化。 这对于大型和小型公司都至关重要。 每个发布周期都会为您的Web应用程序添加一些新内容,这意味着将有更多测试用例可以自动化。 最终,如果您依靠Selenium测试脚本执行顺序测试执行,您将遇到麻烦。 通过利用Selenium Grid,您可以并行运行任意数量的测试用例,这可以大大减少测试周期的执行量,从而加快上市速度。

如果在生产中进行测试很酷,那我们为什么还要犹豫呢?

现实情况是,在许多公司中,测试团队经常会在生产中犹豫甚至忽略测试。 其背后可能有多种原因。 一个是敏捷测试仪的寿命很苛刻,每周或每月他们的测试需求只会越来越大。 另一个原因是分阶段环境下的测试周期导致的消耗。 在测试了庞大的测试套件之后,在生产环境中测试相同的东西变得令人沮丧。 以及测试清单中的所有新内容。 因此,测试人员认为,如果可能出现重大问题,则以某种方式进行一次烟雾测试会更好,然后客户会以任何方式举报。

在生产中执行测试的策略

现在,我们已经完成了在生产中进行测试的重点。 接下来的问题是关于实现的问题!! 如何开始在生产中进行硒测试? 我可以使用哪种策略? 让我们进一步探讨在生产中执行测试的策略或方法。

蓝绿色部署

在这种策略中,部署是在彼此相同的蓝色和绿色两个相似的生产环境中完成的。 在任何时候,只有一个环境处于活动状态,可以为所有生产提供服务。 在这种情况下,蓝色将获得所有生产流量,而绿色(蓝色的克隆)将保持闲置状态。 所有测试均在空闲状态(即绿色)下进行,一旦测试以绿色完成,所有流量便路由到该位置,并成为新产品。

金丝雀测试

在金丝雀测试中,新功能仅向一小部分最终用户推出。 当确保Web应用程序在目标组中运行良好时,更改将被汇总到完整的流量中。

A / B测试

在A / B测试中,您向最终用户推出了两个不同版本的Web应用程序。 一个版本可以是旧版本,另一个版本可以是新推出的功能。 然后,在保留性能更好的版本的基础上,进一步分析哪个版本性能更好。

自动回滚策略

在此策略中,只要发现故障,就可以将Web应用程序返回到先前的稳定版本,而您仍处于监视阶段。 正确实施后,回滚可以帮助您实现以前的稳定应用状态,但是实施不当会导致数据丢失。

生产中硒测试自动化的最佳实践

我知道您现在已经准备好使用加速器了,迫不及待想为您的生产环境编写Selenium测试自动化套件。 但是,作为生产环境中Selenium测试自动化的最佳实践,您需要注意一些提示。

查找正确的硒测试工具

选择正确的Selenium测试工具在成功实施测试策略中起着举足轻重的作用,从而使其成功或失败。 正确的测试工具以及有效的DevOps流程可以确保从开发到生产的每个阶段都能平稳运行。 召集所有利益相关者并向他们解释生产测试的必要性将至关重要。 诸如LambdaTest之类的Selenium测试工具不仅可以帮助您在超过2000种真实的浏览器上测试Web应用程序。 它还有助于与众多用于CI / CD,项目管理,即时消息传递,无代码自动化等的第三方工具集成。

建立监控流程

仅仅因为您已经部署了自动化策略,并不意味着您就可以坐下来放松一下。 即使正确实施了策略和测试方法,也总是会遗漏一些错误。 您需要持续监控生产中的测试结果。

密切关注您的Web应用程序如何响应高流量以及服务器和数据库性能。 对应用程序的有效监视可以使您对产品有更深入的了解,并有助于识别和缓解不时出现的任何重大错误和问题。

确保主动警报机制

万一生产环境中出现问题,请确保在Selenium测试自动化过程中配置了通知或警报系统。 利用詹金斯(Jenkins)等CI / CD工具,该工具可以在发现问题后立即提醒合适的人员,您可以尽快找到并解决问题。 如果没有这种自动化,错误和缺陷可能会不被注意并妨碍您的用户体验。

使用功能标记

通过使用功能标志,可以使用if / then语句包装功能。 通过隔离功能在系统上的效果,您可以独立于部署打开/关闭功能,从而使您可以更好地控制功能。 这将功能推出与代码部署分开。

一旦使用功能部件标志部署了新代码,就可以在实时环境中根据需要对功能部件进行测试。 这使您可以更好地控制该功能及其对代码的影响。

合并POM(页面对象模型)

页面对象模型通常忽略了它,这对于生产中的硒测试自动化是必需的。 您需要使用页面对象模型,以便将所有UI元素定位器存储在一个位置,这使WebDriver更容易利用Selenium定位器 。

为BDD合并小黄瓜

测试人员常常忽略诸如Gherkin之类的语言解析器,因为他们认为单独编写逻辑比编写代码要简单得多。 但是,这对于过程中涉及的非编程涉众可能非常有帮助。 他们可以评估Selenium测试自动化脚本如何影响整体系统验证。

始终有执行版本回滚的选项

确保通过更好的稳定性和恢复测试防止任何重大问题。 确保Web应用程序可以从不确定的事件中恢复,而不会丢失任何重要功能和关键数据。 如果任何新推出的功能会影响旧功能,则需要确保可以有效地将其回滚而不会丢失数据。

总而言之

生产中测试的主要议程是确保Web应用程序在实时环境中稳定。 为了避免中断,您需要使测试脚本自动化,以确保在所有最新的和旧版浏览器中都对Web应用程序进行了尝试和测试。 硒网格是实现此目标的好方法。 使用Selenium Grid,您可以跨所有浏览器自动执行测试脚本。 它不仅可以帮助您自动化重复的测试用例,还可以帮助我们并行执行它们。 最终,减少测试周期内的总体时间消耗。 万一发生故障,请确保您可以选择回滚到Web应用程序的先前部署版本。 祝您测试愉快!

为什么在生产中进行硒自动化测试对于您的下一个版本至关重要?相关推荐

  1. selenium自动化测试_为什么在生产中进行Selenium自动化测试对于您的下一个版本至关重要?...

    selenium自动化测试 您是否认为仅仅是因为您的Web应用程序在过渡环境中以飞快的速度通过,它对于生产环境也将是相同的? 您可能需要重新考虑! 特别是,如果我们指的是跨浏览器测试 ,则需要确保跨各 ...

  2. 性能测试测试环境与生产环境_不在生产中测试? 在生产中进行测试!

    性能测试测试环境与生产环境 如果您上一次更新IT安全标准是在5年前或更早,那么它们很可能与当今的DevOps和站点可靠性工程 (SRE)实践的现状不符. 一个特别棘手的话题是生产中的测试,以及因此使用 ...

  3. Hibernate:hbm2ddl.auto =在生产中更新?

    本文翻译自:Hibernate: hbm2ddl.auto=update in production? 是否可以运行使用hbm2ddl.auto=update配置的Hibernate应用程序来更新生产 ...

  4. 在生产中使用Java 11:需要了解的重要事项

    来源:SpringForAll社区 如果您正考虑更新最新版本的Java,阅读本文以了解有关Oracle Java 11的最重要信息. 如果您及时了解Java社区的新闻,您可能听说Oracle改变了他们 ...

  5. mlflow_在生产中设置MLflow

    mlflow This is the first article in my MLflow tutorial series: 这是我的MLflow教程系列的第一篇文章: Setup MLflow in ...

  6. aws eks_在生产中配置和使用AWS EKS

    aws eks 到现在,我们已经完成了向Amazon EKS ( 工作地点)的迁移,并且集群已经投入生产. 过去,我已经写了一些要点的简短摘要,您可以在这里找到. 当系统正在处理实际流量时,我有了一些 ...

  7. vue中生产模式和调试模式_为什么在生产中进行调试是如此诱人?

    vue中生产模式和调试模式 生产调试 为什么在生产中进行调试是如此诱人? 在我的第一份工作中,我要做的任务之一是修复一个错误,该错误过去在非常复杂的生产系统中有时会发生. 那很简单! - 我想. 我将 ...

  8. 在生产中配置和使用AWS EKS

    到现在,我们已经完成了向Amazon EKS ( 工作地点)的迁移,并且集群已经投入生产. 过去,我已经写了一些要点的简短摘要,您可以在这里找到. 当系统正在为实际流量提供服务时,我有了一些额外的信心 ...

  9. 为什么在生产中进行调试是如此诱人?

    生产调试 为什么在生产中进行调试是如此诱人? 在我的第一份工作中,我要做的任务之一是修复一个错误,该错误过去在非常复杂的生产系统中有时会发生. 很简单! - 我想. 我将在开发环境中重现同样的情况,找 ...

最新文章

  1. Solarium简易使用
  2. JVM运行时栈帧结构
  3. 干货 | 蚂蚁金服是如何实现经典服务化架构往 Service Mesh 方向的演进的?
  4. 43行代码AC——HDU 1757 A Simple Math Problem(矩阵快速幂,附快速幂讲解)
  5. debian常用工具所在的包
  6. DataGrid中的超级链接列使用注意点
  7. Java匹马行天下之学编程的起点——走进编程的殿堂
  8. 教练级导师带你打5场AI大赛,还有奖金5万元的工业级AI实战赛等你来战!
  9. (整理)RMAN备份详解
  10. Tomcat基础教程(三)
  11. matlab生猪的出售时机,数学模型程序代码-Matlab-姜启源-第三章-简单的优化模型.doc...
  12. Centos系统彻底卸载MySQL数据库
  13. 关闭word 2010时每次都提示:所做更改会影响共用模板Normal.dotm
  14. 软件项目经理(实施)流程经验及理解
  15. 分布式架构设计原则:分布式架构的基本理论CAP、BASE以及应用
  16. 1052 Linked List Sorting (25 分)-PAT甲级
  17. 【笔记】《iOS开发进阶-唐巧》
  18. aruba无线轻轨项目
  19. Python的字典中动态添加键值对
  20. ps切片 html作用,ps切片有什么用,PS切片是什么

热门文章

  1. jzoj3833-平坦的折线【模型转换,LIS】
  2. jzoj6305-最小值【线段树,dp,双端链表】
  3. P1463-[POI2002][HAOI2007]反素数【约数,数论】
  4. 【2018.3.10】模拟赛之四-ssl2133 腾讯大战360【SPAF,图论,最短路径】
  5. ssl1007 and ssl -最大乘积 and 加法最大【区间dp练习】
  6. 【树链剖分】【线段树】树的统计(金牌导航 树链剖分-1)
  7. 【状压DP】剑之修炼(jzoj 2130)
  8. [集训队作业2018] 三角形(贪心,堆,线段树合并)
  9. 线段树动态开点区间加区间求和
  10. Oracle入门(五A)之conn命令