初识智能化测试

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

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


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


智能化测试是什么

再说在自动化测试之前我们应该先说说智能是什么。我们这里的智能,也就是人工智能,也就是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的方式驱动测试,通过算法来释放人工繁重的劳动应该是目前看来最为行之有效的方法之一。

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



目录
相关文章
|
7月前
|
传感器 数据采集 算法
LabVIEW无人机大气数据智能测试系统
LabVIEW无人机大气数据智能测试系统
58 3
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
软件测试的未来之路:自动化与智能化的融合之旅
随着技术的飞速发展,软件测试领域正经历着一场革命。传统的手动测试方法逐渐让位于更加高效、智能的自动化测试策略。本文将探讨自动化测试工具的演进,以及人工智能如何赋能未来的软件测试实践,提升测试效率和准确性。我们将通过实例分析,了解自动化测试工具的现状,探索AI技术在测试中的应用,并展望未来软件测试的趋势。
58 2
|
4月前
|
机器学习/深度学习 边缘计算 人工智能
软件测试的演化之路:从手动到智能化
【8月更文挑战第6天】在数字化浪潮不断推进的今天,软件测试作为保障软件质量的重要环节,经历了从原始的手动测试到现在的智能化测试的转变。本文将探讨这一演变过程,分析其背后的驱动力和未来趋势,以及这些变化给软件产业带来的深远影响。
|
4月前
|
测试技术
一款功能完善的智能匹配1V1视频聊天App应该通过的测试CASE
文章列举了一系列针对1V1视频聊天App的测试用例,包括UI样式、权限请求、登录流程、匹配逻辑、消息处理、充值功能等多个方面的测试点,并标注了每个测试用例的执行状态,如通过(PASS)、失败(FAIL)或需要进一步处理(延期修改、待定、方案再定等)。
67 0
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
软件测试的未来:自动化与智能化的融合
随着科技的发展,软件测试领域正在经历一场革命。传统的手动测试方法正逐渐被自动化和智能化技术所取代。本文将探讨这一趋势如何影响软件测试的未来,以及它为提高软件质量和开发效率带来的机遇。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
探索软件测试的未来:自动化与智能化的交汇点
随着技术的迅猛发展,软件测试领域正站在一个崭新的十字路口。本文将深入探讨自动化测试和人工智能(AI)如何共同塑造软件测试的未来,提升测试效率与准确性。通过分析当前趋势和未来预测,我们将揭示这些技术如何影响测试策略、工具选择以及质量保证流程,进而推动软件开发的整体进步。
74 1
|
6月前
|
人工智能 分布式计算 DataWorks
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
2024年5月31日,在中国信通院组织的首批数据智能平台专项测试中,阿里云数据智能平台解决方案(MaxCompute、DataWorks、PAI)顺利完成测试。
323 5
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
|
5月前
|
人工智能 运维 自然语言处理
操作系统智能助手OS Copilot体验与测试结果
OS Copilot是基于大模型构建的操作系统智能助手,支持命令行自然语言问答、辅助命令执行、阿里云CLI调用、系统运维和调优等功能,帮助您更好地使用Alibaba Cloud Linux,提高Alibaba Cloud Linux的使用效率。
操作系统智能助手OS Copilot体验与测试结果
|
5月前
|
机器学习/深度学习 数据采集 人工智能
探索自动化测试的边界:从脚本到智能
在软件开发领域,自动化测试已成为确保产品质量和提升开发效率的关键因素。随着人工智能和机器学习技术的飞速发展,传统的自动化测试方法正面临重大的变革。本文将从多个角度分析自动化测试的现状与未来趋势,探讨如何通过集成先进的技术手段优化测试流程,并预测自动化测试领域的发展方向。
54 1
|
4月前
|
机器学习/深度学习 人工智能 数据挖掘
探索自动化测试的边界:从脚本到智能
在软件测试领域,自动化测试一直是提高测试效率与质量的重要工具。随着技术的发展,自动化测试也在不断进化,从简单的脚本录制回放,到现在结合人工智能的智能测试。本文将探讨自动化测试的发展路径,以及如何通过智能化提升测试的深度和广度,同时分析面临的挑战和未来的可能性。