代码质量与安全 | ChatGPT能帮到你什么还有待探索,但人工智能真的可以帮你做自动化测试

news2024/11/15 5:00:46

在这里插入图片描述

当听到“人工智能”(AI)时,你会想到什么?

你可能会开始想象科幻电影中的先进的人形机器人或者未来科技,但是,人工智能聊天机器人程序Chat GPT的爆火已经证明,这种“未来主义”技术已经融入了我们的生活。AI已经存在于我们的手机、电视和家庭中,让日常的工作、生活更便利。

在涉及到软件测试时,将人工智能实施到测试计划中可以帮助您提高效率。虽然“测试中的人工智能”这个短语的概念很模糊,可能会引发一些怀疑,但它确实可以提供真正的价值,并简化您的测试工作。

但人工智能到底是什么,它的发展方向是什么,它如何优化软件测试?阅读本篇文章,您能找出答案。

什么是人工智能?

人工智能是一个具有越来越多的自学能力的系统,可以补充人类的认知和行为。它通过理解环境、解决人类问题和执行人类任务来做到这一点。

例如,谷歌地图使用人工智能来监控交通模式,并预测出最佳路线。Netflix(网飞)还使用机器学习(人工智能的一个子集)来为其推荐算法提供动力,该算法用来向您推荐适合您偏好的节目。

像这样的人工智能系统是通过将数据输入智能算法来运行的,这些算法可以通过分析数据中的模式来进行学习和改进。这些算法接收的数据越多,它们对环境的理解和对模式的预测就越好。这些系统还可以训练来执行简单和复杂的任务,具体取决于模式匹配算法。

人工智能会取代我们的工作吗?

很多人越来越担心人工智能会取代自己的工作…接而取代人类主宰这个世界。虽然这可能是一个宏伟的电影情节,但现实并没有这么可怕。由人工智能辅助人类来进行测试仍然是最佳实践,并且在可预见的未来中仍然如此。

test.ai的首席科学家塔里克·金(Tariq King)在2022年STAREAST软件测试会议上进行了主题为“Lighting Strikes the Keynotes(被闪电集中的Keynotes)”的演讲,其中谈到了人工智能的未来。金指出,我们最大的问题是存在大量不受信任的不良软件。有这些糟糕的软件在前,人们会担心人工智能只是一种创造更多糟糕软件的有效方式。

但金继续讨论了一个很有前景的替代现实:在这个世界里,生产了大量的优秀软件,而人工智能由测试人员保持稳定。一旦“人工智能革命”发生,我们就可以建立更高质量的软件和人工智能系统,并利用人工智能技术来开发可信任的软件。通过这一切,一个新的测试人员子集将出现,成为监督和支持这些改进的人工智能系统的英雄。

因此,虽然测试的未来将开始改变,但我们的世界还没有变成一部科幻电影。

人工智能如何优化您的测试

在过去的几十年里,软件测试发展迅速。它从手动测试开始,转向早期的自动化测试、敏捷测试,然后是持续测试。现在,它已经达到了人工智能增强的自主测试。

实现自主测试似乎是一个不可能实现的目标,但您可以开始实施人工智能功能,为其奠定基础。人工智能可以通过加速测试创建、扩大测试覆盖率和减少测试维护来优化您的测试。让我们来看一些示例。

对象识别是智能设计的一种形式,它可以识别新对象和更新,将其添加到DOM中,无需手动操作。它还有框架生成功能,可自动扫描应用程序,然后推荐一个测试框架。

业务流程自动化是智能测试执行的一个例子,它有助于将业务工作流程自动化,实现端到端的测试。最后,自我修复是智能测试维护的一种形式,当您的应用程序发生变化或演变时,它会动态地更新你的测试套件。

SmartBear在测试中的人工智能示例

TestComplete是SmartBear的UI测试自动化工具,拥有一个由人工智能驱动的功能,叫做智能质量插件。它具有诸如自我修复测试、光学字符识别(OCR)和基于机器学习的可视化网格识别等智能功能。

自我修复测试可以自动识别由于动态属性引起的意外错误,并推荐更好的替代方案。这可以防止测试失败,但更重要的是,可以节省检查这些错误的时间。OCR能够通过基于文本内容而不是其属性来识别对象,从而帮助您与复杂应用程序上的内容进行交互。

您还可以通过基于机器学习的可视化网格识别提高效率,它可以帮助您根据网格和表格等复杂对象验证数据。它是通过识别表中的数据,并根据基线副本验证其内容来实现这一点的。

未来,TestComplete将寻求引入更高水平的人工智能,来帮助您实现自主测试。它将使用人工智能生成测试用例、运行测试和修改测试用例(即使UI发生变化),所有这些都无需人工参与。

未来已来

虽然,人工智能技术还有很长的路要走,但从Netflix(网飞)推荐到软件测试,它已经开始让我们的生活变得更轻松。如果我们继续努力改进和利用人工智能技术,事情只会变得更好。从现在开始,拥抱人工智能,并成为塑造测试自动化下一阶段的关键一员。

小彩蛋:ChatGPT怎么看待人工智能在自动化测试中的运用?

在这里插入图片描述

文章来源:https://smartbear.com/blog/artificial-intelligence-in-test-automation/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/376629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三个月自学自动化测试,薪资15K直接翻倍,鬼知道我经历了什么····

学习软件测试是迫不得已,幸好最后通过自己的付出,得到了满意的回报。希望大家能通过我的经历得到一些帮助和思路。 零基础自学遇到的第一个难题就是需要怎么学,刚开始一头雾水,只能先从网上买些书来看,但是收效甚微。…

Unity中获取地形的法线

序之前,生成了地形图:(42条消息) 从灰度图到地形图_averagePerson的博客-CSDN博客那末,地形的法线贴图怎么获取?大概分为两个部分吧,先拿到法线数据,再画到纹理中去。关于法线计算Unity - Scripting API: M…

第4讲 cameraserver.rc详解(下)

本讲是Android Camera Native Framework专题的第4讲,我们介绍cameraserver.rc详解(下),包括如下内容:Android init语言简介cameraserver.rc详解serviceuser选项group选项ioprio选项task_profiles选项rlimit选项更多&am…

领域自适应 DA Domain Adaptation

领域自适应是与机器学习和转移学习相关的领域。 当我们的目标是从源数据分布中学习在不同(但相关)的目标数据分布上的良好性能模型时,就会出现这种情况。 例如,常见垃圾邮件过滤问题的任务之一在于使模型从一个用户(源…

2023年金三银四必备软件测试常见面试题1500问!!!【测试思维篇】

五、测试思维5.1 打电话功能怎么去测?我们会从几个方面去测试:界面、功能、兼容性、易用性、安全、性能、异常。1)界面我们会测试下是否跟界面原型图一致,考虑浏览器不同显示比例,屏幕分辨率。2)功能&#…

SpringBoot:SpringBoot配置文件application.properties、application.yml 和 application.ymal(2)

SpringBoot配置文件1. 配置文件格式1.1 application.properties配置文件1.2 application.yml配置文件1.3 application.yaml配置文件1.4 三种配置文件优先级和区别2. yaml格式2.1 语法规则2.2 yaml书写2.2.1 字面量:单个的、不可拆分的值2.2.2 数组:一组按…

《分布式技术原理与算法解析》学习笔记Day24

分布式缓存 在计算机领域,缓存是一个非常重要的、用来提升性能的技术。 什么是分布式缓存? 缓存技术是指用一个更快的存储设备存储一些经常用到的数据,供用户快速访问。 分布式缓存是指在分布式环境或者系统下,把一些热门数据…

全面零信任?Dell搞了个“大动作”

1860年,清朝僧格林沁带领数万骑兵,朝着数千英法联军发起猛烈冲锋,企图依靠清朝凶狠的骑兵突击战术击溃对方。然而,面对已经完成了近代化的西方军队,原来无往不利的八旗骑兵被打的土崩瓦解,再无任何抵抗的能…

Editor工具开发基础四:窗口EditorWindow

目录 1.设置窗口位置和大小 2.设置窗口最大和最小 3.设置窗口标题 4.设置窗中窗 BeginWindows和EndWindows 5.添加窗中窗可拖动 GUI.DragWindow() 完整代码: public class EditorToolWindow : EditorWindow {public static EditorToolWindow ins;[MenuItem(&q…

Elasticsearch:保护你的 Elasticsearch 实例 - 如何使用带有内置证书的 Docker 镜像

使用 docker 来构建 Elasticsearch 集群为开发者们带来了极大的方便。在我之前的文章中: Elasticsearch:使用 Docker compose 来一键部署 Elastic Stack 8.x Elasticsearch:如何在 Docker 上运行 Elasticsearch 8.x 进行本地开发 Elastic&am…

JavaSE-线程池(5)- ThreadPoolExecutor常用方法

JavaSE-线程池(5)- ThreadPoolExecutor常用方法 invokeAll ExecutorService 接口中定义的方法,给定一组任务,在所有任务执行完成时返回一个 Futures 列表,其中包含它们的状态和结果。 /*** Executes the given task…

Java基础:常见API(Math,System,Runtime,Object,BigInteger,BigDecima)

1.常见API 1.1 Math类 向上取整是向着数轴右边走的意思, 负数也是. 也可以叫进一法, 不论正数负数都会往右走一. 向下取整是向着数轴左边走. 也可以叫去尾法, 不论正负数都会将小数点后的数字去掉. 1.1.2 练习 // 判断有多少水仙花数int count 0;for (int i 100; i < 1…

代码随想录算法训练营九期第十三天 | 239. 滑动窗口最大值、347.前 K 个高频元素、总结

打卡第十三天&#xff0c;昨天休息&#xff0c;今天继续栈和队列&#xff0c;重新复习了单调队列&#xff0c;上次看ACwing的视频学了单调队列&#xff0c;没有完全学明白&#xff0c;重学之后比之前清晰多了 今日任务 滑动窗口最大值 347.前 K 个高频元素总结 239. 滑动窗口最…

【Ap AutoSAR入门与实战开发02】-【Ap_s2s模块01】: s2s的背景

总目录链接==>> AutoSAR入门和实战系列总目录 文章目录 1 s2s的背景?2 AUTOSAR 方法应支持车辆的无缝开发2.1 面向服务的ECU的解读2.2 面向信号的ECU的解读2.3 通过网关ECU实现转换1 s2s的背景? Cp AutoSAR基于传统的can,lin,flexray总线的通信,一般是面向信号设…

汽车网络安全需求分析方法综述

引言&#xff1a; 近年来&#xff0c;汽车的网络安全问题逐渐被重视&#xff0c;在汽车产品的全生命周期中&#xff0c;需要进行网络安全风险管理&#xff0c;其主要活动包括网络安全需求分析、安全策略设计与实施、运营阶段安全监控与应急响应等。 安全需求分析工作作为系统安…

信息安全概论之《密码编码学与网络安全----原理与实践(第八版)》

前言&#xff1a;在信息安全概论课程的学习中&#xff0c;参考了《密码编码学与网络安全----原理与实践&#xff08;第八版&#xff09;》一书。以下内容为以课件为主要参考&#xff0c;课本内容与网络资源为辅助参考&#xff0c;学习该课程后作出的总结。 一、信息安全概述 1…

【蓝桥杯集训9】单调栈、单调队列(模拟栈、模拟队列)专题(3 / 3)

目录 单调栈模板 1、模拟栈 单调队列模板 1、模拟队列 2、双端队列 135. 最大子序和 - 前缀和滑动窗口单调队列 单调栈模板 什么时候用单调栈&#xff1f; 求序列中每一个数左边或右边第一个比它大或小的数 1、单调递增栈 在保持栈内元素单调递增前提下&#xff08;如果…

Redis 主从库如何实现数据一致?

目录 1、主从库间如何进行第一次同步&#xff1f; 2、主从级联模式分担全量复制时的主库压力 3、主从库间网络断了怎么办&#xff1f; 总结 // 好的文章&#xff0c;值得反复去读 Redis 具有高可靠性&#xff0c;这里有两层含义&#xff1a;一是数据尽量少丢失&#xff0c;…

2023JAVA面试题全集超全面超系统超实用!早做准备早上岸

2022年我凭借一份《Java面试核心知识点》成功拿下了阿里、字节、小米等大厂的offer&#xff0c;两年的时间&#xff0c;为了完成我给自己立的flag&#xff08;拿下一线互联网企业offer大满贯&#xff09;&#xff0c;即使在职也一直在不断的学习与备战面试中&#xff01;——或…

【Spark分布式内存计算框架——Spark Streaming】6. DStream(下)流式应用状态 Kafka

3.3 流式应用状态 使用SparkStreaming处理实际实时应用业务时&#xff0c;针对不同业务需求&#xff0c;需要使用不同的函数。SparkStreaming流式计算框架&#xff0c;针对具体业务主要分为三类&#xff0c;使用不同函数进行处理&#xff1a; 业务一&#xff1a;无状态Statel…