【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

通过人工智能和机器学习实现完全自动化的 5 种方法

  • 2021-06-07
  • 本文字数:1858 字

    阅读完需:约 6 分钟

通过人工智能和机器学习实现完全自动化的5种方法

在人工智能和机器学习领域,测试自动化已经取得了长足的进步。通过引入智能测试自动化工具,可以解决传统测试自动化的难点,从而获得最佳结果。下面分享 5 种通过人工智能和机器学习实现完全自动化的方法,这些方法能够帮助项目团队减少测试工作量,提高测试覆盖率。

1.测试自动化的自修复



测试自动化中的自修复技术解决了测试脚本维护的主要问题,即自动测试脚本在对象属性(包括名称、ID、CSS 等)的每个变更阶段都会中断。测试自动化中的自修复技术在实现过程中使用了动态定位策略,程序可以自动检测到这些变更,并动态地修正它们,无需人工干预。团队可以利用敏捷测试方法中的左移方法,使得过程更加高效,提高工作效率,加速交付。


举个例子,当开发者对 HTML 页面中的对象标识符进行任何更改时,测试用例中的 UI 标识符将自动更改。虽然属性改变了,但人工智能引擎仍然定位这些元素,并根据在源代码中的更改来修改它们。这一自修复技术使开发者不必花费大量时间来识别变更,同时更新 UI。

2.测试脚本的自动生成



自动化测试脚本的开发是一项复杂的工作,需要用到 Java、Python、Ruby 等高技能的编程语言。同时还需要做大量的初始工作,并投入一定的时间和资源。使用自动化脚本进行开发可将测试脚本的生成时间减少 50%。另外,在测试脚本设计过程中加入人工智能和机器学习技术,也能大大简化其设计流程。


目前市面上有各种各样的测试工具,比如通过手动测试用例构建的 selenium 自动化测试脚本,它可以读取测试脚本,并自动生成自动化脚本。该人工智能算法使用自然语言处理,能够理解用户的意图,并在 Web 应用中模拟这些行为。它的优点是可以减少 80% 的测试脚本设计和经历。

3.大量测试数据的有效使用


很多使用敏捷和 DevOps 方法执行持续测试的组织都选择了一种严格的测试方法,并在整个软件开发生命周期中每天进行数次使用,其中包括单元、API、功能、可访问性、集成和其他类型的测试。在执行这些测试用例时,系统将创建大量的测试数据。库存的数据越多,管理人员就越难做出更准确的决定。


通过可视化最不稳定的测试用例和其他需要重点关注的部分,机器学习可以帮助开发者更容易地识别关键的问题区域。此外,通过人工智能和机器学习系统的参与,还可以轻松地对测试数据进行切片、分块和分析,并能够读取模式、量化业务风险和加快手头项目的总体决策过程。


具体来说,在人工智能和机器学习的帮助下,分析人员可以获得以下更好的特性:

  • 测试影响分析

  • 安全漏洞

  • 平台特有缺陷

  • 测试环境不稳定

  • 测试失败的重复模式

  • 应用元素定位器的脆性

4.利用自动视觉验证工具对图像进行测试


当前,在基于图像的测试领域中,自动视觉验证工具得到了越来越多的应用。


软件开发中的视觉测试(也叫 UI 测试)可以确保开发者构建的 Web 或移动应用的 UI 呈现给最终用户,这些工具旨在通过更新 UI 来帮助开发者实现应用的功能。不过当前,大多数正在进行的测试通常难以实现自动化,而是采用人工测试的方式。


人工测试很容易导致一些元素被忽略,要想准确识别这些元素,测试人员可以利用基于机器学习的视觉验证工具。这是一种基于图像的测试注入,它动态地改变了公司在任何系统中提供自动测试服务的方式。测试分析人员可以创建自动检测软件中所有视觉错误的机器学习测试,这样做有助于验证应用的视觉正确性,而无需测试专家将输入隐性地插入到系统中。

5.人工智能搜索


当前,开发者使用的基于人工智能的最新自动化技术是使用 spidering 方法为应用自动编写测试。


开发者需要为自己的 Web 应用提供一些新的人工智能 / 机器学习工具,以便启动抓取。在抓取的过程中,该工具通过截图收集数据,为每个页面下载 HTML 代码,测量复杂,并不断重复运行这些步骤。最后,这一工具会创建一个数据集,并训练机器学习模型,从而理解应用程序的预期模式和行为。


此外,该工具还将其当前阶段与之前观察到的所有模式进行比较。如果有偏差,工具将把这部分标记为测试期间可能出现的 Bug。下一步,开发者需要确认被标记的问题是否确实是 Bug。也就是说,机器学习工具负责 Bug 的检测过程,但是开发者在接受调用之前必须进行最后的确认。

结论


要想在测试中充分利用人工智能和机器学习技术,需要开发者具备一定的机器学习测试算法基础,并且要有战略上的测试方法。同时,还需要拥有一支测试团队,团队需要知道如何将复杂的数据结构分解成能够帮助开发者加强决策过程,并提高总体项目效率和收益的简化表示。


作者介绍:


Mohit Shah,供职于 ImpactQA,高级技术内容营销人员。


原文链接:


https://dzone.com/articles/5-great-ways-to-achieve-complete-automation-with-a

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2021-06-07 10:541665

评论

发布
暂无评论
发现更多内容

IOC架构设计之控制反转和依赖注入(一),原理讲解

android 程序员 移动开发

沉浸式体验,文化与科技融合创新的新业态

海比研究院

Handler-post和View-post的区别,android的开发语言

android 程序员 移动开发

Framework掌握不熟?字节跳动大牛带你系统化学习,成功定级腾讯T3-2

android 程序员 移动开发

Google又更新了:实战-MergeAdapter,hashmap底层原理

android 程序员 移动开发

Gradle 提速:每天为你省下一杯喝咖啡的时间,移动app开发公司

android 程序员 移动开发

模块二作业

@

太顶了!华为高工用一份423页的网络协议笔记把计算机网络讲清了

程序员 程序人生 网络协议

GooglePlay强推的Appbundle究竟是什么?aab?不优化代码直接减少安装包大小(1)

android 程序员 移动开发

Gradle 庖丁解牛(构建生命周期核心委托对象创建源码浅析)

android 程序员 移动开发

HarmonyOS-Service&Android-Service(1),程序员中年危机

android 程序员 移动开发

JAVA-Android-多线程实现方式及并发与同步,写给1-3年Android程序员的几点建议

android 程序员 移动开发

HMS Core 5,Android开发教程

android 程序员 移动开发

IGG:Android内存回收机制原理是什么,flutterlistview滚动卡顿

android 程序员 移动开发

Fragment的通信,flutter通知推送

android 程序员 移动开发

Glide加载Gif的卡顿优化思路分析,android开发项目实例记事本

android 程序员 移动开发

Google 为什么以 Flutter 作为原生突破口,正式加入阿里巴巴

android 程序员 移动开发

HarmonyOS-Service&Android-Service,android开发零基础教学

android 程序员 移动开发

用技术变革传统康养行业,智慧养老的正确打开方式

华为云开发者联盟

IoT 华为云 康养 智慧养老 智慧康养物联网加速器

GitHub标星9,handler机制

android 程序员 移动开发

等保测评机构需要年审吗?还是一直有效?

行云管家

云计算 网络安全 数据安全 等保 等级保护

pygame 读取一大堆图片进来,再获取一张图片上的那么一小块区域

梦想橡皮擦

11月日更

2021年日志审计设备选哪家好?咨询电话多少?

行云管家

云计算 日志审计 数据审计

Google大佬自述:天才程序员竟也有不为人知的秘密,看完真的学到了

android 程序员 移动开发

Gradle指南之从Groovy迁移到Kotlin,2021国内知名大厂Android岗面经

android 程序员 移动开发

HashMap 源码解析一、构造函数,kotlin插件

android 程序员 移动开发

Java-vs-Kotlin,Android开发人员应该选择哪种语言?,kotlin脱糖

android 程序员 移动开发

Fragment的使用,为什么有人说Android开发不再吃香

android 程序员 移动开发

GitHub标星5-3K【字节跳动大牛】手把手讲解-Android-Hook入门Demo

android 程序员 移动开发

GitHub标星8-3k的学习习惯,未来的Android高级架构师:别让这几个点毁了你

android 程序员 移动开发

Glide源码难看懂?用这个角度让你事半功倍!,移动端h5页面加载慢

android 程序员 移动开发

通过人工智能和机器学习实现完全自动化的5种方法_AI&大模型_Mohit Shah_InfoQ精选文章