用户界面的测试用例生成方法及装置
文献发布时间:2024-01-17 01:18:42
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种用户界面的测试用例生成方法及装置。
背景技术
随着科技发展和用户生活水平的不断提高,以及互联网技术在生活中的普及,基于互联网的信息沟通已经成为用户进行线上通信、参与线上服务的关键渠道;网络页面作为互联网信息沟通的主要方式之一,网络页面的发展也越来越多样化;为了保证与用户进行信息沟通的页面能够满足用户的需求,实现吸引用户、增加用户粘度等有益效果,通常会对页面进行测试;因此,对页面进行高效且有效的测试是页面提供方和用户日益关注的重点。
发明内容
本说明书一个或多个实施例描述了一种用户界面的测试用例生成方法及装置,可以提升所生成的测试用例的有效性。
第一方面,提供了一种用户界面的测试用例生成方法,包括:
采集用户界面的结构特征数据,得到初始页面描述,其中至少指示出所述用户界面包含的各界面元素;
对所述初始页面描述进行信息更新,其中包括,迭代执行若干轮次的信息推导,其中单轮信息推导包括,基于当前页面描述,生成推导用例;执行该推导用例,得到执行结果;从所述执行结果中采集若干目标特征,基于各目标特征决策本轮信息推导是否成功,如果推导失败,则至少基于所述执行结果,修正当前页面描述用于下一轮信息推导,直至达到推导结束条件;其中,所述推导用例用于针对所述各界面元素进行预执行处理;所述预执行处理是指对所述各界面元素进行元素触发或者元素访问的过程;
基于达到推导结束条件时的当前页面描述确定更新页面描述,并基于所述更新页面描述生成所述用户界面的测试用例。
第二方面,提供了一种用户界面的测试用例生成装置,包括:
采集单元,用于采集用户界面的结构特征数据,得到初始页面描述,其中至少指示出所述用户界面包含的各界面元素;
更新单元,用于对所述初始页面描述进行信息更新,其中包括,迭代执行若干轮次的信息推导;所述更新单元通过其包括的以下子模块执行单轮信息推导:
生成子模块,用于基于当前页面描述,生成推导用例;
执行子模块,用于执行该推导用例,得到执行结果;
决策子模块,用于从所述执行结果中采集若干目标特征,基于各目标特征决策本轮信息推导是否成功;
修正子模块,用于如果推导失败,则至少基于所述执行结果,修正当前页面描述用于下一轮信息推导,直至达到推导结束条件;其中,所述推导用例用于针对所述各界面元素进行预执行处理;所述预执行处理是指对所述各界面元素进行元素触发或者元素访问的过程;
生成单元,用于基于达到推导结束条件时的当前页面描述确定更新页面描述,并基于所述更新页面描述生成所述用户界面的测试用例。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,该处理器执行所述可执行代码时,实现第一方面的方法。
本说明书一个或多个实施例提供的用户界面的测试用例生成方法及装置,先通过采集用户界面的静态的结构特征数据,获得用户界面的初始页面描述(也称初始页面画像)。之后,为了能够提升生成的测试用例的有效性,可以对初始页面描述进行信息更新,该信息更新是一个包括多轮迭代的自闭环学习过程。最后,基于更新页面描述,生成用户界面的测试用例。需要说明,由于更新页面描述中包含了更多更全面的描述信息,从而在基于其生成测试用例时,可以大大提升测试用例的有效性。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出在一个实施例中动态分析方法示意图;
图3示出根据一个实施例的用户界面的测试用例生成方法流程图;
图4示出根据另一个实施例的用户界面的测试用例生成方法流程图;
图5示出根据一个实施例的用户界面的测试用例生成装置示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。图1中,页面分析引擎用于通过页面截图、DOM(Document Object Model,文档对象化模型)tree分析,从静态和动态两个维度对用户界面进行分析,获得用户界面的多维度的页面特征。
其中,上述静态分析主要是从层级子维度、区域子维度和元素子维度三个子维度进行的;具体的,在层级子维度,从层级索引、层级功能类型和层级交互逻辑方面进行用户界面的层级分析;在区域子维度,从区域功能语义和样式分区出发,计算区域的区域类型和区域属性;在元素子维度,确定用户界面中包含元素的元素类型和元素属性;根据从层级子维度、区域子维度和元素子维度分析的结果,确定作为用户界面的初始页面描述。
上述的动态分析主要是通过对用户界面包含的界面元素进行预执行处理进行的,预执行处理也即是对界面元素进行交互预执行,以此来确定界面元素的元素类别、对应的交互事件、响应区域以及影响范围等信息。后续对此详细说明。
总之,在通过页面分析引擎对用户界面从静态和动态两个维度进行分析之后,可以获得用户界面的精确画像,或者说可以得到精确的页面逻辑描述(简称页面描述)。
图1中的用例生成引擎用于基于用户界面的精确的页面描述,生成用户界面的测试用例。该用例生成引擎可以包括多个子引擎,其中的每个子引擎由若干用例生成规则构成,用于生成一种类型的测试用例,该测试用例通过对测试脚本和参数组装得到。最后,由用例执行引擎执行生成的测试用例。
当然,图1只是一种示例性说明,在实际应用中,用例执行引擎也可以辅助(参见后文描述)页面分析引擎对用户界面进行分析,本说明书对此不作限定。
以下对上述页面分析引擎的动态分析过程进行详细说明。
图2示出在一个实施例中动态分析方法示意图。图2中,页面分析引擎首先会从层级子维度、区域子维度和元素子维度,对用户界面进行静态分析,从而得到初始页面描述。之后,用例生成引擎基于初始页面描述,生成对应的推导用例,该推导用例用于针对用户界面包含的界面元素进行预执行处理。用例执行引擎执行生成的推导用例,从而得到执行结果。最后,从执行结果中采集目标特征,并基于该目标特征决策本轮信息推导是否成功,如果推导失败,则基于执行结果,对初始页面描述进行补全或修正,并基于补全或修正的页面描述进行下一轮信息推导,直至达到推导结束条件。
由此可以看出,本说明书实施例中的动态分析是一个包括多轮迭代的自闭环学习的过程。通过该自闭环学习,可以获得除初始页面描述外的其它信息,进而得到更多更全面的描述信息。
图3示出根据一个实施例的用户界面的测试用例生成方法流程图。该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图3所示,该方法可以包括如下步骤:
步骤S302,采集用户界面的结构特征数据,得到初始页面描述,其中至少指示出用户界面包含的各界面元素。
本实施例中的用户界面,包括系统与用户之间进行交互和信息交换的媒介,例如,UI(User Interface,使用者界面)。在一个示例中,上述用户界面包括以下中的任一项:HTML(Hyper Text Markup Language,超文本标记语言)页面以及移动端APP(Application,第三方应用程序)页面等。
上述结构特征(也称静态结构特征),是指网页渲染的数据结构,网页的结构化语言,包括对用户界面解析后,生成树状结构和对应访问方法,例如,DOMtree。上述结构特征数据,包括从用户界面的结构数据出发,获得的用户界面的展示特征,其例如可以包括界面元素及其属性。其中,界面元素的属性包括但不限于面积、坐标、交互属性以及默认值等等。
在一个实施例中,上述采集用户界面的结构特征数据可以包括,从至少一个特征维度采集用户界面的结构特征数据,其中,所述至少一个特征维度包括层级维度、区域维度和元素维度中的若干种。
具体的,在层级子维度,从层级索引、层级功能类型和层级交互逻辑方面进行用户界面的层级分析;在区域子维度,从区域功能语义和样式分区出发,计算区域的区域类型和区域属性;在元素子维度,确定用户界面中包含界面元素的元素类别和元素属性。
其中,上述的层级是指为保证用户操作的顺畅性和确定性,依据交互行为和功能特点对界面进行的层级的划分。举例来说,用户界面是一个目录页面,展示有各章节的标签及对应的页数,在触发任一章节的标签后会跳转至对应的页数,对该页数对应的内容进行展示。该例子中,任一章节的标签与对应的页面的内容即为该目录页面的层级。
上述的区域维度分析,是指从结构出发采集区域展示文本的文本语义、样式类型、静态标签、属性标签等特征数据,进而获得平面区域类型和区域属性。其可以分为功能语义和样式分区两大类,其中,文本语义,是指区域内展示的文本的语义,包括文本语义标签。样式类型,包括区域的页面样式,例如,table类型。静态标签,包括区域展示文本的文本标签和/或展示位置标签。属性标签,包括各区域的区域属性的标签。
上述的元素维度分析具体可以是,基于DOMtree,识别用户界面包含的界面元素的元素类别和元素属性。
需要说明,上述的三个特征维度仅仅是示例性的,具体在进行采集结构特征数据的过程中,可以从其它维度和上述三个维度中的一者或多者结合进行特征采集,本说明书实施例对此不作限定。
应理解,基于从用户界面采集的结构特征数据就可以得到用户界面的初始页面描述。需要说明,由于该初始页面描述通过对用户界面的静态结构进行分析得到,从而其往往不够准确和全面,因此,需要通过下述步骤S304所述的动态分析对其进行更新。
上述步骤S302中的界面元素,包括用户界面包含的可与用户进行事件交互的元素,其例如可以为以下中的任一种:按钮、单选框、复选框、输入框以及滚动条等。
步骤S304,对初始页面描述进行信息更新,其中包括,迭代执行若干轮次的信息推导。
其中,单轮信息推导包括:步骤S3042,基于当前页面描述,生成推导用例。步骤S3044,执行该推导用例,得到执行结果。步骤S3046,从执行结果中采集若干目标特征,基于各目标特征决策本轮信息推导是否成功。步骤S3048,如果推导失败,则至少基于执行结果,修正当前页面描述用于下一轮信息推导,直至达到推导结束条件。
首先,步骤S3042中的推导用例用于针对各界面元素进行预执行处理,该预执行处理是指对各界面元素进行元素触发或者元素访问的过程,例如,点击按钮、在输入框进行文本输入以及滚动滚动条等。从而该预执行处理可以包括以下中的任一项:选中、悬停、点击、双击、滚动和输入等。
上述推导用例可以看作是一种系统内部使用的测试用例,其仅包括操作步骤,不包括断言条件。该推导用例通常是在每一轮迭代中实时生成,并在该一轮迭代结束后失效。
需要说明,上述的单轮信息推导可以包括多种信息的推导,这里的多种信息例如可以包括元素类别(比如,按钮、输入框或者滚动条)、必填项属性、页面分类(比如,目录页等)、动态元素等等;再例如,可以包括元素响应区域、元素影响范围、按钮互斥关系等等。其中元素响应区域是指界面元素的交互区域范围的面积和位置。元素影响范围是指针对界面元素执行触发操作所带来的变化。此外,按钮互斥关系的推导通常是在推导出多个界面元素均为按钮的情况下进行的。
在一个实施例中,针对每种信息的推导可以生成至少一个推导用例。此外,一个推导用例可以包括只针对一个界面元素的至少一种操作,也可以包括对多个界面元素的操作,也即可以包括操作路径,本说明书对此不作限定。
以推导界面元素的元素类别为例来说,生成的推导用例可以包括,触发或访问界面元素的操作步骤(比如,点击操作、滚动操作)和截图操作等等。
再以推导按钮的响应区域为例来说,生成的推导用例可以包括,点击操作、截图操作和DOMtree信息获取操作等等。
最后,上述动态元素的推导也可以理解为是信息降噪的过程,其用于辅助目标特征的采集(后续对该采集过程进行详细说明)。比如,在推导出用户界面中的某个区域包含动态元素(比如,计时器等)时,可以记录该区域,然后在采集页面图像变化信息的特征时忽略该区域。
还需要说明,各轮信息推导所推导的信息类型可以不同。具体地,可以预先设定若干种信息作为初始的当前推导信息,然后在经过一轮或若干轮迭代后,若当前推导信息中的一部分信息可以确定,那么在后续的迭代中,可以将剩余的一部分信息和新增信息作为更新的当前推导信息进行推导,依次类推,直至达到推导结束条件。应理解,这里的先推导出的一部分信息与新增信息之间通常是具有顺序关系的。
举例来说,可以预先将元素类别、必填项属性、页面分类作为初始的当前推导信息,然后在经过一轮或若干轮迭代后,可以确定元素类别为按钮,那么在后续的迭代中,可以将必填项属性、页面分类和按钮的响应区域和影响范围作为更新的当前推导信息进行推导,依次类推,直至达到推导结束条件。
接着,在步骤S3044,例如可以由图1中的用例执行引擎执行各推导用例,从而得到执行结果。这里的执行结果包括但不限于生成日志文件、新增页面弹层或二次确认框等等。
此外,在步骤S3046,通常针对所推导信息类型的不同,采集的目标特征也不同。概括而言,这些目标特征可以包括以下中的至少一项:日志事件响应信息、页面图像变化信息、网络请求日志信息、页面DOMtree层级变化信息、页面组件变化信息以及错误堆栈信息等。
本说明书实施例中,针对每个目标特征,可以预先设定对应的一条或多条规则,这里的规则也可以理解为是特征所需满足的条件。以目标特征为网络请求日志信息为例来说,对应的预定规则可以为:运行日志里面包含click事件的响应。之后,通过判断各目标特征是否符合对应的预定规则,而得到多条判定结果。比如,在采集的网络请求日志信息中包含click事件的响应时,则可以得出预定规则被满足的判定结果,可以用“1”表示,否则如果不包含click事件的响应时,则可以得出预定规则不被满足的判定结果,可以用“0”表示。当然,在实际应用中,还可以通过其它数值来表示预定规则被满足或不被满足的判定结果,本说明对此不作限定。
通常而言,上述判定结果的数目是和预定规则的数目相匹配的。
如前所述,针对不同种信息,可以采集不同的目标特征,从而可以基于对应于每种信息的目标特征的判定结果,决策该种信息是否推导成功。
在一个实施例中,决策某种信息是否推导成功可以包括:根据基于该种信息对应的目标特征所确定的判定结果,得到对应于该种信息的判定结果。对该种信息对应的判定结果进行加权求和,得到加权求和结果作为综合结果。判断该综合结果是否大于预定阈值,在判断结果指示综合结果大于预定阈值的情况下,确定该种信息推导成功,否则确定该种信息推导不成功。
其中,各判定结果各自对应的权重值可以根据对应预定规则的重要性或者优先级而设定,且其可以是动态调整的,此外上述预定阈值也可以是动态调整的。在一个例子中,这里的权重值和预定阈值可以是根据测试用例执行结果的准确性而动态调整的。
在另一个实施例中,也可以根据对应于某种信息的目标特征的判定结果,统计规则被满足的数目,然后基于该数目占规则总数目的比例,决策该种信息是否推导成功。
在得到每种信息是否推导成功的决策结果之后,在一个实施例中,若存在其中的任一种信息未推导成功,那么确定本轮信息推导失败,否则若全部的各种信息均推导成功,则确定本轮信息推导成功,从而针对初始页面描述的信息更新过程结束。
当然,在实际中,也可以在全部的各种信息中,超过预定数目的信息推导成功或者指定信息推导成功的情况下,确定本轮信息推导成功,本说明述对此不作限定。
最后,在步骤S3048中,在推导失败的情况下,可以通过对执行结果进行分析,修正当前页面描述。
其中,在单轮信息推导包括多种信息的推导时,初始页面描述中可以包括初始的多种信息(通常不够准确),从而上述修正当前页面描述也可以理解为是修正该各种信息。
当然,在实际应用中,所需推导的部分信息类型也可以未包括在初始页面描述中,从而修正当前页面描述还包括补全该部分信息类型。
在一个实施例中,这里的分析过程可以包括,上述在单轮信息推导中各种信息是否推导成功的决策过程。也就是说,通过对执行结果进行分析,可以得出推导成功的信息类型,然后基于该推导成功的信息类型,修正初始页面描述。
当然,在实际应用中,还可以结合其它信息,修正当前页面描述。比如,在修正当前页面描述中元素类别时,还可以结合预设的操作优先级等信息进行修正,本说明书对此不作限定。
此外,步骤S3048中提及的推导结束条件可以包括两种情况:
第一种,推导成功的结束条件,例如全部的各种信息均推导成功。
第二种,推导失败的结束条件,例如在迭代轮次达到预定次数的情况下,如果还有几种信息没有推导成功,那么则认为是达到推导失败的结束条件。
步骤S306,基于达到推导结束条件时的当前页面描述确定更新页面描述,并基于更新页面描述,生成用户界面的测试用例。
如前所述,推导结束条件包括推导成功的结束条件和推导失败的结束条件。在达到该推导成功的结束条件时,可以将达到推导结束条件时的当前页面描述作为最终使用的更新页面描述。
在达到推导失败的结束条件时,可以忽略推导失败的信息类型,即从当前页面描述中删除推导失败的信息类型,然后将删除信息后的当前页面描述作为更新页面描述;或者也可以人为设定推导失败的信息类型,然后将人为修改后的当前页面描述作为更新页面描述。
步骤S306中,例如可以是由图1中的用例生成引擎,生成用户界面的测试用例。
该用例生成引擎可以包括多个子引擎,其中每个子引擎用于生成一种类型的测试用例。
在一个示例中,上述多个子引擎包括特征用例子引擎和交互用例子引擎,其中,特征用例子引擎用于生成特征测试用例,该特征测试用例用于对用户界面的静态特征进行测试。交互用例子引擎用于生成交互测试用例,该交互测试用例用于对用户界面中界面元素的关联关系(比如,交互事件等)进行测试。
在一个具体的例子中,上述特征测试用例还可以包括,军规测试用例、性能测试用例、稳定性测试用例、兼容性测试用例以及用户体验测试用例等。上述交互测试用例可以包括,功能测试用例、异常测试用例、边界测试用例和路径/集成测试用例等。
需要说明,上述生成的测试用例可以通过脚本代码和参数实现,具体包括如下两方面的内容:操作步骤和断言条件。上述特征测试用例和交互测试用例可以被重复多次使用。由于该两种测试用例可以被多次重复使用,从而针对其执行结果还可以进行保存,以便在后续执行该测试用例时作为基线进行比对。
综合以上,本说明书实施例提供的用户界面的测试用例生成方法,先通过采集用户界面的静态的结构特征数据,获得用户界面的初始页面描述(也称初始页面画像)。之后,为了能够提升生成的测试用例的有效性,可以对初始页面描述进行信息更新,该信息更新是一个包括多轮迭代的自闭环学习过程。最后,基于更新页面描述,生成用户界面的测试用例。需要说明,由于更新页面描述中包含了更多更全面的描述信息,从而在基于其生成测试用例时,可以大大提升测试用例的有效性。
需要说明,本说明书实施例所述的单轮信息推导可以包括多种信息的推导,也可以只包括一种信息的推导。以下以单轮信息推导只包括元素类别的推导为例,对本方案进行说明。
图4示出根据另一个实施例的用户界面的测试用例生成方法流程图。该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图4所示,该方法可以包括步骤S402-步骤S406,其中,步骤S402与步骤S302相同,步骤S406与步骤S306相同,在此不复赘述。
步骤S404具体包括,对初始页面描述进行信息更新,其中包括,迭代执行若干轮次的元素类别推导。
其中单轮元素类别推导包括,步骤S4042,基于各界面元素的当前元素类别,生成元素类别推导用例。步骤S4044,执行该元素类别推导用例,得到执行结果。步骤S4046,从执行结果中采集与元素类别决策相关的若干目标特征,基于各目标特征决策本轮元素类别推导是否成功。S4048,如果推导失败,则基于执行结果,修正当前元素类别用于下一轮元素类别推导,直至达到推导结束条件。
其中,上述元素类别推导用例用于针对各界面元素进行预执行处理;该预执行处理是指对各界面元素进行元素触发或者元素访问的过程。
首先,在步骤S4042,在上述单轮元素类别推导为首轮迭代时,各界面元素的当前元素类别可以为其初始元素类别。其中,这里的初始元素类别可以是通过采集用户界面的结构特征数据得到,也即其包含在初始页面描述中。
上述的当前元素类别可以包括以下中的任一项:按钮、单选框、复选框、输入框以及滚动条等。上述的预执行处理包括以下中的任一项:选中、悬停、点击、双击、滚动和输入等。
在一个例子中,上述的元素类别推导用例可以包括,触发或访问界面元素的操作步骤(比如,点击操作、滚动操作)和截图操作等等。
接着,在步骤S4044,例如可以由图1中的用例执行引擎执行各元素类别推导用例,从而得到执行结果。这里的执行结果包括但不限于生成日志文件、新增页面弹层或二次确认框等等。
此外,在步骤S4046,可以从执行结果中采集与元素类别决策相关的目标特征。
具体地,可以对与元素类别决策相关的目标特征的判定结果进行加权求和,得到加权求和结果作为综合结果。判断该综合结果是否大于预定阈值;在判断结果指示综合结果大于预定阈值的情况下,确定元素类别推导成功。
应理解,在针对多个界面元素同时进行元素类别推导时,可以是在每个界面元素的元素类别推导均推导成功的情况下,确定本轮元素类别推导成功。否则如果任一界面元素的元素类别推导不成功,则本轮元素类别推导失败。
最后,对于步骤S4048,在一个实施例中,修正当前元素类别包括:对于各界面元素中任意的第一界面元素,根据执行结果,从与第一界面元素相匹配的、按照优先级排列的若干元素类别中选取目标元素类别;至少根据目标元素类别确定修正的当前元素类别。
当然,在实际应用中,还可以结合其它信息,修正当前元素类别。这里的其它信息例如可以为位置信息(例如,屏幕中间或者屏幕侧边)等。
此外,步骤S4048中提及的推导结束条件可以包括两种情况:
第一种,推导成功的结束条件,例如各个界面元素的元素类别均推导成功。
第二种,推导失败的结束条件。例如在迭代轮次达到预定次数的情况下,如果还有部分界面元素的元素类别没有推导成功,那么则认为是达到推导失败的结束条件。
应理解,通过上述若干轮迭代只实现了针对元素类别这种信息的更新。在实际应用中,针对各界面元素,还可以迭代执行若干轮次的响应区域推导和影响范围推导等,以修正或补全所述初始页面描述中各界面元素的响应区域和影响范围等等,从而得到最终使用的更新页面描述。
与上述用户界面的测试用例生成方法对应地,本说明书一个实施例还提供的一种用户界面的测试用例生成装置,如图5所示,该装置可以包括:
采集单元502,用于采集用户界面的结构特征数据,得到初始页面描述,其中至少指示出用户界面包含的各界面元素。
更新单元504,用于对初始页面描述进行信息更新,其中包括,迭代执行若干轮次的信息推导。该更新单元504通过其包括的以下子模块执行单轮信息推导:
生成子模块5042,用于基于当前页面描述,生成推导用例;
执行子模块5044,用于执行该推导用例,得到执行结果;
决策子模块5046,用于从执行结果中采集若干目标特征,基于各目标特征决策本轮信息推导是否成功;
修正子模块5048,用于如果推导失败,则至少基于执行结果,修正当前页面描述用于下一轮信息推导,直至达到推导结束条件。
其中,上述推导用例用于针对各界面元素进行预执行处理,该预执行处理是指对各界面元素进行元素触发或者元素访问的过程。
生成单元506,用于基于达到推导结束条件时的当前页面描述确定更新页面描述,并基于更新页面描述生成用户界面的测试用例。
在一个实施例中,上述单轮信息推导为首轮迭代,上述当前页面描述为初始页面描述。
在一个实施例中,上述若干目标特征包括以下中的至少一项:日志事件响应信息、页面图像变化信息、网络请求日志信息、页面DOMtree层级变化信息、页面组件变化信息以及错误堆栈信息等。
在一个实施例中,上述决策子模块5046具体用于:
根据各目标特征是否符合对应的预定规则,确定多条判定结果;
基于该多条判定结果,决策本轮信息推导是否成功。
在另一个实施例中,上述单轮信息推导包括多种信息的推导,且目标特征与信息类型相对应;决策子模块5046还具体用于:
根据基于各种信息各自对应的目标特征所确定的判定结果,得到对应于各种信息的判定结果;
对各种信息各自对应的判定结果进行加权求和,得到综合结果,并通过判断该综合结果是否大于预定阈值,决策各种信息是否推导成功;
根据各种信息是否推导成功的决策结果,决策本轮信息推导是否成功。
在一个实施例中,上述多种信息包括以下中的至少一项:元素类别、必填项属性、页面分类、元素响应区域以及元素影响范围等。
在一个实施例中,采集单元502具体用于:
从至少一个特征维度采集用户界面的结构特征数据,其中,该至少一个特征维度包括层级维度、区域维度和元素维度中的若干种。
在一个实施例中,上述测试用例包括特征测试用例和交互测试用例中的至少一种。
在一个实施例中,上述单轮信息推导包括元素类别的推导;修正子模块5048具体用于:
对于各界面元素中任意的第一界面元素,根据执行结果,从与第一界面元素相匹配的、按照优先级排列的若干元素类别中选取目标元素类别;
至少根据目标元素类别确定修正的当前页面描述。
在一个实施例中,上述各界面元素包括以下中的至少一项:按钮、单选框、复选框、输入框以及滚动条等;
上述预执行处理包括以下中的任一项:选中、悬停、点击、双击、滚动和输入等。
本说明书上述实施例装置的各功能单元的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3或图4所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3或图4所描述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于介质和设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。
- 测试用例生成方法及装置
- 测试用例生成方法、装置及计算机可读存储介质
- 自动化测试用例生成方法、装置、介质及电子设备
- 接口测试用例生成方法、装置、计算机设备和存储介质
- 接口测试用例生成方法、装置、电子设备、存储介质
- 测试用例生成装置、测试用例生成方法和测试用例生成程序
- 测试用例生成装置、测试用例生成方法和测试用例生成程序