
上篇、中篇 分别讨论了 5款 AI 测试工具 Applitools、Appvance IQ、EggPlant、mabl 和 ReTest。而Sauce Lab 依旧不能访问,那这篇就 review 最后三个工具:Sealights、Test.AI 和 Testim。
6. Sealights
3年前介绍Sealights时,它已是一个基于云的测试平台,能够利用机器学习技术分析SUT的代码以及与之对应的测试,覆盖单元测试、系统的业务测试和性能测试等,并能呈现完整的质量Dashboard。今天,Sealights更是秉持DevOps思想,将贯穿软件研发生命周期的质量工作做到底,已经不用 “测试平台” ,而是 “软件质量治理平台(The Software Quality Governance Platform)”

正如我在去年QECon上海站的致辞所说,今天我们面临三大挑战:复杂性、不确定性和速度(持续交付):
● 难以确定测试应该关注的正确领域 43%
● 不能在适当的级别上应用测试自动化 50%
● 需要更好的控制和测试活动的透明度和覆盖率 63%
Sealights就是为了应对这三个问题而给出的整体解决方案,确保尽早减轻质量风险,而且Sealights的软件质量治理采取数据驱动的决策方法,从而使质量治理更科学、更高效。

(Sealights的产品没有单独强调AI,而是将AI溶于产品之中,但主要体现在质量风险分析、质量洞察上)

软件质量治理可以助力数字化转型,这个过程更关注于 “质量风险”这个概念,帮助我们尽早、尽快揭示影响用户的更严重的缺陷。

Sealights 质量治理主要包含四个方面:策略、质量门禁、可行动的洞察和质量风险控制。
● 策略:组织的领导必须意识到质量的重要性并重视质量,做好变更管理和明确合规性涉及哪些方面,确定可接受的风险级别、定义每个软件治理策略的确切范围等;
● 质量门禁:允许管理层在整个组织中实施其质量策略的运行机制,一定能够识别可能影响生产系统的pull请求或部署请求,识别哪些策略与软件组件相关,并基于标准化的质量度量和计算风险评分强制执行 “go-no-go(是否发布)” 的决策;
● 可行动的洞察:软件变更、变更复杂性、测试活动和所有软件组件的底层质量的丰富数据为软件研发洞察提供支持,并使用AI和大数据技术进行分析,可以洞察质量问题,如将测试和质量度量、业务需求以及跨组织策略联系起来。
● 质量风险控制:在开发人员、团队的级别上提供粒度质量指标(如开发团队的变更历史、代码复杂性和代码质量指标;测试团队的所有测试级别的测试覆盖率、测试质量和测试周期),以支持数据驱动的质量决策,可以用来预测未来质量风险的缺陷和错误。
7. Test.AI
3年前,介绍Test.AI时,它只是Selenium和Appium的一个插件,动态识别屏幕和元素并驱动应用程序的测试自动执行,虽然可以用一种类似于Cucumber的BDD语法的简单格式定义测试。
今天强调代替Selenium,超越传统软件测试自动化工具,使用test.ai进行测试,可以消除了冗长的测试脚本创建和维护的周期,节省大约75%的测试时间。
● 构建:AI-bots(机器人)无需编写代码或脚本就能构建测试。
● 维护:AI-bots自动维护测试;
● 规模:AI-bots可以将测试扩展到任何平台、任何应用程序类型;
● 加速:AI-bots加速测试到DevOps的速度。
似乎没有新的东西,但是仔细研究,发现其功能强大,包含三大部分:AI Test Creator、AI Test Execution 和 AI Visual Reporting。在创建测试时,交互式能力比较强,在运行导航应用程序、收集和标记数据以及实时构建测试时,可以灵活控制UI元素或创建过程,具有良好的无代码创建能力。看看它的架构和工具界面,比3年前要成熟多了。

(test.ai 层次结构)

(test.ai 系统架构)

(test.ai 无代码创建测试界面)
如果感兴趣,可以进一步看一个完整介绍的视频:https://testai.wistia.com/medias/1j2oo8bq5q
9. Testim
3年前介绍Testim时,特别提到它致力于减少不稳定的测试(flaky tests)和测试维护,试图利用机器学习来加快开发、执行和维护自动化测试。
今天,它的能力明显增强,成为久经沙场的AI工具,测试创建与执行更快、更灵活和更稳定,可以录制业务工作流、自动识别并锁定元素、自定义代码等,像微软、Salesforce、JFrog等这样的公司都是它的客户,值得试用。

在录制业务操作流程时,具有高度的准确性和一致性,不仅能捕获简单的操作,如单击和文本输入,还可以捕获更复杂的操作,如拖放、iframe交互,甚至多选项卡用例。Testim能够分析web应用程序的整个DOM,以理解唯一标识每个元素的属性和关系,而且拥有智能定位器自动锁定元素,无需用户干预,以简化和加快创作过程。

Testim复用能力强,而且在可视化的编辑器中修改已录制的测试,如创建条件来规定测试步骤何时运行,删除、添加或重新排序步骤,配置文本、pdf、电子邮件等的验证。最后,可以将测试导出为代码并在IDE中编辑,也可以将自定义JavaScript插入任何步骤以执行前端或服务器端操作,实现自定义代码。

(在测试的流程中进行分组、插入新的测试等)

(在测试某个步骤自定义代码)
还有一个突出的概念,挺好。


除了所介绍的8个AI工具之外,像Functionize 、Kobiton、Katalon Studio和 Tricentis Tosca等工具也具有良好的智能特性:
● 基于视觉线索的自动化测试,独立于底层平台或技术;
● 自愈测试,借助重大技术变革和升级。
● AI 驱动的自动化
● 自定义的识别控制,通过视觉AI训练实现
最后看一个轻松的视频,快速了解自动化测试的发展历史和未来展望,进入新时代。