软件 QA 通常被视为任何开发团队的昂贵必需品;测试在时间、人力和金钱方面的成本很高,同时仍然是一个不完美的过程,容易出现人为错误。通过将人工智能和机器学习引入测试过程,我们不仅扩大了可测试的范围,而且还自动化了大部分测试过程本身。
这可以在不牺牲范围或质量的情况下减少测试所花费的时间和金钱,使工程团队能够打破项目管理的“铁三角”。继续阅读以了解将 AI 和机器学习应用于测试过程如何有可能彻底改变测试环境。
测试的问题
手动测试涉及测试套件的开发,以及与测试一起使用的测试数据的生成。虽然在提交时自动运行测试套件可以很容易地集成到开发管道中以防止部署失败的代码,但测试套件本身仍然只与其中包含的测试用例和使用的测试数据一样好。创建测试的开发人员或测试人员是人类。这意味着可能会犯错误,并且可能会遗漏测试用例。随着软件的增长,测试的数量将不可避免地增加,这使得保持在测试套件之上并确保良好的代码覆盖率变得更加困难。
这些挑战可以通过将人工智能引入测试过程来克服。人工智能可以在项目中以多种方式应用,从抓取软件到使用测试数据自动生成测试套件,再到可视化分析软件输出以发现传统功能测试不易发现的错误。
视觉测试
可以训练基于图像的学习算法来分析用户界面,增强测试过程以帮助确保网页上的所有内容都能正确显示。与传统的功能测试相比,这可以通过更少的错误来完成,并且比手动测试要快得多。这节省了时间和金钱,因为用于 UI 验证的功能测试开发起来非常耗时,并且很快就会变得非常冗长,使得它们难以维护。
视觉 AI 支持的断言通过显着减少测试断言所需的代码量,彻底改变了编写 UI 功能测试的方式。例如,AI 支持的断言不是编写冗长的代码来检查 DOM 元素,而是根据目标预期输出(通常是屏幕截图)分析输出。如果输出与屏幕截图匹配,则测试通过。这可以立即突出差异,还可以更轻松地编写可以应用于不同设备和屏幕分辨率的更好的测试。
人工智能蜘蛛和用户分析
生成用户旅程需要大量时间,并且在足够成熟的软件中,可能的用户旅程数量迅速接近超出手动创建的测试用例可能覆盖的数字。AI 爬虫用于自动发现应用程序,并可与其他测试程序(例如回归测试)结合使用,以快速发现用户旅程中引入的错误。它涉及利用机器学习来创建一个模型,该模型可以通过与 UI 元素交互来导航应用程序。该模型通过应用程序创建一系列路径,以自动生成可以编写测试的工作模式。这些测试将当前模式与预期工作模式进行比较,以突出差异作为测试过程的一部分。
可以使用支持 ML 的使用分析来代替或补充 AI 爬虫。通过观察和了解最终用户如何使用应用程序,测试系统可以识别用户实际遍历的测试用例,而不是通过应用程序的所有可能路径,从而大大减少提供完整质量保证所需的测试数量。
无代码测试
使用记录和回放界面是一种流行的生成测试的方法,但是随着 UI 元素的变化,它们很难维护。人工智能驱动的无代码测试开启了创建几乎不需要维护的自我修复测试用例的可能性。AI 可以通过在与之交互时动态生成对象定位器来增强记录和播放过程。所有命令,从鼠标点击到键盘输入,以及对象类型,无论它可能是下拉选项、输入字段还是其他东西,都会被识别。
人工智能驱动的无代码测试能够自我修复。通过开发页面上的对象模型,它能够重新发现已以某种方式移动或更改的 UI 元素定位器,而无需手动重新配置。在开发 UI/UX 测试时,这可以节省大量时间,这通常需要不断维护以适应变化。
持续验证
连续验证不是将测试定义为 CI/CD 管道中的特定阶段,而是允许使用连续验证在开发过程的所有阶段运行测试。人工智能驱动的持续验证可以通过在开发过程的每个阶段跟踪数千个指标来自动对新版本进行风险评估,比手动处理机器日志数据的速度要快得多。
这些风险评估可用作自动化决策部署过程的一部分。如果部署被判定风险太大,可以使用 AI 自动回滚或前滚部署,以防止不稳定的代码留在生产环境中。这些不仅节省了凌晨 3 点对技术专家的紧急呼叫,而且 AI 还能够进行错误诊断和分类,因此可以根据严重程度自动理解和分类错误、警告和异常,进一步减少对专家确定风险级别的依赖的错误。
人工智能和软件测试的未来
基于 AI 和 ML 的软件测试方法的许多潜在应用仍处于起步阶段,它们在软件测试行业的应用并不广泛。这些测试方法是新的,但 AI 驱动的测试方法证明了不仅可以扩大软件中可测试的范围,而且可以自动化多少测试过程。软件 QA 是开发过程中最昂贵的部分之一,因此在时间和金钱方面的潜在成本节约对于开发团队来说是巨大的。
审核编辑:郭婷
-
AI +关注
关注
85文章
20454浏览量
239050 -
机器学习 +关注
关注
64文章
6413浏览量
122814
发布评论请先 登录
相关推荐
听潮汐,筑灯塔,聚千帆:智慧港口全球创新实验室启航时
兆瀚×智慧公路 AI智变加速质变 科技创新赋能智慧交通
使用机器学习方法来预测模拟了二维二氧化硅玻璃的失效
未来可扩展模拟AI芯片的新框架
瑞为技术完成融资 用于深化AI算法及产品研发
Seoul Robotics利用NVIDIA技术实现自动驾驶
映翰通网络全新羚羊购AI智能售货柜助力智慧新零售
如何使用多核处理器满足智能产品处理和接口问题

IBM实现混合云全部潜力 推动AI发挥全方位作用
亿智电子端侧通用AI算力赋能智慧视觉芯生态
HPC、AI与云计算:当智能时代三叉戟在亚马逊云科技完美融合
各种梯度下降法是如何工作的
使用NVIDIA CloudXR加快AECO工作流程
借助NVIDIA V100 GPU加速AI医学影像学研究
星环科技一站式模型平台与华为Atlas 300I Pro推理卡完成兼容性适配
BeagleBone AI-64带来AI和机器学习解决方案
海康威视AI助手地铁运营更安全、检修更轻松
商汤科技亮相2022中国地理信息产业大会
为高级图像处理和分析部署AI视觉套件
瑞为入选国家级专精特新“小巨人”企业名单
AI辅助诊断失智症与脸部情绪识别
踏歌智行荣登国家级专精特新“小巨人”名单
思必驰智能语音报警器带来智能骑行新体验
边缘设备中计算机视觉和语音的AI推理加速器应用
三篇基于迁移学习的论元关系提取
CMSIS 5.8.0优化机器学习应用的神经网络和信号处理
NVIDIA助力Telexistence在全家便利店部署补货机器人
微软开源工具可轻松地测试和训练AI驱动的无人机
加速计算是药物研发大众化的关键
使用ISAAC Sim加速AI机器人的开发、测试和培训
物联网电源集线器V1.0的资料分享
什么是机器学习? 机器学习基础入门

机器学习简介与经典机器学习算法人才培养
浅谈模拟在机器学习领域的重要性
浅谈模拟在机器学习领域的重要性
怎样去解决工控系统及装备M9连接线加工工艺原因导致的问题呢
机器学习的基础内容汇总
实验室将人工智能和机器学习推向前沿

评论