CN116049009A - 测试方法、装置、计算机设备及计算机可读存储介质 - Google Patents
测试方法、装置、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116049009A CN116049009A CN202310144824.5A CN202310144824A CN116049009A CN 116049009 A CN116049009 A CN 116049009A CN 202310144824 A CN202310144824 A CN 202310144824A CN 116049009 A CN116049009 A CN 116049009A
- Authority
- CN
- China
- Prior art keywords
- test
- attribute value
- recognition
- target
- trained
- 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
Images
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/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/02—Recognising information on displays, dials, clocks
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种测试方法、装置、计算机设备及计算机可读存储介质。方法包括:对待测试界面的界面图像进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求;获取识别对象对应的属性值集合;属性值集合,是基于属性值要求和识别对象匹配的测试用例设计方法确定的;获取从识别对象集合中确定的测试对象;将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案;基于各目标测试方案对测试对象进行测试。采用本方法能够提高测试的效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种测试方法、装置、计算机设备及计算机可读存储介质。
背景技术
随着互联网领域的发展,应用软件层出不穷,在应用软件上线使用之前,需要对应用软件进行软件测试。由于软件测试需求爆发式增长,软件测试逐渐由手工测试向自动化测试发展。
传统技术中,针对待测试的应用软件,采用人工方式编写测试脚本,然后执行测试脚本以进行测试,得到应用软件的测试结果。
然而,采用人工方式编写测试脚本,以对待测试的应用软件进行测试的方法,使得测试流程较为复杂,导致测试的效率较低。
发明内容
本申请提供一种测试方法、装置、计算机设备及计算机可读存储介质,能够提高测试的效率。
第一方面,本申请提供了一种测试方法,包括:
对待测试界面的界面图像进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求;
获取识别对象对应的属性值集合;属性值集合,是基于属性值要求和识别对象匹配的测试用例设计方法确定的;
获取从识别对象集合中确定的测试对象;测试对象包括识别对象集合中的至少一个识别对象;
将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案;基于各目标测试方案对测试对象进行测试。
第二方面,本申请还提供了一种测试装置,包括:
对象识别模块,用于对待测试界面的界面图像进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求;
属性值获取模块,用于获取识别对象对应的属性值集合;属性值集合,是基于属性值要求和识别对象匹配的测试用例设计方法确定的;
测试对象获取模块,用于获取从识别对象集合中确定的测试对象;测试对象包括识别对象集合中的至少一个识别对象;
测试方案生成模块,用于将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案;测试方案执行模块,用于基于各目标测试方案对测试对象进行测试。
第三方面,本申请还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述测试方法中的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述测试方法中的步骤。
第五方面,本申请还提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述测试方法中的步骤。
上述测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,对待测试界面的界面图像进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求,实现了自动化的对象识别,减少手动标注的工作量;然后基于识别对象对应的属性值要求确定属性值集合,从识别对象集合中确定测试对象,并将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,已训练的测试方案生成模型可以自动生成用例覆盖率高且数量较少的目标测试方案,无需人工编写测试脚本的流程,实现了目标测试方案的生成,并且可以基于目标测试方案对测试对象进行测试,实现了自动化测试,从而提高了测试的效率。
附图说明
图1为本申请实施例提供的一种测试方法的应用环境图;
图2为本申请实施例提供的一种测试方法的流程示意图;
图3为本申请实施例提供的一种对象识别模型与测试方案生成模型的交互示意图;
图4为本申请实施例提供的一种训练对象识别模型的流程示意图;
图5为本申请实施例提供的另一种测试方法的流程示意图;
图6为本申请实施例提供的一种测试装置的结构框图;
图7为本申请实施例提供的一种计算机设备的内部结构图;
图8为本申请实施例提供的另一种计算机设备的内部结构图;
图9为本申请实施例提供的一种计算机可读存储介质的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的测试方法,可以应用于如图1所示的应用环境中。其中,计算机设备102通过通信网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。
具体地,计算机设备102存储有待测试界面的界面图像,服务器104从计算机设备102获取待测试界面的界面图像,并进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求;获取识别对象对应的属性值集合;属性值集合,是基于属性值要求和识别对象匹配的测试用例设计方法确定的;获取从识别对象集合中确定的测试对象;测试对象包括对象集合中的至少一个识别对象;将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案;基于各目标测试方案对测试对象进行测试。服务器104在得到待测试界面的测试结果后,可以将测试结果发送至计算机设备102。计算机设备102接收测试结果,并保存测试结果。
其中,计算机设备102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一些实施例中,如图2所示,提供了一种测试方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤202,对待测试界面的界面图像进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求。
其中,待测试界面可以是目标应用或目标网页中的功能界面,待测试界面中包括至少一个对象。对象是指待测试界面中的功能控件,对象的类型包括输入控件、选择控件或点击控件中的至少一种,输入控件用于接收输入的信息,也称为输入框,选择控件用于选择选项,也称为选择框,点击控件用于进行页面跳转或实现页面交互,也称为按钮。界面图像可以是对待测试界面进行截图得到的,界面图像中包括对象以及对象对应的提示信息,提示信息是指对象对应的文字信息,用于表征对象的属性。提示信息可以是界面图像上的文字,比如输入框中默认展示的文字“请输入用户名”,也可以是人工标注的信息。
识别对象是对界面图像进行对象识别得到的,识别对象集合是由至少一个识别对象组成的集合。识别对象具有对象标识,对象标识表征识别对象的类型,例如,对象标识为input,则识别对象为输入控件,对象标识为select,则识别对象为选择控件。不同类型的识别对象具有不同的属性,例如,输入控件具有多个输入控件属性,包括输入数据长度和输入数据类型,而选择控件具有选项属性。属性值要求是识别对象的各属性对应的操作要求,不同识别对象的属性值要求不同,例如,输入控件的属性值要求包括,输入数据长度为11位。
具体地,服务器获取待测试界面的界面图像,然后将界面图像输入已训练的对象识别模型中进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的对象标识和属性值要求。其中,对象识别包括识别对象的图标以及对应的提示信息,提示信息可以是界面图像上的文字,比如输入框中默认展示的文字“请输入用户名”,也可以是人工标注的信息。已训练的对象识别模型具有识别界面图像中的对象以及对象对应的属性值要求的功能。例如,界面图像中存在输入控件以及输入控件对应的提示信息,提示信息为:请输入5-9位的文字,对界面图像进行对象识别,得到识别对象的对象标识为input,属性值要求为输入数据长度为[5,9],输入数据类型为字符。
在一些实施例中,在界面图像中不存在识别对象对应的提示信息的情况下,服务器可以根据识别对象的对象标识,将对象标识对应的默认属性值要求,作为该识别对象对应的属性值要求,默认属性值要求是根据对象的类型预先设置的。例如,识别对象为输入控件,对象标识为input,input对应的默认属性值要求为:输入数据长度为任意长度,输入数据类型为任意类型。
步骤204,获取识别对象对应的属性值集合;属性值集合,是基于属性值要求和识别对象匹配的测试用例设计方法确定的。
其中,属性值集合是识别对象的属性的取值或操作类型组成的集合,是基于识别对象的属性值要求和识别对象匹配的测试用例设计方法确定的,测试用例设计方法用于针对识别对象的属性值要求进行用例设计,得到属性值集合。测试用例设计方法包括等价类划分法、边界值划分法或因果图等方法,不同类型的识别对象匹配的测试用例设计方法不同。例如,输入控件对应的属性值要求包括输入数据长度为5-9,则利用边界值划分法得到的属性值集合包括:输入数据长度[4,5,6,8,9,10]。
具体地,服务器基于识别对象对应的属性值要求和识别对象匹配的测试用例设计方法,确定各识别对象对应的属性值集合。例如,识别对象为输入控件,输入控件的属性值要求为,输入数据长度为5-9,输入数据类型为数字或字母中的至少一种,输入控件匹配的测试用例设计方法包括等价类划分法或边界值划分法中的至少一种,则输入控件的属性值集合包括:输入数据长度[4,5,6,8,9,10],有效输入类型[数字,字母,数字和字母],无效输入类型[特殊符号,汉字]。
步骤206,获取从识别对象集合中确定的测试对象;测试对象包括识别对象集合中的至少一个识别对象。
其中,测试对象是指待测试界面中一个功能点对应的至少一个识别对象,例如,筛选功能点对应的两个选择控件可以作为一个测试对象。
具体地,服务器从识别对象集合中确定测试对象,可以将一个识别对象确定为一个测试对象,也可以将同一个功能点对应的多个识别对象确定为一个测试对象。例如,可以是通过人工判断是否为同一个功能点对应的多个识别对象,从而确定测试对象,也可以是基于识别对象对应的属性值要求确定的。对象对应的提示信息还可以包括对象的对应的功能点,则识别对象对应的属性值要求也可以包括识别对象对应的功能点。假设识别对象集合中包括3个识别对象,分别为输入控件、选择控件1和选择控件2,输入控件对应的属性值要求包括:功能点1,选择控件1对应的属性值要求包括:功能点2,选择控件2对应的属性值要求包括:功能点2,则可以将输入控件确定为一个测试对象,将选择控件1和选择控件2确定为一个测试对象。步骤208,将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案;
其中,基于测试对象中各识别对象分别对应的属性值集合进行排列组合,也可以得到多个测试方案,而这样得到的测试方案存在穷举执行的问题,从而导致测试效率较低。已训练的测试方案生成模型是通过对待训练的测试方案生成模型进行训练得到的、用于生成测试方案的模型,已训练的测试方案生成模型能够具有基于属性值集合进行排列组合,生成测试对象对应的多个测试方案,并从各测试方案中筛选得到至少一个目标测试方案的功能,例如,输入控件的输入长度有m种,输入类型有n种,进行排列组合后得到的测试方案共有m*n个,这m*n个测试方案中存在冗余的测试方案即存在测试效果相同的测试方案,已训练的测试方案生成模型可以从这m*n中将冗余的测试方案去除,将剩余的测试方案输出从而得到各目标测试方案,从而在保持测试效果的情况下减少了测试方案的数量,提高了测试效率。
具体地,服务器可以将测试对象中各识别对象分别对应的属性值集合,输入到已训练的测试方案生成模型中进行测试方案生成,生成测试对象的至少一个目标测试方案。例如,测试对象为目标输入控件,属性值集合为:输入数据长度[4,5,6,8,9,10],有效输入类型[数字,字母,数字和字母],无效输入类型[特殊符号,汉字],所生成的目标测试方案包括:[5,数字]。其中,目标输入控件是从识别对象集合中确定的测试对象。
步骤210,基于各目标测试方案对测试对象进行测试。
具体地,服务器基于测试对象的至少一个目标测试方案,生成各目标测试方案分别对应的测试用例,测试用例是用于对测试对象进行测试的数据或操作指令,例如,目标测试方案为[8,字母]的情况下,对应的测试用例可以是随机生成的长度为8的字母组成的字符串,比如abcdefgh。然后服务器可以利用测试用例对待测试界面中的测试对象进行测试,例如,将abcdefgh输入对应的目标输入控件,得到待测试界面中测试对象的用例测试结果。其中,用例测试结果是目标测试方案对应的测试结果。
在一些实施例中,服务器得到用例测试结果,然后将用例测试结果与预设测试结果进行对比,预设测试结果是预先设置的测试对象的正确测试结果,然后基于对比结果确定目标测试方案是否测试通过,服务器针对各目标测试方案,在对比一致的情况下,确定目标测试方案测试通过;在对比不一致的情况下,确定目标测试方案测试不通过,例如,输入控件在输入长度为8的字母后,预设测试结果是提示“输入正确”,若用例测试结果为提示“输入错误”,则该目标测试方案为测试不通过。
上述测试方法中,对待测试界面的界面图像进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求,实现了自动化的对象识别,减少手动标注的工作量;然后基于识别对象对应的属性值要求确定属性值集合,从识别对象集合中确定测试对象,并将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,已训练的测试方案生成模型可以自动生成用例覆盖率高且数量较少的目标测试方案,无需人工编写测试脚本的流程,实现了目标测试方案的生成,并且可以基于目标测试方案对测试对象进行自动化测试,从而提高了测试的效率。
在一些实施例中,得到已训练的测试方案生成模型的步骤,包括:
获取至少一个样本对象对应的属性值集合;
将各样本对象的属性值集合输入到待训练的测试方案生成模型进行测试方案预测,得到样本对象对应的至少一个预测测试方案;
基于样本对象的预测测试方案与真实测试方案之间的差异,调整待训练的测试方案生成模型的参数,得到已训练的测试方案生成模型。
其中,样本对象可以是样本界面图像中的对象,样本界面图像用于训练对象识别模型。预测测试方案是测试方案生成模型进行测试方案预测得到的,真实测试方案是从排列组合的结果中,去重后覆盖率高的测试方案。样本对象可以为一个,也可以为多个,例如,训练过程中输入的样本对象对应的属性值集合,可以是一个输入控件的属性值集合,也可以是多个选择控件分别对应的属性值集合。
本实施例中,通过基于样本对象的预测测试方案与真实测试方案之间的差异,调整待训练的测试方案生成模型的参数,得到已训练的测试方案生成模型,使得已训练的测试方案生成模型能够生成用例覆盖率高且数量较少的测试方案从而能够减少穷举执行的情况,进一步提高测试效率。
在一些实施例中,属性值要求是通过已训练的对象识别模型识别得到的;得到已训练的对象识别模型的步骤,包括:
获取样本界面图像;样本界面图像中包括至少一个样本对象和样本对象对应的真实的属性值要求;
将样本界面图像输入待训练的对象识别模型进行对象识别,得到样本界面图像中各样本对象分别对应的预测的属性值要求;
基于样本对象的预测的属性值要求和样本对象的真实的属性值要求之间的差异,调整待训练的对象识别模型的参数,得到已训练的对象识别模型。
其中,样本界面图像可以是应用中功能界面的截图,样本对象对应的真实的属性值要求,可以是对样本对象进行标注得到的。例如,可以是input,[5,9],数字或字母中的至少一种。
具体地,如图4所示,得到已训练的对象识别模型包括四个步骤,第一步,手动标注,通过收集包括大量样本界面图像的训练样本集,对样本界面图像中的样本对象进行标注,得到包括样本对象对应的真实的属性值要求的样本界面图像;第二步,创建模型,设置对象识别模型的卷积层、激活函数、隐藏单元等对应的参数的初始值,得到待训练的对象识别模型;第三步,训练模型,服务器将样本界面图像输入待训练的对象识别模型进行对象识别,输出预测的属性值要求,然后利用预测的属性值要求与真实的属性值要求之间的差异得到模型损失值,利用模型损失值调整对象识别模型的参数,直到模型收敛,得到已训练的对象识别模型;第四步,评估模型,通过向已训练的对象识别模型输入少量样本界面,例如,训练样本集的20%,基于输出的预测的属性值要求,对已训练的对象识别模型的识别准确度进行评估。
在一些实施例中,如图3所示,基于对象识别模型输出的识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求,可以得到测试方案生成模型的输入数据。
本实施例中,通过利用样本界面图像对待训练的对象识别模型进行训练,得到已训练的对象识别模型,从而能够利用已训练的对象识别模型实现对界面图像中的对象的自动化识别和标注,减少采用人工方式对界面进行标注的情况,提高了测试的效率。
在一些实施例中,识别对象集合包括目标输入控件;目标输入控件的属性值集合包括多个输入控件属性分别对应的子属性值集合;
将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案,包括:
在测试对象为目标输入控件的情况下,将多个输入控件属性分别对应的子属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案;
其中,目标测试方案包括多个输入控件属性分别对应的目标属性值,输入控件属性对应的目标属性值,属于输入控件属性对应的子属性值集合。
其中,目标输入控件是指从识别对象集合中确定为测试对象的输入控件,输入控件属性是输入控件对应的属性,输入控件属性包括输入数据长度和输入数据类型,即输入控件的属性值集合包括输入数据长度对应的子属性值集合和输入数据类型对应的子属性集合。
具体地,在测试对象为目标输入控件的情况下,服务器将输入数据长度对应的子属性值要求和输入数据类型对应的子属性要求,输入到已训练的测试方案生成模型中,生成目标输入控件的至少一个目标测试方案。例如,目标测试控件的属性值要求为,输入数据长度为11,输入数据类型为数字,输入数据长度对应的子属性值集合为:[10,11,12],输入数据类型对应的子属性值集合包括:有效输入类型[数字],无效输入类型[字母,汉字,特殊符号],服务器将[10,11,12]、[数字]、[字母,汉字,特殊符号]输入已训练的测试方案生成模型中,生成的目标测试方案包括:[10,数字]、[11,数字]、[12,数字]、[11,汉字]、[11,特殊符号]、[11,汉字和数字]、[11,特殊符号和数字]。
本实施例中,在测试对象为目标输入控件的情况下,已训练的测试方案生成模型能够生成测试对象的至少一个目标测试方案,从而基于目标测试方案实现了对待测试界面中的输入控件的自动化测试,提高了测试的效率。
在一些实施例中,识别对象集合还包括存在约束关系的多个选择控件;
将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案,包括:
在测试对象为存在约束关系的多个选择控件的情况下,将各选择控件分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案。
其中,存在约束关系的多个选择控件是指,多个选择控件中的某个选择控件当前选择的选项会对其他选择控件展示的选项产生影响,例如,第一选择控件和第二选择控件之间存在约束关系,第一选择控件的选项为[运动,其他],在第一选择控件当前选择的选项为“运动”的情况下,第二选择控件中展示的选项为[篮球,足球,跑步];在第一选择控件当前选择的选项为“其他”的情况下,第二选择控件中展示的选项为[电影,音乐,绘画]。选择控件对应的属性值集合包括选择操作和选项列表,选择操作可以是点击操作click,选项列表是选择控件中的选项。
具体地,在测试对象为存在约束关系的多个选择控件的情况下,服务器将各选择控件分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案。针对存在约束关系的多个选择控件生成的目标测试方案,包括基于约束关系对不同选择控件对应的属性值集合进行组合的测试方案,例如第一选择控件和第二选择控件对应的目标测试方案包括[click,运动,篮球],表示对第一选择控件的选项中的“运动”进行点击,然后对第二选择控件中的“篮球”进行点击。
本实施例中,在测试对象为存在约束关系的选择控件的情况下,已训练的测试方案生成模型能够生成测试对象的至少一个目标测试方案,从而基于目标测试方案实现了对待测试界面中的多个选择控件的自动化测试,提高了测试的效率。
在一些实施例中,基于各目标测试方案对测试对象进行测试,包括:
获取测试对象的位置信息;测试对象的位置信息包括测试对象中各识别对象分别对应的位置信息;识别对象的位置信息,用于表征识别对象在待测试界面中的位置;
基于各目标测试方案以及测试对象的位置信息,对测试对象进行测试。
其中,识别对象的位置信息表征识别对象在待测试界面中的位置,例如,识别对象的位置信息,可以是识别对象在待测试界面中的像素点坐标,
具体地,对象识别模型中还包括对象位置识别网络,对象位置识别网络具有确定识别对象在界面图像中的位置的功能。服务器可以将界面图像输入到已训练的对象识别模型中的对象位置识别网络,得到识别对象集合中各识别对象分别对应的位置信息。服务器确定测试对象以及测试对象的至少一个目标测试方案后,获取测试对象中各识别对象分别对应的位置信息,得到测试对象的位置信息,然后利用目标测试方案以及测试对象的位置信息,对待测试界面中的测试对象进行测试。
本实施例中,通过获取测试对象的位置信息,基于各目标测试方案和测试对象的位置信息,对测试对象进行测试,相较于现有的编写测试脚本的方法,无需编码维护,实现了自动化测试,从而提高了测试的效率。
在一些实施例中,基于各目标测试方案以及测试对象的位置信息,对测试对象进行测试,包括:
根据测试对象的位置信息,从待测试界面中确定测试对象;
生成各目标测试方案分别对应的测试用例;目标测试方案对应的测试用例,是指符合目标测试方案的测试用例;
利用各目标测试方案分别对应的测试用例,对测试对象进行测试。
其中,测试用例可以是基于目标测试方案生成的,用于对测试对象进行测试。例如,测试对象为目标输入控件,目标测试方案为[8,字母]的情况下,对应的测试用例可以是随机生成的长度为8的字母组成的字符串,比如abcdefgh。
具体地,服务器在对目标应用的待测试界面执行测试时,根据测试对象的位置信息,从待测试界面中确定测试对象,并生成测试对象的各目标测试方案分别对应的测试用例,然后利用各目标测试方案分别对应的测试用例,对测试对象进行测试,得到用例测试结果,例如,将abcdefgh输入到目标输入控件中,得到待测试页面中“输入成功”的提示信息。
本实施例中,通过自动生成测试用例,并能利用测试用例完成对测试对象的自动化测试,进一步提高了测试的效率。
在一些实施例中,如图5所示,提供了一种测试方法,以该方法应用于服务器为例进行说明,包括以下步骤:
步骤502,获取待测试界面的界面图像,将界面图像输入已训练的对象识别模型中进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求和位置信息。
其中,已训练的对象识别模型还包括对象位置识别网络,对象位置识别网络用于确定识别对象的位置信息。
步骤504,基于各识别对象对应的属性值要求和识别对象匹配的测试用例设计方法,确定各识别对象对应的属性值集合。
其中,属性值集合是基于属性值要求和识别对象匹配的测试用例设计方法确定的。
步骤506,从识别对象集合中确定测试对象。
其中,测试对象包括目标输入控件或存在约束关系的多个选择控件中的至少一种。
步骤508,将测试对象中的各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案。
步骤510,获取测试对象中各识别对象分别对应的位置信息,得到测试对象的位置信息。
步骤512,根据测试对象的位置信息,从待测试界面中确定测试对象。
步骤514,生成测试对象的各目标测试方案分别对应的测试用例。
步骤516,利用目标测试方案分别对应的测试用例,对待测试界面中的测试对象进行测试。
本实施例中,通过待测试界面的界面图像进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求和位置信息,实现了自动化的对象识别,减少手动标注的工作量;通过已训练的测试方案生成模型可以自动生成用例覆盖率高且数量较少的目标测试方案,无需人工编写测试脚本的流程,实现了目标测试方案的生成,并且可以基于目标测试方案生成测试用例,从而基于测试用例和测试对象的位置信息对测试对象进行自动化测试,实现了自动化测试,从而提高了测试的效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的测试方法的测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个测试装置实施例中的具体限定可以参见上文中对于测试方法的限定,在此不再赘述。
在一些实施例中,如图6所示,提供了一种测试装置,包括:
对象识别模块602,用于对待测试界面的界面图像进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求。
属性值获取模块604,用于获取识别对象对应的属性值集合;属性值集合,是基于属性值要求和识别对象匹配的测试用例设计方法确定的。
测试对象获取模块606,用于获取从识别对象集合中确定的测试对象;测试对象包括识别对象集合中的至少一个识别对象。
测试方案生成模块608,用于将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案。
测试方案执行模块610,用于基于各目标测试方案对测试对象进行测试。
在一些实施例中,测试装置还包括第一模型训练模块,第一模型训练模块具体用于:
获取至少一个样本对象对应的属性值集合;
将各样本对象的属性值集合输入到待训练的测试方案生成模型进行测试方案预测,得到样本对象对应的至少一个预测测试方案;
基于样本对象的预测测试方案与真实测试方案之间的差异,调整待训练的测试方案生成模型的参数,得到已训练的测试方案生成模型。
在一些实施例中,属性值要求是通过已训练的对象识别模型识别得到的;测试装置还包括第二模型训练模块,第二模型训练模块具体用于:
获取样本界面图像;样本界面图像中包括至少一个样本对象和样本对象对应的真实的属性值要求;
将样本界面图像输入待训练的对象识别模型进行对象识别,得到样本界面图像中各样本对象分别对应的预测的属性值要求;
基于样本对象的预测的属性值要求和样本对象的真实的属性值要求之间的差异,调整待训练的对象识别模型的参数,得到已训练的对象识别模型。
在一些实施例中,识别对象集合包括目标输入控件;目标输入控件的属性值集合包括多个输入控件属性分别对应的子属性值集合;
在将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案的方面,测试方案生成模块608具体用于:
在测试对象为目标输入控件的情况下,将多个输入控件属性分别对应的子属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案;
其中,目标测试方案包括多个输入控件属性分别对应的目标属性值,输入控件属性对应的目标属性值,属于输入控件属性对应的子属性值集合。
在一些实施例中,识别对象集合还包括存在约束关系的多个选择控件;
在将测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案的方面,测试方案生成模块608具体用于:
在测试对象为存在约束关系的多个选择控件的情况下,将各选择控件分别对应的属性值集合输入到已训练的测试方案生成模型中,生成测试对象的至少一个目标测试方案。
在一些实施例中,在基于各目标测试方案对测试对象进行测试的方面,测试方案执行模块610具体用于:
获取测试对象的位置信息;测试对象的位置信息包括测试对象中各识别对象分别对应的位置信息;识别对象的位置信息,用于表征识别对象在待测试界面中的位置;
基于各目标测试方案以及测试对象的位置信息,对测试对象进行测试。
在一些实施例中,在基于各目标测试方案对测试对象进行测试的方面,测试方案执行模块610具体用于:
根据测试对象的位置信息,从待测试界面中确定测试对象;
生成各目标测试方案分别对应的测试用例;目标测试方案对应的测试用例,是指符合目标测试方案的测试用例;
利用各目标测试方案分别对应的测试用例,对测试对象进行测试。
上述测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)以及通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储测试方法涉及的相关数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述的测试方法中的步骤。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元以及输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现上述的测试方法中的步骤。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7和图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述测试方法中的步骤。
在一些实施例中,提供了一种计算机可读存储介质900,其上存储有计算机程序902,计算机程序902被处理器执行时实现上述图像数据处理方法中的步骤,其内部结构图可以如图9所示。
在一些实施例中,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述测试方法中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(FerroelectricRandom Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandom Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种测试方法,其特征在于,包括:
对待测试界面的界面图像进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求;
获取所述识别对象对应的属性值集合;所述属性值集合,是基于所述属性值要求和所述识别对象匹配的测试用例设计方法确定的;
获取从所述识别对象集合中确定的测试对象;所述测试对象包括所述识别对象集合中的至少一个识别对象;
将所述测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成所述测试对象的至少一个目标测试方案;
基于各所述目标测试方案对所述测试对象进行测试。
2.根据权利要求1所述的方法,其特征在于,得到所述已训练的测试方案生成模型的步骤,包括:
获取至少一个样本对象对应的属性值集合;
将各所述样本对象的属性值集合输入到待训练的测试方案生成模型进行测试方案预测,得到所述样本对象对应的至少一个预测测试方案;
基于所述样本对象的预测测试方案与真实测试方案之间的差异,调整所述待训练的测试方案生成模型的参数,得到所述已训练的测试方案生成模型。
3.根据权利要求1所述的方法,其特征在于,所述属性值要求是通过已训练的对象识别模型识别得到的;得到所述已训练的对象识别模型的步骤,包括:
获取样本界面图像;所述样本界面图像中包括至少一个样本对象和所述样本对象对应的真实的属性值要求;
将所述样本界面图像输入待训练的对象识别模型进行对象识别,得到所述样本界面图像中各样本对象分别对应的预测的属性值要求;
基于所述样本对象的预测的属性值要求和所述样本对象的真实的属性值要求之间的差异,调整所述待训练的对象识别模型的参数,得到已训练的对象识别模型。
4.根据权利要求1所述的方法,其特征在于,所述识别对象集合包括目标输入控件;所述目标输入控件的属性值集合包括多个输入控件属性分别对应的子属性值集合;
所述将所述测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成所述测试对象的至少一个目标测试方案,包括:
在所述测试对象为所述目标输入控件的情况下,将所述多个输入控件属性分别对应的子属性值集合输入到已训练的测试方案生成模型中,生成所述测试对象的至少一个目标测试方案;
其中,所述目标测试方案包括所述多个输入控件属性分别对应的目标属性值,所述输入控件属性对应的目标属性值,属于所述输入控件属性对应的子属性值集合。
5.根据权利要求4所述的方法,其特征在于,所述识别对象集合还包括存在约束关系的多个选择控件;
所述将所述测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成所述测试对象的至少一个目标测试方案,包括:
在所述测试对象为所述存在约束关系的多个选择控件的情况下,将各所述选择控件分别对应的属性值集合输入到已训练的测试方案生成模型中,生成所述测试对象的至少一个目标测试方案。
6.根据权利要求1所述的方法,其特征在于,所述基于各所述目标测试方案对所述测试对象进行测试,包括:
获取所述测试对象的位置信息;所述测试对象的位置信息包括所述测试对象中各识别对象分别对应的位置信息;所述识别对象的位置信息,用于表征所述识别对象在所述待测试界面中的位置;
基于各所述目标测试方案以及所述测试对象的位置信息,对所述测试对象进行测试。
7.根据权利要求6所述的方法,其特征在于,所述基于各所述目标测试方案以及所述测试对象的位置信息,对所述测试对象进行测试,包括:
根据所述测试对象的位置信息,从所述待测试界面中确定所述测试对象;
生成各所述目标测试方案分别对应的测试用例;所述目标测试方案对应的测试用例,是指符合所述目标测试方案的测试用例;
利用各所述目标测试方案分别对应的测试用例,对所述测试对象进行测试。
8.一种测试装置,其特征在于,包括:
对象识别模块,用于对待测试界面的界面图像进行对象识别,得到识别对象集合以及识别对象集合中各识别对象分别对应的属性值要求;
属性值获取模块,用于获取所述识别对象对应的属性值集合;所述属性值集合,是基于所述属性值要求和所述识别对象匹配的测试用例设计方法确定的;
测试对象获取模块,用于获取从所述识别对象集合中确定的测试对象;所述测试对象包括所述识别对象集合中的至少一个识别对象;
测试方案生成模块,用于将所述测试对象中各识别对象分别对应的属性值集合输入到已训练的测试方案生成模型中,生成所述测试对象的至少一个目标测试方案;
测试方案执行模块,用于基于各所述目标测试方案对所述测试对象进行测试。
9.一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310144824.5A CN116049009A (zh) | 2023-01-29 | 2023-01-29 | 测试方法、装置、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310144824.5A CN116049009A (zh) | 2023-01-29 | 2023-01-29 | 测试方法、装置、计算机设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116049009A true CN116049009A (zh) | 2023-05-02 |
Family
ID=86121958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310144824.5A Pending CN116049009A (zh) | 2023-01-29 | 2023-01-29 | 测试方法、装置、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049009A (zh) |
-
2023
- 2023-01-29 CN CN202310144824.5A patent/CN116049009A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767228B (zh) | 基于人工智能的界面测试方法、装置、设备和介质 | |
US20210295114A1 (en) | Method and apparatus for extracting structured data from image, and device | |
CN114049631A (zh) | 一种数据标注的方法、装置、计算机设备和存储介质 | |
CN117473130A (zh) | 业务处理方法、装置、设备、介质和程序产品 | |
CN115687146A (zh) | Bios测试方法、装置、计算机设备和存储介质 | |
CN116049009A (zh) | 测试方法、装置、计算机设备及计算机可读存储介质 | |
CN117113302B (zh) | 文本水印生成方法和文本验证方法 | |
Chu et al. | Automated GUI testing for android news applications | |
CN116612474B (zh) | 对象检测方法、装置、计算机设备及计算机可读存储介质 | |
CN117612192A (zh) | 电子图纸信息识别方法、系统、电子设备、存储介质 | |
CN113111713B (zh) | 一种图像检测方法、装置、电子设备及存储介质 | |
CN116467208A (zh) | 界面自动测试方法、装置及计算机设备 | |
CN117975473A (zh) | 票据文本检测模型训练及检测方法、装置、设备和介质 | |
CN117540915A (zh) | 基于大数据技术的选型方案生成方法、装置、设备和介质 | |
CN116701178A (zh) | 界面测试方法、装置、计算机设备和存储介质 | |
CN118227107A (zh) | 代码生成模型训练方法、代码生成方法、装置 | |
CN117435651A (zh) | 测试数据处理方法、装置、计算机设备和存储介质 | |
CN117331812A (zh) | 业务代码验证方法、装置、计算机设备、存储介质和产品 | |
CN116884019A (zh) | 签名识别方法、装置、计算机设备和存储介质 | |
CN116661921A (zh) | 确定金融服务系统的信息展示页面的方法、装置和设备 | |
CN118277271A (zh) | 异常定位方法、装置、计算机设备和存储介质 | |
CN118332214A (zh) | 页面异常处理方法、装置、计算机设备和存储介质 | |
CN116597293A (zh) | 多模态场景识别方法、装置、计算机设备和存储介质 | |
CN117435910A (zh) | 一种异常数据的检测方法、装置、计算机设备 | |
CN115834953A (zh) | 特效资源渲染方法、装置、直播系统、设备和存储介质 |
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 |