初识智能化测试

简介: 非常感谢您可以和我一起来聊一聊智能化测试的一些事。智能化测试是一个新鲜又老旧的问题,说新鲜是因为很多人当听到智能化测试都会联想到人工智能、机器学习、深度学习等高大上的技术,很多时候觉得离我们的实际工作还很远;说老旧,是因为智能化测试的一些技术的发展在行业里面已经很久了,例如符号执行、静态分析等技术已经有很长的历史了。近些年,随着测试技术的的飞速发展,智能化测试也有了越来越多的实践,优秀的开源项目慢慢的被行业推行并且落地。那么在这里我们就一起来聊聊智能化测试以及智能化测试好的思路、实践、方法以及技术落地过程。

非常感谢您可以和我一起来聊一聊智能化测试的一些事。智能化测试是一个新鲜又老旧的问题,说新鲜是因为很多人当听到智能化测试都会联想到人工智能、机器学习、深度学习等高大上的技术,很多时候觉得离我们的实际工作还很远;说老旧,是因为智能化测试的一些技术的发展在行业里面已经很久了,例如符号执行、静态分析等技术已经有很长的历史了。近些年,随着测试技术的的飞速发展,智能化测试也有了越来越多的实践,优秀的开源项目慢慢的被行业推行并且落地。那么在这里我们就一起来聊聊智能化测试以及智能化测试好的思路、实践、方法以及技术落地过程。


我曾经在京东中台工作,经历了内部质量保障过程从人工点点点到测试自动化,最后到智能化测试的转变过程。而我就是这个过程中的技术推动者之一。因此我想先和你分享一下我在推动团队一步一步走上智能化测试的过程中的一些经历和体会。


智能化测试是什么

再说在自动化测试之前我们应该先说说智能是什么。我们这里的智能,也就是人工智能,也就是artificial intelligence,缩写为AI。主要是指通过普通计算机程序来呈现人类智能的技术。麻省理工学院的温斯顿教授把人工智能定义为研究如何使用计算机做过去只有人才能做的智能工作。这里所谓的智能工作就是指通过人类智慧完成的工作流程、内容和方法。

在1950前后,人工智能就开始逐渐的走进人们的视野,当时对人工智能的理解还很肤浅,随着很多科幻电影和小说不断的对人工智能的描述,才使得人逐渐的认识到了人工智能的应用未来会是一个什么样的场景。在1980年以后,人工智能领域逐渐的发展出了机器学习,他是人工智能的核心,它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。到2010年以后,深度学习逐渐的出现,他是机器学习的技术和研究领域之一,通过建立具有阶层结构的人工神经网络,在计算系统中实现人工智能。

智能化测试,英文AI Driven Testing,简称AIDT。人工智能驱动的测试,就是研究如何使用计算机去做过去只有人能够做的智能的测试工作内容。测试工程师在这个工程过程中变成了决策者、工具链的维护和创造者。现如今,被测系统的复杂度从来没有变得如此的高。微服务化使得系统间通过无数的API联系到一起,老旧系统的兼容和服役,使得测试场景越来越复杂,系统复杂度非线性的增长使得测试用例设计靠人工越来越难于覆盖绝大部分场景。随着项目交付生命周期的不断缩减,测试需要更高效更准确的评价并反馈被测系统的质量。这也变成了在DevOps大行其道的今天,过程化测试变得越来越重要。随着之前月级别的交付逐渐的演变成周级别的迭代交付、日级别的构建,这些都推动了流水线式质量保障手段的发展,更加凸显过程化的测试流程变得尤为重要。智能化测试走到今天已经不再是停留在论文上的学术领域的事情了,现在已经逐渐的在很多个团队落地推行。这里面有开源工具的落地引入和改造,也有自研的智能化测试工具。但是无论是哪一种的落地实践,都是对智能化测试的推动和发展。通过AI的方式驱动测试,通过算法来释放人工繁重的劳动应该是目前看来最为行之有效的方法之一。


为什么要落地智能化测试

随着敏捷和DevOps的推广和实践,软件开发生命周期正在发生质的变化,这样才能够适应几小时以及几分钟的发布时间间隔。虽然发布周期越来越短,但是测试技术却没有跟得上技术的发展,虽然测试窗口在不断的缩小,但测试效率并没有大幅度的提高,这就导致了很多潜在的问题遗留线上系统,线上系统故障率急速攀升。在我所在的团队大力推广持续集成、持续交付的同时,测试自动化还处于最原始的状态:在接到一个新需求的时候,手工测试工程师,有些也叫做业务测试工程师会参加需求评审会或者叫需求澄清会,然后手工测试工程师会按照需求或则原型撰写测试用例,在系统提测后,会按照原测试用例进行测试,在完成测试后,系统上线;同时测试开发工程师按照按照业务测试用例编写测试脚本,并把测试脚本推进测试代码仓库中。到这里,自动化测试都没有发挥一点测试的作用,只有等到再次回归测试的时候,自动化测试脚本才会发挥应该有的作用。我相信很多团队到现在都还在经历这个过程。再投入了大量人力去维护的自动化测试,却无法在系统第一轮测试的时候发挥作用,这也难怪很多team都认为自动化测试的ROI(Return On Investment,投资回报率)太小了。


在工作中发现问题我们就逐渐的解决问题,在团队内部复盘的时候我们发现脚本撰写是所有自动化测试过程中最大的痛点,因此我们就一起想办法解决了测试脚本自动生成算法,并将应用到实际工作中,这样占据自动化测试工作量的一大半的内容都交给了算法来完成。


我们都知道测试用例是在IEEE Standard 610 (1990)中定义的:“ A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.”从这个定义中可以看出我们有了测试脚本就是预期逻辑已经设计好了,那么后续的测试数据可以再给出一些推荐性的内容,是不是就可以将测试更多的放给算法完成了。因此我们又经历各种学习、研究后设计了适合于我们的测试数据生成方法,这样测试脚本和测试数据都有了,在测试执行过程中,测试工程师将更多的逻辑放测试结果的决策上了。在这个专栏中我也会针对我参与设计和研发的智能化测试相关的关键算法进行一些讲解,希望对你有所启发。


智能化测试走到今天已经不再是停留在论文上的学术领域的事情了,现在已经逐渐的在很多个团队落地推行。这里面有开源工具的落地引入和改造,也有自研的智能化测试工具。但是无论是哪一种的落地实践,都是对智能化测试的推动和发展。通过AI的方式驱动测试,通过算法来释放人工繁重的劳动应该是目前看来最为行之有效的方法之一。

测试行业是一个以技术为原子驱动力的行业,智能化测试既能提升行业的技术实力也能帮助我们摆脱枯燥、乏味、反复的工作。在一起学习的这段时间里,我会把我对智能化测试的实践、认知和理解毫无保留的告诉你,在技术的海洋了,不存在猫教老虎要留一手这样的事情,在我给你讲述的过程中我也在不断的整理我的技术思维,掌握的越来越熟练,不熟悉的越来越熟悉,我们在互相督促进步,我希望在你完成了这个专栏的学习后,我是那个为您打来了另外一个窗户的人,看到智能化测试的美好,但是要走出去融于美景之中,却要靠你自身努力,破窗为门。所以现在来和我一起学习智能化测试,作为先进技术的推动者



目录
相关文章
|
8月前
|
人工智能 自然语言处理 JavaScript
利用MCP Server革新软件测试:更智能、更高效的自动化
MCP Server革新软件测试:通过标准化协议让AI实时感知页面结构,实现自然语言驱动、自适应维护的自动化测试,大幅提升效率,降低脚本开发与维护成本,推动测试左移与持续测试落地。
|
8月前
|
安全 数据管理 测试技术
告别蛮力:让测试数据生成变得智能而高效
告别蛮力:让测试数据生成变得智能而高效
654 120
|
9月前
|
人工智能 测试技术 调度
写用例写到怀疑人生?AI 智能测试平台帮你一键生成!
霍格沃兹测试开发学社推出AI智能测试用例生成功能,结合需求文档一键生成高质量测试用例,大幅提升效率,减少重复劳动。支持自定义提示词、多文档分析与批量管理,助力测试人员高效完成测试设计,释放更多时间投入核心分析工作。平台已开放内测,欢迎体验!
|
9月前
|
人工智能 自然语言处理 测试技术
AI测试平台的用例管理实践:写得清晰,管得高效,执行更智能
在测试过程中,用例分散、步骤模糊、回归测试效率低等问题常困扰团队。霍格沃兹测试开发学社推出的AI测试平台,打通“用例编写—集中管理—智能执行”全流程,提升测试效率与覆盖率。平台支持标准化用例编写、统一管理操作及智能执行,助力测试团队高效协作,释放更多精力优化测试策略。目前平台已开放内测,欢迎试用体验!
|
11月前
|
JavaScript 前端开发 测试技术
Playwright自动化测试系列课(4) | 异步加载克星:自动等待 vs 智能等待策略深度解析​
本文深度解析Playwright自动化测试中的等待策略,对比自动等待(零配置防御机制)与智能等待(精准控制异步场景)的核心差异。通过实战案例讲解等待机制的选择标准、常见失效原因及调试技巧,帮助开发者有效解决页面异步加载问题,提升测试脚本的稳定性和执行效率。
|
人工智能 自然语言处理 JavaScript
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
Magnitude是一个基于视觉AI代理的开源端到端测试框架,通过自然语言构建测试用例,结合推理代理和视觉代理实现智能化的Web应用测试,支持本地运行和CI/CD集成。
2385 15
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
|
11月前
|
人工智能 物联网 测试技术
智能化测试基础架构:软件质量保障的新纪元
本文介绍了智能化测试基础架构的核心构成与优势。该架构融合AI、领域工程与自动化技术,包含智能测试平台、测试智能体、赋能引擎和自动化工具链四部分,能自动生成用例、调度执行、分析结果,显著提升测试效率与覆盖率。其核心优势在于实现专家经验规模化、质量前移和快速适应业务变化,助力企业构建新一代质量保障体系。建议从构建知识图谱和试点关键领域智能体起步,逐步推进测试智能化转型。
|
数据采集 人工智能 自动驾驶
VSI-Bench:李飞飞谢赛宁团队推出视觉空间智能基准测试集,旨在评估多模态大语言模型在空间认知和理解方面的能力
VSI-Bench是由李飞飞和谢赛宁团队推出的视觉空间智能基准测试集,旨在评估多模态大型语言模型(MLLMs)在空间认知和理解方面的能力。该基准测试集包含超过5000个问题-答案对,覆盖近290个真实室内场景视频,涉及多种环境,能够系统地测试和提高MLLMs在视觉空间智能方面的表现。
741 16
VSI-Bench:李飞飞谢赛宁团队推出视觉空间智能基准测试集,旨在评估多模态大语言模型在空间认知和理解方面的能力
|
机器学习/深度学习 人工智能 自然语言处理
智能化软件测试:AI驱动的自动化测试策略与实践####
本文深入探讨了人工智能(AI)在软件测试领域的创新应用,通过分析AI技术如何优化测试流程、提升测试效率及质量,阐述了智能化软件测试的核心价值。文章首先概述了传统软件测试面临的挑战,随后详细介绍了AI驱动的自动化测试工具与框架,包括自然语言处理(NLP)、机器学习(ML)算法在缺陷预测、测试用例生成及自动化回归测试中的应用实例。最后,文章展望了智能化软件测试的未来发展趋势,强调了持续学习与适应能力对于保持测试策略有效性的重要性。 ####
|
机器学习/深度学习 人工智能 供应链
探索自动化测试的边界:从脚本到智能
在软件质量保障的竞技场上,自动化测试以其高效、一致性和可重复性的特点,成为提升开发流程效率的关键工具。本文将深入自动化测试的核心,探讨它如何从简单的脚本化任务,演变为一个集成了机器学习、人工智能和持续集成/持续部署(CI/CD)的复合型解决方案。我们将一起见证自动化测试如何突破传统边界,实现从线性脚本到自适应智能体的飞跃,并在此过程中重塑软件开发的未来。
245 31