从“三只小猪”的故事到“高性能”测试自动化

1965 篇文章 51 订阅
1221 篇文章 21 订阅

在这里插入图片描述
在这里插入图片描述

持续部署越来越受欢迎,因此组织对于高性能测试的需要也越来越多。

GoodRx的质量工程部门主管Priyanka Halder,在2020年1月举行的Applitools网络研讨会上,介绍了GoodRx公司在快速发展环境中如何实现高性能测试自动化。

从牢固的基础开始

Priyanka首先谈到了“三只小猪”的故事,她认为着对任何需要在快速发展环境中,构建有效的测试解决方案的组织都具有启发性。

“三只小猪”的故事:

三头小猪各自建房以保护自己免受狼的侵害。第一头小猪在几个小时内盖起了草房。第二只小猪花费一天时间用木头盖房子。第三只小猪用砖和灰泥建造了坚固的基础设施,但这花了几天的时间。狼来吃猪时,炸毁了草房和木屋,但第三只小猪则安然无恙。

组织在快速发展环境中也会遇到许多“狼”,唯一的保障就是建立牢固的基础。

什么是高性能测试

从根本上讲,高性能测试可帮助快速发展的企业提高产品质量。

为什么要进行高性能测试?

根据Priyanka调查分析,她了解到业务技术在过去十年中发生了巨大变化:

  • 范围–当今的应用程序可以在多个平台(Web和移动设备)上运行,而不是在单个浏览器上运行。

  • 频率-我们按需发布应用程序(而不是每年,每季度,每月或每天)。

  • 流程–我们已经从瀑布式发展到持续集成、集成部署

  • 基础框架-曾经组织使用单机部署软件,但今天正在使用云进行开发和交付。

如何实现高性能测试

Priyanka根据自己的经验,建议组织首先问下自身:

  • 团队是否能接受和容忍软件发生失败?

  • 团队之间的沟通有不一致吗?有不清楚的需求设计吗?是否设定了不可能完成的期限?在使用敏捷开发的同时是否使用了瀑布开发?

一旦了解了现有情况,就要开始解决这些矛盾和问题。除此之外,组织还要找到如何提前发现软件错误的方法。

建立高性能测试团队

组织需要能够了解测试方法的工程师,这些方法可以帮助他们的团队创建高质量的产品。

自动化测试的很大一部分涉及技术。测试人员需要熟悉并构建基本代码,以自动识别元素定位符,构建用于自动化的插件,并确保构建之间的一致性以实现自动化。

除技能外,你还需要具有自信和灵活性的个人。这些人需要很好地与其他团队融合。

测试自动化

Priyanka介绍了软件部署过程可以自动化的各个方面。包括:

  • 初始化和清理

  • 数据建模

  • 配置信息

  • API使用情况

  • 面向未来的功能

  • 本地和云设置

  • 速度

  • 调试功能

  • 模拟器/真实设备

  • 报告或插件

高性能测试标准

Priyanka讨论了四项测试标准:测试质量,测试运行时间,测试覆盖范围和测试并发性。

  • 测试质量–软件需要至少通过90%的测试用例。

  • 测试运行时间–每个测试用例建议在两分钟内运行完。

  • 测试覆盖范围–软件测试要能覆盖到关键平台。

  • 测试并发性–在高峰期,软件可用资源能够被使用75%以上。

GoodRx的高性能测试实践

将测试移至生产领域

GoodRx的第一个功能是使用Shift Right方法,将测试移至生产领域。

  • 在生产中进行测试,就可以使用真实数据进行测试。

  • 生产中逐步引入新功能。前提要在不影响客户使用的情况下。

  • 使用CDN之类的快速部署功能,将内部用户引导至新功能。

AI/ML(机器学习)

GoodRx团队也使用了AI/ML工具,这些工具使团队工作效率更高,能够满足高性能测试的需求。

Priyanka说GoodRx使用了Applitools。使用Applitools AI系统,GoodRx可以快速验证要测试的页面。

Applitools可以实现在不到12分钟的时间内完成完整的视觉回归,运行350个测试案例,这其中运行了2500个检查。如果这些通过手动操作,则需要六个小时。

ReportPortal.io

结合ReportPortal.io可以直观地看到软件测试时间,错误等。ReportPortal.io能够显示了一天中不同时间段的测试运行方式,还可以对比得出运行时间最长的测试,以帮助团队进一步改善。

设立高性能测试目标

目标包括:

  • 支持7*24的质量检查。

  • 专门从事测试的SDET团队。

  • 一个强大的框架,它将使任何POC都变得非常简单(即插即用)。

  • 使用Travis测试。

  • 100%的自动化。

建立高性能测试团队

需要同时具有开发素养,测试素养的工程师,测试人员不仅擅长测试自动化,还要具备一定得编码能力。

建立高性能测试技术栈

  • Python和Selenium WebDriver。

  • BDD。

  • Browserstack。

  • Applitools。

  • Jenkins/Travis和Google Drone for CI。

  • Jira,TestRail。

CI/CD的要求:

  • 速度和并行化。

  • BDD( 行为驱动开发 ),便于调试。

  • CICD中的跨浏览器跨设备测试。

  • 视觉验证。

为此,GoodRx团队:

  • 质量检查人员每小时针对最新代码版本运行73个测试,以检查该站点是否正常。

  • 任何新的代码构建都运行在6个浏览器,并确保涵盖所有关键业务路径。

  • 除其他测试外,每晚进行300个回归测试。

结论

正如Priyanka从“三只小猪”的故事开始一样,成功有效的高性能测试,需要对自动化,团队人员,AI/ML和组织基础框架进行投资改造或完善。

在这里插入图片描述


最后: 大家可以去我博客首页看下侧边栏! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值