0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

人工智能对软件质量保证的影响

星星科技指导员 来源:嵌入式计算设计 作者:Erik Fogg 2022-07-10 09:43 次阅读

软件 QA 通常被视为任何开发团队的昂贵必需品;测试在时间、人力和金钱方面的成本很高,同时仍然是一个不完美的过程,容易出现人为错误。通过将人工智能机器学习引入测试过程,我们不仅扩大了可测试的范围,而且还自动化了大部分测试过程本身。

这可以在不牺牲范围或质量的情况下减少测试所花费的时间和金钱,使工程团队能够打破项目管理的“铁三角”。继续阅读以了解将 AI 和机器学习应用于测试过程如何有可能彻底改变测试环境。

测试的问题

手动测试涉及测试套件的开发,以及与测试一起使用的测试数据的生成。虽然在提交时自动运行测试套件可以很容易地集成到开发管道中以防止部署失败的代码,但测试套件本身仍然仅与其中包含的测试用例和使用的测试数据一样好。创建测试的开发人员或测试人员是人类。这意味着可能会犯错误,并且可能会遗漏测试用例。随着软件的增长,测试的数量将不可避免地增加,这使得保持在测试套件之上并确保良好的代码覆盖率变得更加困难。

这些挑战可以通过将人工智能引入测试过程来克服。人工智能可以在项目中以多种方式应用,从抓取软件到使用测试数据自动生成测试套件,再到可视化分析软件输出以发现传统功能测试不易发现的错误。

视觉测试

可以训练基于图像的学习算法来分析用户界面,增强测试过程以帮助确保网页上的所有内容都能正确显示。与传统的功能测试相比,这可以通过更少的错误来完成,并且比手动测试要快得多。这节省了时间和金钱,因为用于 UI 验证的功能测试开发起来非常耗时,并且很快就会变得非常冗长,使得它们难以维护。

视觉 AI 支持的断言通过显着减少测试断言所需的代码量,彻底改变了编写 UI 功能测试的方式。例如,AI 支持的断言不是编写冗长的代码来检查 DOM 元素,而是根据目标预期输出(通常是屏幕截图)分析输出。如果输出与屏幕截图匹配,则测试通过。这可以立即突出差异,还可以更轻松地编写可以应用于不同设备和屏幕分辨率的更好的测试。

人工智能蜘蛛和用户分析

生成用户旅程需要大量时间,并且在足够成熟的软件中,可能的用户旅程数量迅速接近超出手动创建的测试用例可能覆盖的数字。AI 爬虫用于自动发现应用程序,并可与其他测试程序(例如回归测试)结合使用,以快速发现用户旅程中引入的错误。它涉及利用机器学习来创建一个模型,该模型可以通过与 UI 元素交互来导航应用程序。该模型通过应用程序创建一系列路径,以自动生成可以编写测试的工作模式。这些测试将当前模式与预期工作模式进行比较,以突出差异作为测试过程的一部分。

可以使用支持 ML 的使用分析来代替或补充 AI 爬虫。通过观察和了解最终用户如何使用应用程序,测试系统可以识别用户实际遍历的测试用例,而不是通过应用程序的所有可能路径,从而大大减少提供完整质量保证所需的测试数量。

无代码测试

使用记录和回放界面是一种流行的生成测试的方法,但是随着 UI 元素的变化,它们很难维护。人工智能驱动的无代码测试开启了创建几乎不需要维护的自我修复测试用例的可能性。AI 可以通过在与之交互时动态生成对象定位器来增强记录和播放过程。所有命令,从鼠标点击到键盘输入,以及对象类型,无论它可能是下拉选项、输入字段还是其他东西,都会被识别。

人工智能驱动的无代码测试能够自我修复。通过开发页面上的对象模型,它能够重新发现已以某种方式移动或更改的 UI 元素定位器,而无需手动重新配置。在开发 UI/UX 测试时,这可以节省大量时间,这通常需要不断维护以适应变化。

持续验证

连续验证不是将测试定义为 CI/CD 管道中的特定阶段,而是允许使用连续验证在开发过程的所有阶段运行测试。人工智能驱动的持续验证可以通过在开发过程的每个阶段跟踪数千个指标来自动对新版本进行风险评估,比手动处理机器日志数据的速度要快得多。

这些风险评估可用作自动化决策部署过程的一部分。如果部署被判定风险太大,可以使用 AI 自动回滚或前滚部署,以防止不稳定的代码留在生产环境中。这些不仅节省了凌晨 3 点对技术专家的紧急呼叫,而且 AI 还能够进行错误诊断和分类,因此可以根据严重程度自动理解和分类错误、警告和异常,进一步减少对专家确定风险级别的依赖的错误。

人工智能和软件测试的未来

基于 AI 和 ML 的软件测试方法的许多潜在应用仍处于起步阶段,它们在软件测试行业的应用并不广泛。这些测试方法是新的,但人工智能驱动的测试方法证明了不仅可以扩大软件内可测试范围的潜力,而且还可以扩大测试过程的自动化程度。软件 QA 是开发过程中最昂贵的部分之一,因此在时间和金钱方面的潜在成本节约对于开发团队来说是巨大的。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    30098

    浏览量

    268382
  • 机器学习
    +关注

    关注

    66

    文章

    8375

    浏览量

    132399
收藏 人收藏

    评论

    相关推荐

    计算机软件质量保证计划规范

      计算机软件质量保证计划规范1 主题内容与适用范围 本规范规定了在制订软件质量保证计划时应该遵循的统一的基本要求。 本规范适用于软件
    发表于 09-18 17:21

    人工智能是什么?

    “互联网+”不断对传统行业的渗透,已对整个人工智能领域起着推波助澜的作用。 我们知道,机器人从电影银屏中走进现实生活里,一定程度上反映了当前市场的供需关系,另一方面则说明大众在生活质量方面提出了更高
    发表于 09-16 15:40

    人工智能:革命还是伤害?

    人工智能对人类来说是革命还是伤害呢?能会给人类带来很大的便利,但有一部分人却担心过于智能会威胁到人类的安全。那么人工智能对人类来说是革命还是伤害呢?`
    发表于 10-10 14:21

    软件质量保证的目的是什么?

    软件质量保证的目标是以独立审查方式,从第三方的角度监控软件开发任务的执行,就软件项目是否遵循已制定的计划、标准和规程,给开发人员和管理层提供反映产品和过程
    发表于 04-01 09:03

    人工智能对汽车芯片设计的影响是什么

    点击上方“蓝字”,关注我们,感谢!人工智能(AI)以及利用神经网络的深度学习是实现高级驾驶辅助系统(ADAS)和更高程度车辆自主性的强大技术。随着人工智能研究的快速发展,设计人员正面临激烈的竞争
    发表于 12-17 08:17

    计算机软件质量保证计划规范

    计算机软件质量保证计划规范1 主题内容与适用范围 本规范规定了在制订软件质量保证计划时应该遵循的统一的基本要求。 本规范适用于软件特别是重要
    发表于 09-18 17:22 12次下载

    软件质量保证教程ppt

    定义软件质量软件质量保证 解释软件开发各个阶段 SQA 的目标 实现软件
    发表于 09-18 17:28 0次下载

    某电池公司质量保证系统

    电池公司质量保证系统 顾客的所有的质量要求都反映在我们的质量保证系统中,质量保证系统的运行以顾客满意为目标。
    发表于 10-30 14:02 670次阅读

    计算机软件质量保证计划规范(GB/T 12504-90 )附

    计算机软件质量保证计划规范(GB/T 12504-90 )附录B/C 计算机软件质量保证计划规范(GB/T 12504-90 )附录B 项目进展表
    发表于 04-14 10:39 1766次阅读

    计算机软件质量保证计划规范(GB/T 12504-90 )附

    计算机软件质量保证计划规范(GB/T 12504-90 )附录A 软件质量保证计划示例(参考件)   计 划 名 CADCSC软件
    发表于 04-14 10:40 8035次阅读

    过程质量保证工程师的工作范围是什么

    过程质量保证是指不同于测试的、主要针对过程和中间工作产物的质量保证,一般而言,早年间的过程质量保证根据最早的CMM,也称为软件质量保证,缩写
    的头像 发表于 03-14 14:20 3065次阅读

    AI会怎样改进质量保证

    人工智能质量保证方面证明其价值的领域之一是软件开发部门。
    发表于 04-20 11:34 1151次阅读

    人工智能软件测试中的9个好处

    人工智能的普及给人们带来了很高的希望,当然,质量保证软件测试也不能幸免于人工智能的魅力。人工智能通过使用手头的海量数据,为它所接触到的一切
    发表于 04-05 16:57 2209次阅读

    人工智能对软件质量保证的影响

      软件 QA 通常被视为任何开发团队的昂贵必需品;测试在时间、人力和金钱方面的成本很高,同时仍然是一个不完美的过程,容易出现人为错误。通过将人工智能和机器学习引入测试过程,我们不仅扩大了可测试的范围,而且还自动化了大部分测试过程本身。
    的头像 发表于 07-01 09:49 754次阅读

    人工智能对软件质量保证的影响

      软件 QA 通常被视为任何开发团队的昂贵必需品;测试在时间、人力和金钱方面成本高昂,同时仍然是一个不完美的过程,容易出现人为错误。通过将人工智能和机器学习引入测试过程,我们不仅扩大了可测试的范围,而且还自动化了大部分测试过程本身。
    的头像 发表于 11-22 16:32 467次阅读