AI(大数据,机器学习)对测试工具和技术的改进

AI对测试改进的方向总结

  1. 用户行为分析 & 个性化营销 & 量化用户体验指标 → 用户体验优化
  2. 可视化测试
  3. 自动发现和执行测试操作或生成测试脚本
  4. 消除不稳定测试
  5. 测试平台或测试中台

用户体验

用户行为分析

基于用户行为分析来得出页面的交互体验优化方向,举例:用户有哪些典型路径,在完成某个意图时的典型路径是否过长?某个页面上用户对各个控件的操作的频度是否和预期一致以及是否有利用和改善空间?

个性化营销

  1. 对客户进行多维度地分析:以用户的地域、性别、年龄等人文属性建立分析维度,提高营销的相关性;
  2. 对营销后的用户行为分析,来进一步决定营销策略,如频率等;

建立指标来量化评价用户体验

使用访问量、平均响应时间、业务功能问题数量等来综合量化用户体验指标;谷歌也有HEART模型;

用户体验指标可以通过用户属性(地域,性别,年龄等),业务模块等维度来细化后比较差异并得出改进计划;

辅助测试

可视化测试

基于图像处理技术和算法,机器学习等技术,可以对可视化界面直接进行智能识别和操作,对得到的可视化结果进行智能比较(不同于像素比较,稳定性更好);

自动发现和执行测试操作或生成测试脚本

  1. 基于可视化测试自动识别界面的元素并智能完成相关功能的验证;也意味着可以自动生成测试案例并执行;
  2. 基于埋点映射关系和用户行为等来使用机器学习自动生成自动化测试脚本;

消除不稳定测试

智能识别测试结果中的“不一致”是变更还是Bug,并对“变更”导致的不一致,自动进行更新测试脚本。

测试平台或测试中台

类似现在云测的概念,集中提供测试服务;进而可以利用收集的测试数据,通过AI辅助分析,来优化测试案例,测试行为和验证结果等;

一些AI测试工具的主要理念

Applitools

Applitool采用一种自适应的算法来进行可视化测试(或者说视觉验证),而且不需要事先进行各种设置,不需要明确地调用所有元素,但能够发现应用程序中的潜在错误。主要特点:利用基于机器学习(ML) / AI进行自动维护(能够将来自不同页面/浏览器/设备的类似变化组合在一起);能够自动理解哪些更改更可能是一种缺陷还是一种期望,就这种差异进行排序;

Appvance IQ

根据应用程序的映射和实际用户活动分析,使用机器学习和认知自动生成自动化测试脚本。AI驱动的脚本生产是软件测试的一项重大突破。 它将极大降低脚本开发的巨大工作量——接近为零的工作量。AI创建的脚本组合既是用户驱动的,又比手动创建的脚本更全面。

Eggplant AI

Eggplant Digital Automation Intelligence整套工具使用AI和深度学习来从界面上寻找缺陷,能够自动生成测试用例,大幅度提高测试效率和覆盖率。

MABL

Mabl由一群前Google雇员研发的AI测试平台,侧重对应用或网站进行功能测试。在Mabl平台上,我们通过与应用程序进行交互来 “训练”测试。主要特点是:没有脚本的自动化测试(Scriptless tests);消除不稳定的测试(flaky tests) - 就像其他基于AI的测试自动化工具一样,Mabl可以自动检测应用程序的元素是否已更改,并动态更新测试以补偿这些更改;

ReTest

ReTest 是一家德国公司的产品,源于人工智能研究项目,使用人工智能猴子来自动测试应用程序(Intelligent monkey testing)。与其他测试自动化工具不同,在创建脚本时不需要选择被测对象的ID、会自动处理等待时间,脚本执行非常稳定。如果属性或元素是不稳定的,那么可以在执行测试后简单地标记它们。本工具号称是专门为测试人员设计的,能有效地消除了用户拥有任何编程技能的需求,测试人员只需要领域知识、待测试软件的工作原理以及认定缺陷的能力。

Sauce Labs

Sauce Labs是最早开始基于云的自动化测试的公司,每天运行超过一百五十次的测试,通过多年测试数据的积累而拥有一个虚拟宝库,能够利用机器学习来针对这些数据进行分析,更好地理解测试行为,主动帮助客户改进测试自动化。他们相信,在测试中使用已知的模式匹配和不同的AI技术是非常有用的。

Sealights

Sealights类似Sauce Labs,也是一个基于云的测试平台,能够利用机器学习技术分析SUT的代码以及与之对应的测试,不局限于单元测试,还包括系统级的业务测试和性能测试。它还有一个显著特点,基于机器学习以呈现完整的质量Dashboard,帮助我们进行“质量风险”的评估,能够关注用户所关心的东西,包括哪些代码未经某种类型或特定的测试,这样很容易地确保未经测试的代码不会上线,至少要得到尽可能的必要的验证。

Test.AI

Test.AI (前身为Appdiff ) 被视为一种将AI大脑添加到Selenium和Appium的工具,以一种类似于Cucumber的BDD语法的简单格式定义测试。Test.AI在任何应用程序中动态识别屏幕和元素,并自动驱动应用程序执行测试用例。

Testim

Testim专注于减少不稳定的测试(flaky tests)和测试维护,试图利用机器学习来加快开发、执行和维护自动化测试,让我们开始信任自己的测试。

iTestin

iTestin云测,融合了目前测试领域顶尖的自然语言处理、文本识别、图标识别技术,全面提升测试产品的易用性和自动化效率,在提升脚本编写效率一倍的同时,将脚本的维护成本降低了一倍。测试人员只需在界面中输入点击、等待、检查、长按、输入等自然语言的文字描述,后台的AI就能准确实时的在真机上进行完整无误的操作和相关指令。

发布了193 篇原创文章 · 获赞 23 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/zhiyuan411/article/details/103706232