CN112817863B - 一种基于ai深度学习的ai辅助自动化测试方法及系统 - Google Patents
一种基于ai深度学习的ai辅助自动化测试方法及系统 Download PDFInfo
- Publication number
- CN112817863B CN112817863B CN202110203585.7A CN202110203585A CN112817863B CN 112817863 B CN112817863 B CN 112817863B CN 202110203585 A CN202110203585 A CN 202110203585A CN 112817863 B CN112817863 B CN 112817863B
- Authority
- CN
- China
- Prior art keywords
- test
- application
- tested
- interface
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种基于AI深度学习的AI辅助自动化测试方法,所述方法包括以下步骤:步骤S1、获取被测应用信息,生成操作代码;步骤S2、通过所述操作代码对被测应用执行测试操作,完成被测应用的探索测试,生成应用逻辑导图;步骤S3、将被测应用对象进行分类,匹配测试脚本,来执行被测应用的测试;步骤S4、在执行测试的过程中对测试失败的案例进行分析和复测,将测试的结果进行分析;步骤S5、将测试的结果生成测试报告;本发明能够实现对APP功能模块的自动探索,形成功能导图;实现失败案例自动分析和复测,测试结果的智能化分析。
Description
技术领域
本发明涉及计算机通信领域,特别是一种基于AI深度学习的AI辅助自动化测试方法及系统。
背景技术
现有技术中通过采用Monkey测试、探索式测试、UI自动化测试、API自动化测试进行应用测试,但是现有技术的测试方法存在以下缺点:
1、常规自动化测试手段几乎只能用来保证软件能够正常运行,而无法对软件的可玩性进行可靠、高效的测试
2、简单的功能测试用例通常无法充分测试软件场景;复杂的场景用例又会带来巨大的维护成本
3、受限于参与测试QA的水准和种种主观因素,不仅反馈周期长,测试基准和结果基本上只能通过经验筛选判断
4、在实施自动化测试过程中,往往测试准备,测试复测,结果分析和案例维护等方面需要耗费大量的时间和资源。
发明内容
为克服上述问题,本发明的目的是提供一种能够实现对APP功能模块的自动探索,形成功能导图;实现失败案例自动分析和复测,测试结果的智能化分析的基于AI深度学习的AI辅助自动化测试方法。
本发明采用以下方案实现:
一种基于AI深度学习的AI辅助自动化测试方法,其特征在于:所述方法包括以下步骤:
步骤S1、获取被测应用信息,生成操作代码;
步骤S2、通过所述操作代码对被测应用执行测试操作,完成被测应用的探索测试,生成应用逻辑导图;
步骤S3、将被测应用对象进行分类,匹配测试脚本,来执行被测应用的测试;
步骤S4、在执行测试的过程中对测试失败的案例进行分析和复测,将测试的结果进行分析;
步骤S5、将测试的结果生成测试报告。
进一步的,所述步骤S2进一步具体为:
步骤S21、探索被测应用的结构、功能和空间对象类型形成集合,从而生成应用逻辑导图;
步骤S22、通过应用逻辑导图给对应的界面图加功能标签,训练应用逻辑导图知晓相关对应界面的功能名,通过人工智能识别,来生成准确的应用逻辑导图;
步骤S23、应用逻辑导图不断的对被测应用进行探索测试,探索测试中会出现新的未测试界面,通过人工智能识别图像来判断出现的该界面是否为新的未测试界面。
进一步的,所述人工智能识别图像通过以下方法步骤来实现:
步骤S24、将测试对象的进入界面截图,对比该测试对象是否为已测试所有界面截图的数据集;
步骤S25、使用ORB检测器,BFMatcher提取并计算特征点,KNN算法来筛选结果,计算出对比图片的相似度;
步骤S26、查看测试对象界面截图和已测试所有界面截图的最大匹配点数目,当最大匹配点数目的相似度达到65%-98%之间,被认定为同一界面,当将未通过KNN算法相似度范围在10%-65%之间且像素对比度在98%-100%之间的界面,认定为已测试过的界面。
进一步的,所述步骤S3进一步具体为:
步骤S31、通过android工具的LazyUIAutoMatorViewer自动获取被测应用对象信息;
步骤S32、根据被测应用的特征,经人工智能提取特征训练进行被测应用对象和业务功能的识别,生成操作代码;
步骤S33、根据被测应用的对象特征展开测试,即执行被测应用各个界面的操作代码,同时记录操作结果;
步骤S34、对被测应用测试的操作方法进行归类和封装,根据被测应用的对象和业务情况即通过人工智能识别生成准确的应用逻辑导图,按照被测应用类型和业务功能进行分类,形成测试脚本。
进一步的,所述步骤S4进一步具体为:
步骤S41、错误分类识别和处理,即在测试中识别错误类型,错误的类型分为程序错误、数据错误和环境错误,根据错误类型针对性进行处理;
步骤S42、业务变更自动识别,即在应用逻辑导图形成的前提下,对比业务功能变更前后使用应用的差异性,告知测试人员业务功能变更情况。
进一步的,所述步骤S5进一步的具体为:根据验证被测应用的情况,在相应界面添加错误或提示警告,并生成测试记录报告,便于测试人员查看提示信息。
本发明还提供了一种基于AI深度学习的AI辅助自动化测试系统,所述系统包括获取信息模块、探索测试模块、执行测试模块、测试结果分析模块及生成报告模块;
所述获取信息模块,用于获取被测应用信息,生成操作代码;
所述探索测试模块,用于通过所述操作代码对被测应用执行测试操作,完成被测应用的探索测试,生成应用逻辑导图;
所述执行测试模块,用于将被测应用对象进行分类,匹配测试脚本,来执行被测应用的测试;
所述测试结果分析模块,用于在执行测试的过程中对测试失败的案例进行分析和复测,将测试的结果进行分析;
所述生成报告模块,用于将测试的结果生成测试报告。
进一步的,所述探索测试模块包括探索单元、标记单元和识别单元,所述探索单元,用于探索被测应用的结构、功能和空间对象类型形成集合,从而生成应用逻辑导图;所述标记单元,用于通过应用逻辑导图给对应的界面图加功能标签,训练应用逻辑导图知晓相关对应界面的功能名,通过人工智能识别,来生成准确的应用逻辑导图;所述识别单元,用于通过应用逻辑导图不断的对被测应用进行探索测试,探索测试中会出现新的未测试界面,通过人工智能识别图像来判断出现的该界面是否为新的未测试界面。
进一步的,所述人工智能识别图像包括对比单元、计算单元和认定单元,所述对比单元,用于将测试对象的进入界面截图,对比该测试对象是否为已测试所有界面截图的数据集;所述计算单元,使用ORB检测器,BFMatcher提取并计算特征点,KNN算法来筛选结果,计算出对比图片的相似度;所述认定单元,用于查看测试对象界面截图和已测试所有界面截图的最大匹配点数目,当最大匹配点数目的相似度达到65%-98%之间,被认定为同一界面,当将未通过KNN算法相似度范围在10%-65%之间且像素对比度在98%-100%之间的界面,认定为已测试过的界面。
进一步的,所述执行测试模块包括信息单元、特征训练单元、记录单元和分类单元,所述信息单元,用于通过android工具的LazyUIAutoMatorViewer自动获取被测应用对象信息;所述特征训练单元,用于根据被测应用的特征,经人工智能提取特征训练进行被测应用对象和业务功能的识别,生成操作代码;所述记录单元,用于根据被测应用的对象特征展开测试,即执行被测应用各个界面的操作代码,同时记录操作结果;所述分类单元,用于对被测应用测试的操作方法进行归类和封装,根据被测应用的对象和业务情况即通过人工智能识别生成准确的应用逻辑导图,按照被测应用类型和业务功能进行分类,形成测试脚本。
进一步的,所述测试结果分析模块包括错误分类单元和识别单元,所述错误分类单元,用于在测试中识别错误类型,错误的类型分为程序错误、数据错误和环境错误,根据错误类型针对性进行处理;所述识别单元,用于在应用逻辑导图形成的前提下,对比业务功能变更前后使用应用的差异性,告知测试人员业务功能变更情况。
进一步的,所述生成报告模块进一步具体为:根据验证被测应用的情况,在相应界面添加错误或提示警告,并生成测试记录报告,便于测试人员查看提示信息。
本发明的有益效果在于:软件行业有许多产品正在走向精品化,用户也越来越挑剔;软件的制作过程、测试过程也正在走向细致化的道路。而在测试过程中引入的AI技术,正是一种把传统QA测试中的不可能变为可能,并且极大提高生产效率的手段;新的AI技术也在渗透到传统软件中,测试中难免出现报错,手工排查效率很低,特别是在大量测试后,人工排查也将费时费力,如果自动识别测试错误类型,并针对性的自助处理,测试效率将大大提高;在功能逻辑导图形成的前提下,智能对比变更前后的应用差异,快速告知测试人员业务功能变更情况;可以有效降低变更关联性风险,提高变更分析效率;错误报告可视化--利用之前提到生成的应用逻辑导图做一些功能扩展,在自动化执行开始后,根据验证情况,添加错误(红色)或提示(黄色)警告,帮助测试人员了解错误信息,并通过点击警告图标,将打开测试记录文件夹,查看提示信息,了解详情。
附图说明
图1是本发明的方法流程示意图。
图2为错误识别和处理的流程图。
图3是本发明的系统原理框图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种基于AI深度学习的AI辅助自动化测试方法,其特征在于:所述方法包括以下步骤:
步骤S1、获取被测应用信息,生成操作代码;
步骤S2、通过所述操作代码对被测应用执行测试操作,完成被测应用的探索测试,生成应用逻辑导图;
步骤S3、将被测应用对象进行分类,匹配测试脚本,来执行被测应用的测试;
步骤S4、在执行测试的过程中对测试失败的案例进行分析和复测,将测试的结果进行分析;
步骤S5、将测试的结果生成测试报告。
下面结合一具体实施例对本发明做进一步说明:
首先测试执行之前,我们需要探索形成被测应用的结构,功能和控件对象类型的集合,生成应用的应用逻辑导图。
通过大量给应用逻辑导图对应界面图加功能名标签,训练逻辑导图知晓相关界面的功能名,最后可通过人工智能识别,自动生成准确的逻辑导图。
通过逻辑导图一是可以给测试执行提供操作步骤和执行顺序;二是可以在出现问题时记录分析和自动补测。
由于逻辑导图需对被测应用进行探索,探索中会不断出现新的未测试过界面,但也会出现已经测试完的界面,为了不重复探索,需要识别界面是否为新界面,而界面中不乏有会自动变化的控件,比如轮播图,或定时刷新显示的数据
这块可以通过人工智能识别图像判断是否是新的界面,方法如下:
1、测试对象为进入界面的截图,对比对象为此前所有界面截图的数据集
2、使用ORB检测器,BFMatcher提取并计算特征点,KNN筛选结果,计算出对比图片的相似度
主要的流程是:读取图片--初始化ORB检测器--提取并计算特征点--knn筛选结果--查看最大匹配点数目。
经验证,目前参数设置相似度达到65%以上既为同一界面比较合适。为了保证准确性,添加使用了图像像素遍历比较的方法,并把相似度定为98%。把未通过KNN算法相似度低于65%但像素比对高于98%的界面,认为是已测试过的界面
下面是智能识别业务功能的具体说明:
2.1 OCR文字识别
通过OCR图片文字识别技术可以识别业务关键字,如登录,创建,加入,邀请,修改,编辑,解散等。并对每个界面的关键词组建立相关数据,构建界面关键词库,锚定界面业务功能。
2.2图像特征识别
针对图标,图片等对象,也可以通过卷积神经算法得出对象特征,计算对象所属业务功能和业务层级关系。在界面中存在文字相同的对象的情况下,可以起到很好的识别区分效果。
2.3功能界面分类
通过之前提到的控件识别及界面标题识别,结合具体的功能界面,可以推测出功能界面信息。比如首页可以识别为入口类界面;点击首页上各个图标按钮跳转的二级页面可以识别为具体功能界面;在标题位置有明显标识的类型,可以被识别为具体功能界面,并将把标题权重提高,作为主要功能关键词。
应用控件对象识别的具体说明:
应用中的每个界面都有很多控件,并且控件的类型多种多样。我们需要能智能的识别出控件的类型,路径等信息;
通常人工编写脚本的过程是手动找到控件的XML信息,编写Appium可识别的对象,然后加上Appium的操作代码,完成对对象的操作指令,比如:
find_element_by_name,find_element_by_xpath都是找对象的不同方法,括号中的参数是对应的数值,一般需要人工确认才能找到对象,而find_element_by_xpath是最通用的方法,其对应的参数就是Xpath。
click()方法是最多使用的对象操作指令,可以完成多数的页面跳转。
所以要AI完成appium脚本创作,只需要自动找出对象和加上对应的操作指令即可。
APP的控件类型非常多,并且还有很多自定义控件(布局控件),还有一些兼容用的视图,而对控件的操作主要是点击,输入和清空只用在文本控件的操作上。
而控件对象的操作封装可通过下表来进行具体说明,下表提供了安卓基础控件库:
基础控件库名 | 控件库作用 | 详细说明 |
AndroidAppStart | 启动App | 启动应用的某个界面(比如首页) |
AndroiddClick | 点击控件 | 点击控件 |
AndroidEdit | 编辑文本 | 密码,特定格式文本,字体,输入框有无焦点 |
AndroidTap | 点击坐标 | 点击坐标 |
AnddroidSwipe | 滑动 | 方向滑动,滑动触发行为,特定滑动控件 |
另外移动应用中存在着多页的页面,需要上下滑,或左右滑,才能完整显示,所有需要添加翻页的功能,并且要考虑到不同分辨率的情况。
下面对被测应用对象如何进行分类进行具体说明:
首先可以通过android工具的LazyUIAutoMatorViewer可以自动获取控件对象信息;其次根据控件的特征,通过人工智能提取特征训练进行对象和业务功能的识别,然后自动生成操作代码。
然后根据被测对象特征,智能化的开展测试,也就是执行各界面的操作代码,边操作边记录操作的结果。第一步对移动应用测试的操作方法进行归类和封装;第二步根据被测应用的对象和业务情况,也就是通过人工智能识别自动生成准确的逻辑导图,按照控件类型和业务功能2大类进行分类,形成特定的测试脚本。控件类型又分为:图片类型控件集合、按钮类型控件集合、组件类型控件集合、其它类型控件集合;业务类型又分为:业务功能A、业务功能B、业务功能其它类型等;第三步根据不同的对象和业务功能,智能化的开展测试执行。
下面对测试结果智能分析进行具体说明:
请参阅图2所示,本发明一实施例中,错误分类识别和处理
测试中难免出现报错,手工排查效率很低,特别是在大量测试后,人工排查也将费时费力,如果自动识别测试错误类型,并针对性的自助处理,测试效率将大大提高。
主要有程序错误,数据错误,环境错误三大类。
当发生程序错误时,通过智能匹配缺陷库进行分析处理,然后提供错误分析信息,供人工进行分析,当出现数据错误时,动态匹配测试数据自动补测,多次数据匹配失败后,提供错误分析信息,供人工进行分析;当出现环境错误时,通过人工智能检测错误原因,未检测出错误原因时自动重测,当多次重测均发生环境错误,提供错误分析信息,供人工进行分析。
业务变更自动识别
在功能逻辑导图形成的前提下,智能对比变更前后的应用差异,快速告知测试人员业务功能变更情况;可以有效降低变更关联性风险,提高变更分析效率。
下面对错误报告可视化进行具体说明:
利用之前提到生成的应用逻辑导图做一些功能扩展,在自动化执行开始后,根据验证情况,添加错误(红色)或提示(黄色)警告,帮助测试人员了解错误信息,并通过点击警告图标,将打开测试记录文件夹,查看提示信息,了解详情。
请参阅图3所示,本发明提供了一实施例:一种基于AI深度学习的AI辅助自动化测试系统,所述系统包括获取信息模块、探索测试模块、执行测试模块、测试结果分析模块及生成报告模块;
所述获取信息模块,用于获取被测应用信息,生成操作代码;
所述探索测试模块,用于通过所述操作代码对被测应用执行测试操作,完成被测应用的探索测试,生成应用逻辑导图;
所述执行测试模块,用于将被测应用对象进行分类,匹配测试脚本,来执行被测应用的测试;
所述测试结果分析模块,用于在执行测试的过程中对测试失败的案例进行分析和复测,将测试的结果进行分析;
所述生成报告模块,用于将测试的结果生成测试报告。
所述探索测试模块包括探索单元、标记单元和识别单元,所述探索单元,用于探索被测应用的结构、功能和空间对象类型形成集合,从而生成应用逻辑导图;所述标记单元,用于通过应用逻辑导图给对应的界面图加功能标签,训练应用逻辑导图知晓相关对应界面的功能名,通过人工智能识别,来生成准确的应用逻辑导图;所述识别单元,用于通过应用逻辑导图不断的对被测应用进行探索测试,探索测试中会出现新的未测试界面,通过人工智能识别图像来判断出现的该界面是否为新的未测试界面。
所述人工智能识别图像包括对比单元、计算单元和认定单元,所述对比单元,用于将测试对象的进入界面截图,对比该测试对象是否为已测试所有界面截图的数据集;所述计算单元,使用ORB检测器,BFMatcher提取并计算特征点,KNN算法来筛选结果,计算出对比图片的相似度;所述认定单元,用于查看测试对象界面截图和已测试所有界面截图的最大匹配点数目,当最大匹配点数目的相似度达到65%-98%之间,被认定为同一界面,当将未通过KNN算法相似度范围在10%-65%之间且像素对比度在98%-100%之间的界面,认定为已测试过的界面。
所述执行测试模块包括信息单元、特征训练单元、记录单元和分类单元,所述信息单元,用于通过android工具的LazyUIAutoMatorViewer自动获取被测应用对象信息;所述特征训练单元,用于根据被测应用的特征,经人工智能提取特征训练进行被测应用对象和业务功能的识别,生成操作代码;所述记录单元,用于根据被测应用的对象特征展开测试,即执行被测应用各个界面的操作代码,同时记录操作结果;所述分类单元,用于对被测应用测试的操作方法进行归类和封装,根据被测应用的对象和业务情况即通过人工智能识别生成准确的应用逻辑导图,按照被测应用类型和业务功能进行分类,形成测试脚本。
所述测试结果分析模块包括错误分类单元和识别单元,所述错误分类单元,用于在测试中识别错误类型,错误的类型分为程序错误、数据错误和环境错误,根据错误类型针对性进行处理;所述识别单元,用于在应用逻辑导图形成的前提下,对比业务功能变更前后使用应用的差异性,告知测试人员业务功能变更情况。
所述生成报告模块进一步具体为:根据验证被测应用的情况,在相应界面添加错误或提示警告,并生成测试记录报告,便于测试人员查看提示信息。
下面结合具体应用场景对本发明作进一步说明:
现实中将近80%的测试活动是对软件已经进行过的测试的重复,这会消耗了大量的人力和时间。这种现象在软件测试中十分常见,随着项目的扩展,参数也会增加,从而会导致给测试团队带来额外的工作量,这可能已经超出他们的能力和工作时间的范围之外了。同时手动测试还会面临可伸缩性的问题,这会需要对多台机器进行管理,这种方法复杂又繁琐,而但是,人工智能却可代替以上方法,可通过以下方式来解决这些问题:
1、使用人工智能机器,80%的重复性任务可以由人工智能机器人完成,剩下的20%工作可以由人类利用他们的创造力和推理能力去完成。因此,人工智能可以做重复性的任务,如:测试数据的数量、回归测试等,而测试人员可以专注于处理类似于系统集成的创造性的和困难的任务。
2、使用人工智能机器人,测试人员可以重构测试以合并新的参数,这会使得测试的覆盖率增加却不会给测试团队带来额外的工作量。
3、人工智能可以自动创建测试用例,这降低了使用内置标准的工作级别(LOE)。
4、AI通过理解用户接受标准自动生成测试代码或伪代码,测试自动化可以节省大量的时间和成本。
5、由于人工智能机器人可以全天候工作,它们可以在任何需要的时候帮助调试项目,因此测试无需人工干预也可以运行更长的时间。
基于以上5个为什么在软件测试中我们需要人工智能的理由,且基于人工智能还可以进行无代码测试自动化,它可以在你的移动应用程序上自动创建和运行测试,而无需编写任何代码。所以产生了基于AI深度学习的AI辅助测试方法。
首先测试执行之前,我们需要获取应用信息,探索形成被测应用的结构,获取各界面信息,也就是智能识别被测对象,一可以通过android工具的LazyUIAutoMatorViewer可以自动获取控件对象信息;二可以根据控件的特征,通过人工智能提取特征训练进行业务功能的识别;然后自动生成操作代码。
然后根据被测对象特征,智能化的开展测试,也就是执行各界面的操作代码,边操作边记录操作的结果。第一步对移动应用测试的操作方法进行归类和封装;第二步根据不同的业务功能,形成特定的测试脚本;第三步根据被测应用的对象和业务情况,智能化的开展测试执行。
最终智能分析测试结果,针对性补测,也就是根据记录自动生成应用逻辑导图,分别根据控件类型进行分类测试,智能获取控件类型集合和根据业务功能进行分类测试,智能获取业务功能,其次通过智能匹配,生成各种测试场景,再分别执行控件类测试和执行功能分类测试,然后汇总一起分析,根据验证情况,添加错误(红色)或提示(黄色)警告,生成测试报告,帮助测试人员了解错误信息,并通过点击警告,了解详情。
总之,本发明通过一套自动测试框架/脚本,形成一套基于AI深度学习的AI辅助自动化测试解决方案,实现对APP功能模块的自动探索,形成功能导图;实现失败案例自动分析和复测,测试结果的智能化分析;实现执行过程的可视化,使得定位问题更加清晰准确,最终能实现各种移动app的全自动bug探索测试工作。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (10)
1.一种基于AI深度学习的AI辅助自动化测试方法,其特征在于:所述方法包括以下步骤:
步骤S1、获取被测应用信息,生成操作代码;
步骤S2、通过所述操作代码对被测应用执行测试操作,完成被测应用的探索测试,生成应用逻辑导图;
步骤S3、将被测应用对象进行分类,匹配测试脚本,来执行被测应用的测试;
步骤S4、在执行测试的过程中对测试失败的案例进行分析和复测,将测试的结果进行分析;
步骤S5、将测试的结果生成测试报告;
所述步骤S2进一步具体为:
步骤S21、探索被测应用的结构、功能和空间对象类型形成集合,从而生成应用逻辑导图;
步骤S22、通过应用逻辑导图给对应的界面图加功能标签,训练应用逻辑导图知晓相关对应界面的功能名,通过人工智能识别,来生成准确的应用逻辑导图;
步骤S23、应用逻辑导图不断的对被测应用进行探索测试,探索测试中会出现新的未测试界面,通过人工智能识别图像来判断出现的该界面是否为新的未测试界面。
2.根据权利要求1所述的一种基于AI深度学习的AI辅助自动化测试方法,其特征在于:所述人工智能识别图像通过以下方法步骤来实现:
步骤S24、将测试对象的进入界面截图,对比该测试对象是否为已测试所有界面截图的数据集;
步骤S25、使用ORB检测器,BFMatcher提取并计算特征点,KNN算法来筛选结果,计算出对比图片的相似度;
步骤S26、查看测试对象界面截图和已测试所有界面截图的最大匹配点数目,当最大匹配点数目的相似度达到65%-98%之间,被认定为同一界面,当将未通过KNN算法相似度范围在10%-65%之间且像素对比度在98%-100%之间的界面,认定为已测试过的界面。
3.根据权利要求1所述的一种基于AI深度学习的AI辅助自动化测试方法,其特征在于:所述步骤S3进一步具体为:
步骤S31、通过android工具的LazyUIAutoMatorViewer自动获取被测应用对象信息;
步骤S32、根据被测应用的特征,经人工智能提取特征训练进行被测应用对象和业务功能的识别,生成操作代码;
步骤S33、根据被测应用的对象特征展开测试,即执行被测应用各个界面的操作代码,同时记录操作结果;
步骤S34、对被测应用测试的操作方法进行归类和封装,根据被测应用的对象和业务情况即通过人工智能识别生成准确的应用逻辑导图,按照被测应用类型和业务功能进行分类,形成测试脚本。
4.根据权利要求1所述的一种基于AI深度学习的AI辅助自动化测试方法,其特征在于:所述步骤S4进一步具体为:
步骤S41、错误分类识别和处理,即在测试中识别错误类型,错误的类型分为程序错误、数据错误和环境错误,根据错误类型针对性进行处理;
步骤S42、业务变更自动识别,即在应用逻辑导图形成的前提下,对比业务功能变更前后使用应用的差异性,告知测试人员业务功能变更情况。
5.根据权利要求1所述的一种基于AI深度学习的AI辅助自动化测试方法,其特征在于:所述步骤S5进一步的具体为:根据验证被测应用的情况,在相应界面添加错误或提示警告,并生成测试记录报告,便于测试人员查看提示信息。
6.一种基于AI深度学习的AI辅助自动化测试系统,其特征在于:所述系统包括获取信息模块、探索测试模块、执行测试模块、测试结果分析模块及生成报告模块;
所述获取信息模块,用于获取被测应用信息,生成操作代码;
所述探索测试模块,用于通过所述操作代码对被测应用执行测试操作,完成被测应用的探索测试,生成应用逻辑导图;
所述执行测试模块,用于将被测应用对象进行分类,匹配测试脚本,来执行被测应用的测试;
所述测试结果分析模块,用于在执行测试的过程中对测试失败的案例进行分析和复测,将测试的结果进行分析;
所述生成报告模块,用于将测试的结果生成测试报告;
所述探索测试模块包括探索单元、标记单元和识别单元,所述探索单元,用于探索被测应用的结构、功能和空间对象类型形成集合,从而生成应用逻辑导图;所述标记单元,用于通过应用逻辑导图给对应的界面图加功能标签,训练应用逻辑导图知晓相关对应界面的功能名,通过人工智能识别,来生成准确的应用逻辑导图;所述识别单元,用于通过应用逻辑导图不断的对被测应用进行探索测试,探索测试中会出现新的未测试界面,通过人工智能识别图像来判断出现的该界面是否为新的未测试界面。
7.根据权利要求6所述的一种基于AI深度学习的AI辅助自动化测试系统,其特征在于:所述人工智能识别图像包括对比单元、计算单元和认定单元,所述对比单元,用于将测试对象的进入界面截图,对比该测试对象是否为已测试所有界面截图的数据集;所述计算单元,使用ORB检测器,BFMatcher提取并计算特征点,KNN算法来筛选结果,计算出对比图片的相似度;所述认定单元,用于查看测试对象界面截图和已测试所有界面截图的最大匹配点数目,当最大匹配点数目的相似度达到65%-98%之间,被认定为同一界面,当将未通过KNN算法相似度范围在10%-65%之间且像素对比度在98%-100%之间的界面,认定为已测试过的界面。
8.根据权利要求6所述的一种基于AI深度学习的AI辅助自动化测试系统,其特征在于:所述执行测试模块包括信息单元、特征训练单元、记录单元和分类单元,所述信息单元,用于通过android工具的LazyUIAutoMatorViewer自动获取被测应用对象信息;所述特征训练单元,用于根据被测应用的特征,经人工智能提取特征训练进行被测应用对象和业务功能的识别,生成操作代码;所述记录单元,用于根据被测应用的对象特征展开测试,即执行被测应用各个界面的操作代码,同时记录操作结果;所述分类单元,用于对被测应用测试的操作方法进行归类和封装,根据被测应用的对象和业务情况即通过人工智能识别生成准确的应用逻辑导图,按照被测应用类型和业务功能进行分类,形成测试脚本。
9.根据权利要求6所述的一种基于AI深度学习的AI辅助自动化测试系统,其特征在于:所述测试结果分析模块包括错误分类单元和识别单元,所述错误分类单元,用于在测试中识别错误类型,错误的类型分为程序错误、数据错误和环境错误,根据错误类型针对性进行处理;所述识别单元,用于在应用逻辑导图形成的前提下,对比业务功能变更前后使用应用的差异性,告知测试人员业务功能变更情况。
10.根据权利要求6所述的一种基于AI深度学习的AI辅助自动化测试系统,其特征在于:所述生成报告模块进一步具体为:根据验证被测应用的情况,在相应界面添加错误或提示警告,并生成测试记录报告,便于测试人员查看提示信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110203585.7A CN112817863B (zh) | 2021-02-23 | 2021-02-23 | 一种基于ai深度学习的ai辅助自动化测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110203585.7A CN112817863B (zh) | 2021-02-23 | 2021-02-23 | 一种基于ai深度学习的ai辅助自动化测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112817863A CN112817863A (zh) | 2021-05-18 |
CN112817863B true CN112817863B (zh) | 2023-09-22 |
Family
ID=75865223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110203585.7A Active CN112817863B (zh) | 2021-02-23 | 2021-02-23 | 一种基于ai深度学习的ai辅助自动化测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817863B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230153566A1 (en) * | 2021-11-18 | 2023-05-18 | International Business Machines Corporation | Erroneous cell detection using an artificial intelligence model |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871326A (zh) * | 2019-02-13 | 2019-06-11 | 广州云测信息技术有限公司 | 一种脚本录制的方法和装置 |
CN110597718A (zh) * | 2019-08-30 | 2019-12-20 | 苏州浪潮智能科技有限公司 | 一种基于ai的自动化测试实现方法和系统 |
WO2020055615A1 (en) * | 2018-09-14 | 2020-03-19 | Appdiff, Inc. | Ai software testing system and method |
CN111966580A (zh) * | 2020-07-24 | 2020-11-20 | 厦门快商通科技股份有限公司 | 基于人工智能的自动化测试方法、装置、设备和存储介质 |
-
2021
- 2021-02-23 CN CN202110203585.7A patent/CN112817863B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020055615A1 (en) * | 2018-09-14 | 2020-03-19 | Appdiff, Inc. | Ai software testing system and method |
CN109871326A (zh) * | 2019-02-13 | 2019-06-11 | 广州云测信息技术有限公司 | 一种脚本录制的方法和装置 |
CN110597718A (zh) * | 2019-08-30 | 2019-12-20 | 苏州浪潮智能科技有限公司 | 一种基于ai的自动化测试实现方法和系统 |
CN111966580A (zh) * | 2020-07-24 | 2020-11-20 | 厦门快商通科技股份有限公司 | 基于人工智能的自动化测试方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112817863A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7398068B2 (ja) | ソフトウェアテスト | |
US20190384699A1 (en) | AI Software Testing System and Method | |
CN109408384B (zh) | 软件应用的测试方法、装置、处理器及电子装置 | |
CN105955889A (zh) | 一种图形界面自动化测试方法 | |
CN104834600B (zh) | 一种测试Android应用控件的方法 | |
CN110309073B (zh) | 移动应用程序用户界面错误自动化检测方法、系统及终端 | |
CN108595343A (zh) | 应用程序的测试方法及装置 | |
CN104615544A (zh) | 面向问题的gui软件关联功能分析方法及装置 | |
Bajammal et al. | A survey on the use of computer vision to improve software engineering tasks | |
CN106959919B (zh) | 基于测试路径图的软件测试方法及装置 | |
CN111966580A (zh) | 基于人工智能的自动化测试方法、装置、设备和存储介质 | |
CN112817863B (zh) | 一种基于ai深度学习的ai辅助自动化测试方法及系统 | |
Sun et al. | Ui components recognition system based on image understanding | |
CN117435505A (zh) | 一种性能测试脚本可视化生成方法 | |
US10152407B1 (en) | Optimization of analysis of automated test results | |
CN116719736A (zh) | 一种用于测试软件界面的测试用例生成方法及装置 | |
WO2020055615A1 (en) | Ai software testing system and method | |
Zhu et al. | Discovering boundary values of feature-based machine learning classifiers through exploratory datamorphic testing | |
CN113791781B (zh) | 一种基于图神经网络的界面功能场景划分方法和装置 | |
CN113157556A (zh) | 一种基于选择主成分识别的行业建筑软件缺陷管理方法 | |
CN111008140B (zh) | 一种跨平台的ui自动化测试方法及装置 | |
CN113900956A (zh) | 测试用例的生成方法、装置、计算机设备及存储介质 | |
CN113703637A (zh) | 巡检任务代码化方法、装置、电子设备和计算机存储介质 | |
Gao et al. | An approach to GUI test scenario generation using machine learning | |
Xie et al. | NiCro: Purely Vision-based, Non-intrusive Cross-Device and Cross-Platform GUI Testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |