这篇文章将介绍持续云测试(continuous testing in the cloud)的优势,最佳实践,以及回答为什么持续云测试比以往更加至关重要,我们还会在文章中看到不同类型的团队进行云测试的实例。
今非昔比:为什么云测试变得更加至关重要
新冠疫情给测试工作带来了不小的挑战。许多测试设备,不管是手机还是笔记本都留在了办公室,今年伊始,它们几乎就没有被使用过。
手机和浏览器市场的分化
显而易见的是,手机市场仍然保持进一步分化的趋势。不管是 iOS 还是 Android,都在快速并且持续地推出新产品。
尤其是对于 Android 平台来说,测试工作要始终跟得上新款设备和最新的操作系统的发布速度是非常困难的。iOS 在苹果公司发布和管理的原生系统(stock OS)上执行,而 Android 在这个问题上却更加复杂,因为 Android 有许多不同的产品厂商,例如 Samsung,Google,Huawei,LG 等等,各个厂商都在原生系统(stock OS)上创建他们各自厂商定制的系统,因此这就让测试工作变得复杂。
移动端自动化测试完全指南
从浏览器角度来看,团队也仍然要被当前市场的分化现状所考验。作为响应式或渐进式 Web 应用程序测试的一部分,您需要留意应用版本以及浏览器市场份额。我们注意到 Chrome 用户比 Firefox 用户更容易升级他们的浏览器版本,尽管 Firefox 每月发布新版本,但还是落后于 Chrome。
云测试的优势
云测试最主要的一个优势就是使事情更快开展,不管是对于开发人员还是测试工程师,云上工作减少了构建和设置环境的痛苦。
此外,面临诸多新的发布,您需要消耗不少精力和资金的开发环境与设备保持最新。而当您使用云时,您可以减轻许多诸如此类环境设置的负担,以及专注于左移测试(Shifting your test left)并更快地获得反馈。
除此之外,云测试允许您在有限的时间内并行执行多个任务。
具备可扩展性
在云测试中,您可以增加或减少并行测试的规模,以控制测试速度和给定 sprint 中实际使用的并行测试数量。云解决方案有助于实现并行和大规模执行。
具备安全性
完备的安全性是云测试的另一个主要优势。现在,对于大多数居家办公的团队而言,这一点显得尤为重要。确保您通过 VPN 安全通道进行操作可以减少日常测试的麻烦和漏洞,这是云测试的又一个优势。
可应用于真实的用户条件
现实中,在您自己的工作环境中完全自己配置各种设备非常困难,而且成本很高。云测试解决方案则可以为您提供各种常见设置或配置的 Web 或移动平台。
在云测试中,您可以测试真实的用户条件,例如切换后台执行、网络条件、不同的屏幕尺寸和分辨率、4G、5G、Wi-Fi,各种语言,各种弹窗、安全警告、通知等。
促进协作
使用云测试解决方案可以打破孤岛,因为它提供一个可以查看全部工作活动的工作看板。如果您是开发人员,测试经理,QA 工程师或产品经理,您可以查看云上所有测试活动,也可以查看到在平台上执行测试用例的自动化测试框架。通过这种方式,云测试促进了跨团队协作,并且减轻了所有这些挑战对用户造成的痛苦。
更快使用到新设备
提高工作效率
使用云测试时,团队效率更高。因为您或您的团队无需建立或清除测试环境,也不必去维护测试平台例如确保所有设备都已插入并在充电,从而您就能够拥有更多时间去进行更重要的活动。
完整的工具栈集成
云测试与您的技术无关,这意味着工程师和测试人员可以选择适合其目标的技术。
您可以将团队使用的从开发到测试的完整工具栈集成到云上,因此云也将促进开发与测试的协作。团队可以实现从Jenkins到Bitrise或 Applitools 以及 Android Studio 或 IntelliJ 或Eclipse所有内容的同步。当然,各种自动化测试框架例如Selenium,Appium,XCUITest,Espresso等都能够完全完整的集成并且在云设备中运行。
云测试实例
现在让我们来看一下不同的测试团队是如何利用云测试解决这些挑战。
手动测试我们先来看一下团队是如何利用云设备进行手动测试。
对于许多测试团队而言,手动测试将始终存在。这是测试工作的一部分,这也是团队真正希望尽可能避免的事情,但有时您需要这样做。因此,拥有一个提供支持的云解决方案很重要。
随着这些团队开始进行更现代化的测试并过渡到自动化测试,云测试是实现此目标的理想之地。云测试适用于进行手工测试的团队,并且可以将其优势发挥得淋漓尽致。
如果您正在寻找入门的云测试平台,Perfecto 是一个不错的选择,因为您不仅仍然可以在 Perfecto 内部进行手动测试,而且还会同时获得该平台的许多其他优势。
云测试可以帮您解决测试中一些特殊的用例,例如:
· 模拟在处于不同分支机构的位置测试(Location for branches)
· 模拟可能来自世界任何地方设备的不同场景
· 扫描二维码等
自动化测试在云上进行测试还有助于开展自动化测试的团队。对于希望加快测试速度并将其集成到 CI/CD 工作流中的团队而言,云测试是关键。
已经使用自动化测试框架的团队可以将它们连接到云测试,这些测试框架包括:
· Appium
· Selenium
· SCUITest
· Espresso 等
对于执行、联编(orchestration)、以及 CI/CD 工具也是如此。云测试的另一个好处是它具有扩展自动化的能力。您可以在不同的手机,不同的浏览器以及不同的版本上运行测试。并且借助云测试的优势,您可以并行运行它们。您可以同时在移动设备和浏览器上执行成百上千个并发测试,这就是大规模进行自动化测试执行的方式。
Perfecto 为您提供行业内无与伦比的并行执行能力,这就引出了下面的例子。
企业团队扩展自动化测试
我们最后一个线上测试的实例是来自企业团队。企业可能意味着由数百个用户组成的大型团队,也可能意味着大型组织(例如大型银行或金融组织)中的小型团队。
无论哪种方式,企业团队通常都有真正复杂的需求,他们需要企业级工具。但这到底意味着什么呢?这意味着需要更多安全保证。
例如,Perfecto 云是唯一在全球均设置数据中心的云平台。因此,如果您希望在您所在的地区(即加拿大,美国,欧洲或亚太地区)使用设备,您所在地区的数据中心将满足您的需求。
这意味着您可以在这些国家/地区获得真实的设备。您可以在那些国家/地区使用 SIM 卡进行所需的测试。更重要的是,如果您有需要,您也能够在私人 Perfecto 企业云和内部网络之间建立安全的 VPN 连接。
体验 Perfecto 云测试
在任何 DevOps 测试策略中,云测试都是成功的关键推动力。云解决方案提供了跨移动和 Web 平台以及在不同地区,不同位置和不同环境条件下执行手动和自动测试的能力。Perfecto 是各种规模的团队在云中进行测试的理想平台。它可以帮助您更快地进行测试,并具有更好的覆盖范围,更少的逃逸缺陷(fewer escaped defects)。使用 Perfecto,您可以:
· 对云中的设备和浏览器进行测试
· 无需重新创建测试环境即可轻松进行调试
· 跨平台进行测试
· 通过测试报告和分析提高测试结果可见性(visibility)
· 与您的工具链中的任何内容集成
Eran Kinsbruner
DevOps 首席布道官,Perforce 软件高级总监 Perfecto Eran Kinsbruner 是 2016 年亚马逊畅销书《The Digital Quality Handbook》,《Continuous Testing for DevOps Professionals》和《Accelerating Software Quality –ML and AI in the Age of DevOps》,后者被 Book Authority 评为“Best New Software Testing Book”。他是 Perforce Software 的首席布道官和高级总监。Eran 拥有 20 多年在 Sun Microsystems,Neustar,Texas Instruments,General Electric 等公司的开发和测试经验,拥有 ISTQB,CMMI 等各种行业认证。Eran 是持续测试和 DevOps 思想领导力方面公认的影响者,是国际演讲者,博客作者,还是专利持有者(test exclusion automated mechanisms for mobile J2ME testing)。Eran 在社区中很活跃,您可以在社交媒体上找到他,他拥有自己的博客。