CN116955186A - 一种软件测试知识库构建方法、装置、电子设备及介质 - Google Patents
一种软件测试知识库构建方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN116955186A CN116955186A CN202310919812.5A CN202310919812A CN116955186A CN 116955186 A CN116955186 A CN 116955186A CN 202310919812 A CN202310919812 A CN 202310919812A CN 116955186 A CN116955186 A CN 116955186A
- Authority
- CN
- China
- Prior art keywords
- rule
- information
- knowledge base
- interface information
- software testing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000013522 software testing Methods 0.000 title claims abstract description 67
- 238000009411 base construction Methods 0.000 title claims description 26
- 230000008569 process Effects 0.000 claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 description 42
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000009191 jumping Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005206 flow analysis Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007417 hierarchical cluster analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
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/3664—Environments for testing or debugging software
-
- 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
-
- 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/3684—Test management for test design, e.g. generating new test cases
-
- 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)
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件测试知识库构建方法、装置、电子设备及介质。该方法包括获取软件测试过程中的界面信息;其中,所述界面信息包括页面、功能块、组件、元素和操作信息;对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息;利用预先确定的规则生成器对所述属性信息进行处理,得到目标规则;其中,所述目标规则包括流转规则、布局规则、全局依赖规则、边界条件规则、事件完备规则、组合规则和关联规则中的至少一个;将所述目标规则进行聚类,构建软件测试知识库。本技术方案,能够将已有的或实时的软件测试过程数据转化成对应的知识库信息存储,从而构建一个通用、可复用和搜索便捷的软件测试知识库。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种软件测试知识库构建方法、装置、电子设备及介质。
背景技术
软件测试是软件开发过程的重要组成部分,是用来确认一个程序的功能或性能是否符合开发之前所提出的一些要求。
目前,相关的软件测试功能主要存在以下问题:基于视觉方式获取界面和实体关系规则或知识的方法缺失。规则库的添加和修改及知识库管理无法做到自动化。规则库和知识库混合导致结构臃肿,实体和关系表达混乱,查询相对较困难且难以优化。规则库往往需要人为聚合或者融合为具体的知识对象。
如何通过构建软件测试知识库自动将软件测试功能进行存储,是目前亟需要解决的问题。
发明内容
本发明提供了一种软件测试知识库构建方法、装置、电子设备及介质,能够将已有的或实时的软件测试过程数据转化成对应的知识库信息存储,从而构建一个通用、可复用和搜索便捷的软件测试知识库。
根据本发明的一方面,提供了一种软件测试知识库构建方法,该方法包括:
获取软件测试过程中的界面信息;其中,所述界面信息包括页面、功能块、组件、元素和操作信息;
对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息;
利用预先确定的规则生成器对所述属性信息进行处理,得到目标规则;其中,所述目标规则包括流转规则、布局规则、全局依赖规则、边界条件规则、事件完备规则、组合规则和关联规则中的至少一个;
将所述目标规则进行聚类,构建软件测试知识库。
根据本发明的另一方面,提供了一种软件测试知识库构建装置,该装置包括:
界面信息获取模块,用于获取软件测试过程中的界面信息;其中,所述界面信息包括页面、功能块、组件、元素和操作信息;
界面信息解析模块,用于对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息;
规则生成模块,用于利用预先确定的规则生成器对所述属性信息进行处理,得到目标规则;其中,所述目标规则包括流转规则、布局规则、全局依赖规则、边界条件规则、事件完备规则、组合规则和关联规则中的至少一个;
软件测试知识库构建模块,用于将所述目标规则进行聚类,构建软件测试知识库。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的一种软件测试知识库构建方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的一种软件测试知识库构建方法。
本发明实施例的技术方案,通过获取软件测试过程中的界面信息,然后对界面信息中不同类别的布局组件进行解析,得到与界面信息相关联的属性信息。利用预先确定的规则生成器对属性信息进行处理,得到目标规则,并将目标规则进行聚类,构建软件测试知识库。本技术方案,能够将已有的或实时的软件测试过程数据转化成对应的知识库信息存储,从而构建一个通用、可复用和搜索便捷的软件测试知识库。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种软件测试知识库构建方法的流程图;
图2是本申请实施例一提供的自动化软件测试知识库构建系统流程图;
图3是本申请实施例一提供的规则信息解析功能的流程图;
图4是本申请实施例一提供的规则关系结构图;
图5是本申请实施例一提供的规则聚类的流程图;
图6为本发明实施例二提供的一种软件测试知识库构建装置的结构示意图;
图7是实现本发明实施例的一种软件测试知识库构建方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是根据本发明实施例一提供的一种软件测试知识库构建方法的流程图,本实施例可适用于对软件测试过程中的数据进行存储的情况,该方法可以由一种软件测试知识库构建装置来执行,该软件测试知识库构建装置可以采用硬件和/或软件的形式实现,该软件测试知识库构建装置可配置于电子设备中。如图1所示,该方法包括:
S110、获取软件测试过程中的界面信息;其中,所述界面信息包括页面、功能块、组件、元素和操作信息。
在本方案中,界面信息获取按照功能流程主要分为四个层级,依次为页面、功能块、组件和元素。其中,页面包含功能块、组件和元素及其属性信息。功能块表示同一界面上具有相似功能或相关功能的组件集合,例如,功能块可以是搜索栏、导航栏、icon(图标)块、表单和选项卡等;组件是指能够完成输入或者展示的元素集合,例如,组件可以是文本或密码输入框、按钮、复选框和短链接文本等;元素指页面上可解析的最小单元,包括图像或者文本体。
其中,操作信息可以是指功能块、组件、元素对应的操作信息。
在本实施例中,可以基于计算机视觉(Compute Vision,CV)获取软件测试过程中界面多种类别元素的识别结果,并按照各类别的解析流程依次解析相关属性值及信息,从而得到界面信息。
进一步的,预定义类别主要包含布局属性、语义关系、流转关系、边界条件等。其中,布局属性以像素为单位,包含几何关系、相对关系和对齐方式三类,几何关系是指该元素或者组件的位置,解析为最小外接矩形框的坐标,空间关系具体包含两部分,第一部分描述功能块或者组件块的布局组合形式,分为行和块两种,第二部分是布局上下边界的边界补偿值和元素内部相互之间的间隔,相对空间位置解析为间隔、水平向上下边缘线差值,对齐方式是指具体类中组件或元素间的对齐方式,具体解析为不同对齐方式的map值。布局属性通过计算机视觉和可扩展标记语言(Extensible Markup Language,XML)两种方式均可获取。语义关系表示不同层级的文本之间的上下文关系,解析结果为文本在特征空间上的空间距离,即将功能流程中的文本按照层级顺序映射到特征空间上来获取不同文本之间的距离大小。关联关系表示的是同一界面上操作相关组件,导致页面部分内容发生变化的事件关系,主要记录功能块、组件和元素响应事件后跳转到下一级页面的前后流转关系。用前置类表示操作类,后置类表示关联类,如点击地图按钮,弹出地图服务相关弹框,则可以表示为地图按钮—选择弹框的流转关系。边界条件是预先定义的,在解析过程中通过组件类型和操作方式来绑定具体边界事件。
可选的,获取软件测试过程中的界面信息,包括:
利用预先确定的模型获取软件测试过程中的页面、功能块、组件和元素;其中,所述模型包括模块判别模型、组件判别模型、错误显示判别模型以及过程判别模型。
在本方案中,模块判别模型主要用于识别App(Application,应用程序)界面上不同类别的功能块和其布局类型;组件判别模型主要用来识别具体组件;错误显示判别模型主要包含两类,分别是NLP(Natural Language Process,自然语言处理)自然语言错误判别模型和组件显示错误判识模型,分别处理不同类型的界面显示错误;过程判别模型主要用来判断跳转过程中频帧序列相关的跳转界面帧序列。
在本实施例中,首先需要标注训练所需的数据集,包含模块数据集和组件数据集两部分。将标注好的训练数据预处理为各模型需要的格式,输入模型开始训练,模型存储根据评估指标保存参数最优的结果。使用测试数据对模型进行评估,该部分指标由专家根据具体业务进行打分,并进一步更新相关任务模型,从而得到模块判别模型、组件判别模型、错误显示判别模型以及过程判别模型。
在本方案中,图2是本申请实施例一提供的自动化软件测试知识库构建系统流程图,如图2所示,基于模块判别模型、组件判别模型、错误显示判别模型以及过程判别模型识别软件测试过程中的页面、功能块、组件和元素。
通过获取软件测试过程中的页面、功能块、组件和元素,能够将界面和功能等相关测试过程转化为视觉分类问题,提高测试过程的自动化程度,简化判别过程。
可选的,获取软件测试过程中的界面信息,还包括:
基于预先确定的可扩展标记语言文件获取软件测试过程中的操作信息。
具体的,如图2所示,可以基于预先确定的可扩展标记语言文件获取软件测试过程中界面多种类别对应类别的操作信息。
通过获取软件测试过程中的操作信息,能够将界面和功能等相关测试过程转化为视觉分类问题,提高测试过程的自动化程度,简化判别过程。
S120、对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息。
在本方案中,对界面信息中不同类别的布局组件进行解析主要是用于解析页面类包含的功能块、组件和元素类别及相关属性信息。其中,功能块和组件由于为元素的复合结构,其属性包含上述属性信息描述的所有类别。元素形式较单一,主要属性信息包含几何位置和流转关系。
可选的,对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息,包括:
确定与所述界面信息相对应的规则信息解析器;其中,所述规则信息解析器用于解析界面相关联的属性信息;
基于所述规则信息解析器对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息。
具体的,可以通过预先确定的规则信息解析器对界面信息中不同类别的组件进行解析,从而得到与界面信息相关联的属性信息。
可选的,所述规则信息解析器由解析器、工具箱以及信息采集器构成;
所述解析器用于动态加载解析所述界面信息所需的工具箱及流程信息;
所述工具箱用于按照所述流程信息对所述界面信息进行解析,得到待处理属性信息;
所述信息采集器用于按照所述规则生成器所需的数据对所述待处理属性信息进行提取,得到属性信息。
在本实施例中,图3是本申请实施例一提供的规则信息解析功能的流程图,如图3所示,从左到右依次为解析器、工具箱和信息采集器。解析器主要用来动态加载解析不同类别数据所需的工具箱及流程编排,工具箱主要提供获取所需信息的基本计算功能单元,返回的待处理属性信息由信息采集器收集记录,并进行对应规则的生成。其中,解析器包括布局解析、流转解析、语义解析以及功能解析。
进一步的,原始信息组装为具体的对象类,布局解析执行周期按照页面更新,当页面变化时开始执行布局解析功能;流转解析对应响应事件,即具体实体类存在响应事件时执行流转解析;语义解析针对一个具体流程仅执行一次;功能解析对应页面具体功能块,即功能块满足预定义的组件或元素类型时即会调用。
在本实施例中,布局解析部分包含两个过程,其一为根据实体类加载对应的工具箱函数并根据实际输入计算结果属性,包括几何、空间和对齐功能解算工具箱,计算结果包含box矩形框、间隔值、计量数、对齐类型等,其二为流程信息编排模块,主要用于优化计算过程并序列化计算结果。流转解析部分主要分析操作具体实体后页面更新相关具体内容并构建实体的关联关系,包括跳转方式、更新方式、更新完成后界面实体及属性等。语义解析将整个功能流程按照页面层级及实体关系解析为流程树,主要算法为基于NLP的命名实体识别和句法分析。功能解析则对部分需要预定义的功能块定义其操作逻辑顺序,例如,表单功能需要按照编辑信息、校验信息和提交结果来运行,以上约束会作为执行规则约束功能块的操作顺序,即在获取到界面组件布局情况下,会根据操作类别将其优先进行分类,编辑类会优先执行,点击类其次,最后执行按钮操作。
通过对界面信息中不同类别的布局组件进行解析,能够将已有的或实时的软件测试过程数据转化成对应的知识库信息存储,从而构建一个通用、可复用和搜索便捷的软件测试知识库。
S130、利用预先确定的规则生成器对所述属性信息进行处理,得到目标规则;其中,所述目标规则包括流转规则、布局规则、全局依赖规则、边界条件规则、事件完备规则、组合规则和关联规则中的至少一个。
在本实施例中,规则生成在单个App中依照功能、页面、组件和功能块依次自顶向下完成生成。图4是本申请实施例一提供的规则关系结构图,如图4所示,将用例单元中的页面按属性划分为功能块、组件和元素三类,包含的规则有流转规则、布局规则、全局依赖规则、边界条件、事件完备规则、组合规则以及关联规则等,各实体类别按照相关属性绑定具体规则,功能模块规则集包含流转规则、布局规则、全局依赖规则、事件完备规则等。组件类包含规则集为流转规则、布局规则、全局依赖规则、边界条件规则和事件完备规则。元素类包含流转规则、布局规则、边界条件规则、事件完备规则和关联规则。
具体的,当执行某一具体用例,具体规则生成过程如下:获取页面功能块、组件和元素对象及对应响应事件及类型;获取当前界面对应类别几何布局相关信息;按照解析获取的对应操作或者响应事件触发相关事件;在具体类事件触发规则部分生成事件及调用流转规则;若功能未完成具体功能,则重复解析生成不同界面上相关规则信息,直至整个功能完成为止。
进一步的,由于不同阶段功能块之间功能模式多样,无法准确定义通用流程模板,设计中采用两种不同方式控制整个功能的执行顺序。首先,定义基本层级关系来确定不同页面中满足通用功能流程功能块的执行顺序,在不满足预定义层级关系时,通过动态过程判定完成功能块间的逻辑相关分析,该过程主要通过事实分析判别来确定具体功能块之间的逻辑关系,即以已有的功能流程为导向,搜索界面中能满足下一步具体功能的功能块。
在本方案中,流转规则主要用于记录不同组件或元素操作事件产生的页面跳转或者局部信息更新关系,按照流程分为触发响应事件、跳转和结果展示三个阶段,该数据主要使用图数据库进行存储,结构表达为一个组件/元素到页面/功能块和跳转关系的三元组。布局规则包含两部分,一部分为元素/组件几何信息,另一部分为组件或者元素的空间/排布信息,该类数据主要存储方式为关系数据库存储。全局依赖作为用例功能的前置条件,必要条件使用用例名称及外键约束数据格式,非必要条件使用相关关系表示,存储采用关系型数据库。边界条件因为其主要为单一组件或者功能相关且单用例过程中主要表现为一对多的关系,数据组织为包含组件/用例名称、边界值类型、边界值标记和具体边界值,存储使用关系型数据库。事件完备性与边界类似,因而使用同一种模式存储。组合和关联关系主要表示一个功能块之间组件/元素的功能的聚合形式,且组件和元素在相似功能上表现趋于一致,多维信息表达和形式多样等特征,更适合用图数据库进行存储。
进一步的,规则生成中的不同规则的存储根据实际需要采用多种方式,分别为文件式存储、数据库结构化存储和图数据库存储。其中,图数据库和传统关系型数据库之间可以通过转换功能实现数据结构之间的相互转换。
S140、将所述目标规则进行聚类,构建软件测试知识库。
在本实施例中,将目标规则进行聚类主要是采用多种聚合分析算法分析聚合一致性或相似度较高的功能或者组件、模块等,以达到将多样规则聚合为统一知识的目的。规则聚类可以根据属性和值的差异使用不同的算法,例如,聚类算法可以是层次聚类、K-Means等。
可选的,将所述目标规则进行聚类,构建软件测试知识库,包括:
确定与所述目标规则相对应的聚类算法,并基于所述聚类算法对所述目标规则进行聚类,构建软件测试知识库。
在本方案中,图5是本申请实施例一提供的规则聚类的流程图,如图5所示,在执行具体功能流程过程中,不同的规则由于数据格式差异,聚类方法需要根据实际情况进行选择。文本类数据需要识别主题词后使用层次聚类分析算法进行聚合,数值型则按照具体组件功能和类型选择合适的聚类算法,例如,若为相似功能的功能块,则使用层次聚类算法。
进一步的,流转关系知识聚类方式按照文本和类别两阶段聚类,其中,文本相似性聚类将流程中的关键点进行对齐,类别聚类将功能流程进行聚类。布局规则中数据类型包含数值型和文本型两种类型,其中,数值型规则聚类采用先按照类别后按照数值聚类的方式进行聚类。文本类先按照类别后文本相似度的聚类方式进行聚类。布局中的操作顺序聚类用于对预定义规则泛化进行处理,使得具体类别布局中的流程更智能化、简单化,其聚类方式采用先文本后类别的方式。边界条件因其与功能、组件均相关,先考虑功能流程,由于登录功能的通用性及关键性,因此被单独作为一个子类别进行知识聚类,聚类方式采用类别加文本的方式进行聚类,其余部分则先按照类别后按照文本的方式进行聚类。界面单元素由于其特殊性,需要先按照功能后按照相关属性值进行聚类,属性值包含几何框、操作方式等。通过上述过程,完整的用例过程会映射成不同功能单元,即功能知识库,进一步再通过知识聚类,可以聚类为功能流程,即功能流程知识库。
在本方案中,如图5所示,升降级机制作为一个知识库的合成调节机制,其主要方式为通过频率监控对知识进行分级来保证高频知识的加载效率,能够提高查询速度的同时也保持其鲁棒性。
进一步的,上述所有流程描述基于CV自动构建软件测试知识库的流程,该过程可以同时拓展到PC(Personal Computer)端和其他带有显示设备的软件测试中用来自动化生成软件测试知识库,也可用于知识图谱类数据的数据采集和记录过程。若将此知识库应用于软件测试流程中,则可以通过逆向搜索来匹配相关知识库,从而达到判定测试功能流程正确性的目的。
本发明实施例的技术方案,通过获取软件测试过程中的界面信息,然后对界面信息中不同类别的布局组件进行解析,得到与界面信息相关联的属性信息。利用预先确定的规则生成器对属性信息进行处理,得到目标规则,并将目标规则进行聚类,构建软件测试知识库。通过执行本技术方案,能够将已有的或实时的软件测试过程数据转化成对应的知识库信息存储,从而构建一个通用、可复用和搜索便捷的软件测试知识库。
实施例二
图6为本发明实施例二提供的一种软件测试知识库构建装置的结构示意图。如图6所示,该装置包括:
界面信息获取模块610,用于获取软件测试过程中的界面信息;其中,所述界面信息包括页面、功能块、组件、元素和操作信息;
界面信息解析模块620,用于对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息;
规则生成模块630,用于利用预先确定的规则生成器对所述属性信息进行处理,得到目标规则;其中,所述目标规则包括流转规则、布局规则、全局依赖规则、边界条件规则、事件完备规则、组合规则和关联规则中的至少一个;
软件测试知识库构建模块640,用于将所述目标规则进行聚类,构建软件测试知识库。
可选的,界面信息获取模块610,具体用于:
利用预先确定的模型获取软件测试过程中的页面、功能块、组件和元素;其中,所述模型包括模块判别模型、组件判别模型、错误显示判别模型以及过程判别模型。
可选的,界面信息获取模块610,还用于:
基于预先确定的可扩展标记语言文件获取软件测试过程中的操作信息。
可选的,界面信息解析模块620,具体用于:
确定与所述界面信息相对应的规则信息解析器;其中,所述规则信息解析器用于解析界面相关联的属性信息;
基于所述规则信息解析器对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息。
可选的,所述规则信息解析器由解析器、工具箱以及信息采集器构成;
所述解析器用于动态加载解析所述界面信息所需的工具箱及流程信息;
所述工具箱用于按照所述流程信息对所述界面信息进行解析,得到待处理属性信息;
所述信息采集器用于按照所述规则生成器所需的数据对所述待处理属性信息进行提取,得到属性信息。
可选的,软件测试知识库构建模块640,具体用于:
确定与所述目标规则相对应的聚类算法,并基于所述聚类算法对所述目标规则进行聚类,构建软件测试知识库。
本发明实施例所提供的一种软件测试知识库构建装置可执行本发明任意实施例所提供的一种软件测试知识库构建方法,具备执行方法相应的功能模块和有益效果。
实施例三
图7示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图7所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如一种软件测试知识库构建方法。
在一些实施例中,一种软件测试知识库构建方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的一种软件测试知识库构建方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行一种软件测试知识库构建方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种软件测试知识库构建方法,其特征在于,包括:
获取软件测试过程中的界面信息;其中,所述界面信息包括页面、功能块、组件、元素和操作信息;
对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息;
利用预先确定的规则生成器对所述属性信息进行处理,得到目标规则;其中,所述目标规则包括流转规则、布局规则、全局依赖规则、边界条件规则、事件完备规则、组合规则和关联规则中的至少一个;
将所述目标规则进行聚类,构建软件测试知识库。
2.根据权利要求1所述的方法,其特征在于,获取软件测试过程中的界面信息,包括:
利用预先确定的模型获取软件测试过程中的页面、功能块、组件和元素;其中,所述模型包括模块判别模型、组件判别模型、错误显示判别模型以及过程判别模型。
3.根据权利要求1所述的方法,其特征在于,获取软件测试过程中的界面信息,还包括:
基于预先确定的可扩展标记语言文件获取软件测试过程中的操作信息。
4.根据权利要求1所述的方法,其特征在于,对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息,包括:
确定与所述界面信息相对应的规则信息解析器;其中,所述规则信息解析器用于解析界面相关联的属性信息;
基于所述规则信息解析器对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息。
5.根据权利要求4所述的方法,其特征在于,所述规则信息解析器由解析器、工具箱以及信息采集器构成;
所述解析器用于动态加载解析所述界面信息所需的工具箱及流程信息;
所述工具箱用于按照所述流程信息对所述界面信息进行解析,得到待处理属性信息;
所述信息采集器用于按照所述规则生成器所需的数据对所述待处理属性信息进行提取,得到属性信息。
6.根据权利要求1所述的方法,其特征在于,将所述目标规则进行聚类,构建软件测试知识库,包括:
确定与所述目标规则相对应的聚类算法,并基于所述聚类算法对所述目标规则进行聚类,构建软件测试知识库。
7.一种软件测试知识库构建装置,其特征在于,包括:
界面信息获取模块,用于获取软件测试过程中的界面信息;其中,所述界面信息包括页面、功能块、组件、元素和操作信息;
界面信息解析模块,用于对所述界面信息中不同类别的布局组件进行解析,得到与所述界面信息相关联的属性信息;
规则生成模块,用于利用预先确定的规则生成器对所述属性信息进行处理,得到目标规则;其中,所述目标规则包括流转规则、布局规则、全局依赖规则、边界条件规则、事件完备规则、组合规则和关联规则中的至少一个;
软件测试知识库构建模块,用于将所述目标规则进行聚类,构建软件测试知识库。
8.根据权利要求7所述的方法,其特征在于,界面信息获取模块,具体用于:
利用预先确定的模型获取软件测试过程中的页面、功能块、组件和元素;其中,所述模型包括模块判别模型、组件判别模型、错误显示判别模型以及过程判别模型。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的一种软件测试知识库构建方法。
10.一种计算机可读介质,其特征在于,所述计算机可读介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项所述的一种软件测试知识库构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310919812.5A CN116955186A (zh) | 2023-07-25 | 2023-07-25 | 一种软件测试知识库构建方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310919812.5A CN116955186A (zh) | 2023-07-25 | 2023-07-25 | 一种软件测试知识库构建方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116955186A true CN116955186A (zh) | 2023-10-27 |
Family
ID=88442278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310919812.5A Pending CN116955186A (zh) | 2023-07-25 | 2023-07-25 | 一种软件测试知识库构建方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116955186A (zh) |
-
2023
- 2023-07-25 CN CN202310919812.5A patent/CN116955186A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240070487A1 (en) | Systems and methods for enriching modeling tools and infrastructure with semantics | |
JP7398068B2 (ja) | ソフトウェアテスト | |
CN109240901B (zh) | 性能分析方法、性能分析装置、存储介质和电子设备 | |
US20170109668A1 (en) | Model for Linking Between Nonconsecutively Performed Steps in a Business Process | |
CN113779272A (zh) | 基于知识图谱的数据处理方法、装置、设备及存储介质 | |
US20170109636A1 (en) | Crowd-Based Model for Identifying Executions of a Business Process | |
CN112560151A (zh) | 一种基于资源描述框架的bim模型智能审核方法及系统 | |
CN116894152A (zh) | 一种多源数据调研与实时分析方法 | |
CN110287114A (zh) | 一种数据库脚本性能测试的方法及装置 | |
CN117891458A (zh) | 一种sql语句生成方法、装置、设备及存储介质 | |
CN117235280A (zh) | 一种操作票生成方法、装置、设备及介质 | |
CN108549672A (zh) | 一种数据智能分析方法及系统 | |
CN112364011A (zh) | 一种线上数据模型管理装置、方法及其系统 | |
CN116302984A (zh) | 一种测试任务的根因分析方法、装置及相关设备 | |
CN116955186A (zh) | 一种软件测试知识库构建方法、装置、电子设备及介质 | |
CN115344661A (zh) | 设备停机诊断方法、装置、电子设备及存储介质 | |
US20240202212A1 (en) | Contextualizing data to augment processes using semantic technologies and artificial intelligence | |
WO2023168659A1 (zh) | 一种横跨图数据与关系数据的实体对识别方法及装置 | |
CN117271557A (zh) | 一种基于业务规则的sql生成解释方法、装置、设备及介质 | |
Yang et al. | A Software Failure Mode Analysis Method Based on Test Knowledge Graph | |
Chua et al. | An integrated data mining system to automate discovery of measures of association | |
Li et al. | Metadata-based Multi-Attribute Utility Group Recommendation | |
Salaheddine | Context-aware machine-learning-based error detection | |
CN112115124A (zh) | 一种数据影响度分析方法、装置、电子设备及存储介质 | |
WO2024049796A1 (en) | Systems and methods for legacy mbse diagram data importation using element specific ml models and schema templates |
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 |