CN110309059A - Ui界面测试方法、系统、计算机设备和存储介质 - Google Patents

Ui界面测试方法、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN110309059A
CN110309059A CN201910440420.4A CN201910440420A CN110309059A CN 110309059 A CN110309059 A CN 110309059A CN 201910440420 A CN201910440420 A CN 201910440420A CN 110309059 A CN110309059 A CN 110309059A
Authority
CN
China
Prior art keywords
interface
script
tested
test
page
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
Application number
CN201910440420.4A
Other languages
English (en)
Inventor
张娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Smart Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by OneConnect Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Priority to CN201910440420.4A priority Critical patent/CN110309059A/zh
Publication of CN110309059A publication Critical patent/CN110309059A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

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

本发明涉及自动化测试工具技术领域,本发明提供一种UI界面测试方法、系统、计算机设备和存储介质,所述方法包括:获取待测试UI界面的页面代码;将页面代码输入UI界面测试脚本模型,生成待测试UI界面的目标测试脚本,UI界面测试脚本模型是根据历史测试的UI界面的测试脚本和页面代码进行训练所得的机器学习模型;运行目标测试脚本,对待测试UI界面进行测试;获取待测试UI界面对目标UI界面测试脚本的响应,得到测试结果。上述方法,将待测试UI界面的页面代码输入UI界面测试脚本模型,得到适用于待测试UI界面的目标测试脚本,运行目标测试脚本后即可进行UI界面测试,测试过程中避免重新编写测试脚本,加快获取目标测试脚本,提高UI界面测试的效率。

Description

UI界面测试方法、系统、计算机设备和存储介质
技术领域
本发明涉及自动化测试工具技术领域,具体而言,本发明涉及一种UI界面测试方法、UI界面测试系统、计算机设备和存储介质。
背景技术
在开发出新的UI界面(User Interface,用户界面),需要编写和调试测试脚本,对新的UI界面进行自动化测试。当后续UI界面出现迭代优化,还需要继续对修改的UI界面的代码进行相应的测试,原有版本的测试代码已经不适合修改后的UI界面,需要重新进行测试脚本的编写和调试。
传统技术在进行UI界面测试的测试脚本一般是通过人工进行编写和调试的。测试脚本的编写和调试过程需要耗费较多时间,而且,当UI界面的元素发生更改,需要重新进行测试脚本的编写和调试。另外即使是布局相似的UI界面,也许根据UI界面重新编写脚本,已有的测试脚本不再适合。
现有的根据UI界面编写测试脚本的方法,在待测试的UI界面发生改变时,需要重新编写测试脚本,获取测试脚本的过程耗时长,降低UI界面测试的效率。
发明内容
本发明的目的旨在至少能解决上述的技术缺陷之一,特别是UI界面测试的效率低的技术缺陷。
本发明提供一种UI界面测试方法,包括如下步骤:
获取待测试UI界面的页面代码;
将所述页面代码输入UI界面测试脚本模型,生成所述待测试UI界面的目标测试脚本,其中,所述UI界面测试脚本模型是根据历史测试的UI界面的测试脚本和页面代码进行训练所得的机器学习模型;
运行所述目标测试脚本,对所述待测试UI界面进行测试;
获取所述待测试UI界面对所述目标UI界面测试脚本的响应,得到测试结果。
在一个实施例中,在所述将所述页面代码输入UI界面测试脚本模型,生成所述待测试UI界面的目标测试脚本的步骤之前,还包括:
获取历史测试的已编写UI界面测试脚本,收集所述已编写UI界面测试脚本对应的已测试UI界面的页面代码;将所述已编写UI界面测试脚本和所述已测试UI界面的页面代码作为一组训练样本,并存储在样本库中;根据所述样本库的训练样本进行有监督机器学习,得到所述UI界面测试脚本模型。
在一个实施例中,在所述得到测试结果的步骤之后,还包括:
根据所述测试结果判断UI界面测试是否通过;在判定所述UI界面测试通过时,将所述待测试UI界面的页面代码和所述目标测试脚本作为一组训练样本存储在所述样本库中;根据该新增训练样本的样本库,对所述UI界面测试脚本模型进行二次训练。
在一个实施例中,所述根据所述样本库的训练样本进行有监督机器学习的步骤,包括:
根据所述训练样本的页面代码获取所述训练样本的页面元素和页面结构;收集所述训练样本中已测试UI界面对应的测试结果;将所述页面元素、页面结构、测试结果和已编写UI界面测试脚本输入所述UI界面测试脚本模型进行有监督机器学习,其中,所述UI界面测试脚本模型用于描述UI界面测试脚本与页面元素、页面结构以及测试结果之间的相互关系。
在一个实施例中,在所述将所述页面代码输入UI界面测试脚本模型的步骤之前,还包括:
从所述样本库选取任意一组训练样本,将该训练样本的页面代码输入所述UI界面测试脚本模型,并获得预测测试脚本;将所述预测测试脚本与该训练样本的已编写UI界面测试脚本进行对比,判断脚本相似性;在所述脚本相似性大于或等于预设阈值时,执行所述将所述页面代码输入UI界面测试脚本模型的步骤;在所述脚本相似性小等于所述预设阈值时,根据所述样本库的训练样本对所述UI界面测试脚本模型进行二次训练。
在一个实施例中,在所述运行所述目标测试脚本,对所述待测试UI界面进行测试的步骤之前,还包括:
根据所述页面代码解析所述待测试UI界面的页面元素和页面结构;根据所述待测试UI界面的页面元素和页面结构,检测所述目标测试脚本的测试内容是否与所述待测试UI界面匹配;在检测结果判定为匹配时,执行所述运行所述目标测试脚本的步骤。
在一个实施例中,所述获取所述待测试UI界面对所述目标UI界面测试脚本的响应,得到测试结果的步骤,包括:
识别所述待测试UI界面的响应;根据所述待测试UI界面的页面元素和页面结构对所述响应进行分析,获得测试结果。
本发明还提供一种UI界面测试系统,包括:
获取模块,用于获取待测试UI界面的页面代码;
生成模块,用于将所述页面代码输入UI界面测试脚本模型,生成所述待测试UI界面的目标测试脚本,其中,所述UI界面测试脚本模型是根据历史测试的UI界面的测试脚本和页面代码进行训练所得的机器学习模型;
测试模块,用于运行所述目标测试脚本,对所述待测试UI界面进行测试;
响应模块,用于获取所述待测试UI界面对所述目标UI界面测试脚本的响应,得到测试结果。
本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述任一实施例所述UI界面测试方法的步骤。
本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述UI界面测试方法的步骤。
上述UI界面测试方法、系统、计算机设备和存储介质,通过将待测试UI界面的页面代码输入UI界面测试脚本模型,可以得到适用于测试待测试UI界面的目标测试脚本,运行目标测试脚本后即可以对待测试UI界面进行测试,测试过程中避免重新编写测试脚本,加快获取目标测试脚本,提高UI界面测试的效率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为一个实施例中UI界面测试方法的流程图;
图2为一个实施例中模型训练的流程图;
图3为另一个实施例中UI界面测试方法的流程图;
图4为一个实施例中UI界面测试系统的结构示意图;
图5为一个实施例中计算机设备的内部结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
在一个实施例中,如图1所示,图1为一个实施例中UI界面测试方法的流程图,本实施例中提出了一种UI界面测试方法,具体可以包括以下步骤:
步骤S110:获取待测试UI界面的页面代码。
本步骤中,可以接收用户上传的用于运行并产生待测UI界面的页面代码,UI界面的页面代码可以是UI界面的程序代码、源代码或脚本等。
步骤S120:将页面代码输入UI界面测试脚本模型,生成待测试UI界面的目标测试脚本,其中,UI界面测试脚本模型是根据历史测试的UI界面的测试脚本和页面代码进行训练所得的机器学习模型。
本步骤中,UI界面测试脚本模型是经过机器学习训练所获得的模型,经过机器学习训练后,学习了UI界面的测试脚本和该UI界面的页面代码之间的对应关系。UI界面测试脚本模型可以根据所输入待测试UI界面的页面代码,预测用于测试UI界面的目标测试脚本。
一般在完成UI界面测试任务后,还会留存UI界面测试脚本和对应的UI界面,所留存的测试脚本包括已编写UI界面测试脚本,所留存的对应的UI界面包括已测试UI界面的页面代码及其测试结果。可以根据所留存的测试脚本和对应的页面代码对该UI界面测试脚本模型进行机器学习训练。
步骤S130:运行目标测试脚本,对待测试UI界面进行测试。
目标测试脚本是用于对待测试UI界面进行UI界面测试,UI界面测试可以测试UI界面上功能模块的布局是否合理,整体风格是否一致和各个控件的放置位置是否符合客户使用习惯,更重要的是要符合操作便捷,导航简单易懂,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等等。
步骤S140:获取待测试UI界面对目标UI界面测试脚本的响应,得到测试结果。
本步骤中,目标UI界面测试脚本运行后,测试待测试UI界面时,待测试UI界面作出响应,可以由此识别待测试UI界面所产生的响应,再根据该响应判断出UI界面测试的测试结果,完成UI界面测试。
上述UI界面测试方法,通过将待测试UI界面的页面代码输入UI界面测试脚本模型,可以得到适用于测试待测试UI界面的目标测试脚本,运行目标测试脚本后即可以对待测试UI界面进行测试,测试过程中避免重新编写测试脚本,加快获取目标测试脚本,提高UI界面测试的效率。
对于UI界面测试脚本模型,可以是根据历史测试的UI界面的测试脚本和页面代码进行训练所得的机器学习模型,可以预测用于测试UI界面的目标测试脚本。
在一个实施例中,如图2所示,图2为一个实施例中模型训练的流程图,在步骤S120将页面代码输入UI界面测试脚本模型,生成待测试UI界面的目标测试脚本的步骤之前,还可以包括:
步骤S151:获取历史测试的已编写UI界面测试脚本,收集已编写UI界面测试脚本对应的已测试UI界面的页面代码。
本步骤中,获取历史测试后留存的已编写UI界面测试脚本,并确定与该已编写UI界面测试脚本对应的已测试UI界面,收集已测试UI界面的页面代码,还可以收集已测试UI界面在该已编写UI界面测试脚本进行测试所获得的测试结果。可以在每次UI界面测试后,留存已编写UI界面测试脚本、已测试UI界面的页面代码及其测试结果。
步骤S152:将已编写UI界面测试脚本和所述已测试UI界面的页面代码作为一组训练样本,并存储在样本库中。
本步骤中,UI界面的页面代码及其对应的UI界面测试脚本在相互之间存在一定关联关系,当将其作为一组训练样本,可以便于后续通过机器学习获得训练样本中包含的页面代码与UI界面测试脚本之间的对应关系。
步骤S153:根据样本库的训练样本进行有监督机器学习,得到UI界面测试脚本模型。
有监督机器学习的训练数据是有标签的,训练目标是能够给测试数据输出正确的标签。本步骤中,在适应有监督机器学习过程中,可以对样本库的训练样本进行标签的建立,不仅根据训练样本进行机器学习,而且还根据标签进行机器学习,训练效果较好,UI界面测试脚本模型的准确性较高。
上述UI界面测试方法,可以通过有监督机器学习对UI界面的页面代码及其对应的UI界面测试脚本进行训练,得到页面代码与测试脚本之间的关系,获得UI界面测试脚本模型。
有监督机器学习的算法可以包括:K近邻算法、决策树、朴素贝叶斯、逻辑回归中一种或多种算法。
有监督机器学习中,可以根据已编写UI界面测试脚本建立脚本标签,UI界面测试脚本模型可以学习UI界面的页面代码与脚本标签之间的关系。使用UI界面测试脚本模型并向其输入待测试UI界面的页面代码,UI界面测试脚本模型输出目标脚本标签,根据目标脚本标签与测试脚本之间的关系可以建立该目标脚本标签对应的目标测试脚本,该目标测试脚本可以用于测试待测试UI界面。另外,测试结果与测试脚本之间具有一定的关系,还可以再根据已编写UI界面测试脚本的测试结果建立脚本标签。
进一步地,也可以根据UI界面的页面代码建立界面标签,学习界面标签和脚本标签之间的关系,该关系可以代表测试脚本与UI界面的关系。具体地,根据UI界面的页面代码可以解析获得UI界面的页面元素和页面结构,根据页面元素和页面结构可以建立界面标签。
在一个实施例中,可以根据测试结果对UI界面测试脚本模型进行反馈,在步骤S140中得到测试结果的步骤之后,还可以包括:
A1:根据测试结果判断UI界面测试是否通过。
本步骤中,在测试结果判断UI界面测试为通过,则表示所使用的目标测试脚本可以成功完成待测试UI界面的测试。
A2:在判定UI界面测试通过时,将待测试UI界面的页面代码和目标测试脚本作为一组训练样本存储在样本库中。
A3:根据该新增训练样本的样本库,对UI界面测试脚本模型进行二次训练。
上述UI界面测试方法,将能够完成UI界面测试的目标测试脚本,以及其对应的待测试UI界面的页面代码作为一组训练样本,使用该新增的训练样本可以对UI界面测试脚本模型进行二次训练,加强UI界面测试脚本模型的训练效果,提高UI界面测试脚本模型的准确性。
在一个实施例中,步骤S153中根据样本库的训练样本进行有监督机器学习的步骤,包括:
S1531:根据训练样本的页面代码获取训练样本的页面元素和页面结构。
页面代码通过编译之后可以得到UI界面,本步骤中,通过解析页面代码可以提取该训练样本的UI界面中页面元素,以及可以分析得出该UI界面的页面结构,其中,页面元素可以包括UI界面中的文本、空文本、控件、图片等,页面结构可以是UI界面中页面元素的布局。由于当UI界面的页面元素和页面结构出现改变时,该UI界面所匹配的UI界面测试脚本需要重新编写,页面元素和页面结构影响着测试脚本的测试内容,因此UI界面的页面元素和页面结构与对应的UI界面测试脚本之间存在相互关系。
S1532:收集训练样本中已测试UI界面对应的测试结果。
本步骤中,测试结果可以用于反映测试脚本所测试的测试内容。
S1533:将页面元素、页面结构、测试结果和已编写UI界面测试脚本输入UI界面测试脚本模型进行有监督机器学习,其中,UI界面测试脚本模型用于描述UI界面测试脚本与页面元素、页面结构以及测试结果之间的相互关系。
上述UI界面测试方法,通过有监督机器学习,找到UI界面测试脚本与页面元素、页面结构以及测试结果之间的相互关系,可以便于后续分析待测试UI界面的页面元素、页面结构并通过UI界面测试脚本模型找到匹配的目标测试脚本。
在一个实施例中,在步骤S120将页面代码输入UI界面测试脚本模型的步骤之前,还可以包括:
B1:从样本库选取任意一组训练样本,将该训练样本的页面代码输入UI界面测试脚本模型,并获得预测测试脚本。
通过样本库中训练样本对UI界面测试脚本模型进行检验,将样本库中训练样本的页面代码输入UI界面测试脚本模型,获得UI界面测试脚本模型所预测的测试脚本。
B2:将预测测试脚本与该训练样本的已编写UI界面测试脚本进行对比,判断脚本相似性。
对UI界面测试脚本模型的预测效果进行检测,通过将预测测试脚本与对应的已编写UI界面测试脚本进行对比,将脚本之间的脚本相似性作为UI界面测试脚本模型的预测效果。
B3:在脚本相似性大于或等于预设阈值时,执行将页面代码输入UI界面测试脚本模型的步骤。
在UI界面测试脚本模型的预测效果符合精度要求时,可以表现出脚本相似性大于或等于预设阈值,此时可以调用UI界面测试脚本模型对待测试UI界面进行测试脚本的预测。
B4:在脚本相似性小等于预设阈值时,根据样本库的训练样本对UI界面测试脚本模型进行二次训练。
但是如果UI界面测试脚本模型的预测效果不符合精度要求,会表现出脚本相似性小于预设阈值,此时需要继续优化UI界面测试脚本模型,提高UI界面测试脚本模型的准确性。
上述UI界面测试方法,将训练样本作为输入UI界面测试脚本模型的测试数据,对模型进行测试,判断UI界面测试脚本模型的模型精度,若模型精度低于预设的精度要求,则继续训练和调整,使得UI界面测试脚本模型达到精度要求。
在一个实施例中,在步骤S130运行目标测试脚本,对待测试UI界面进行测试的步骤之前,还可以包括:
C1:根据页面代码解析待测试UI界面的页面元素和页面结构。
本步骤中,通过解析页面代码可以提取待测试UI界面中页面元素,以及可以分析得出待测试UI界面的页面结构。
C2:根据待测试UI界面的页面元素和页面结构,检测目标测试脚本的测试内容是否与待测试UI界面匹配。
本步骤中,在检测是否匹配的过程中,可以判断目标测试脚本中所测试的对象是不是待测试UI界面中真实存在的页面元素,保障目标测试脚本中所测试的对象的真实有效,才可以有效编译和执行目标测试脚本。在检测是否匹配的过程中,也可以根据测试内容推测所测试的界面结构类型,该所测试的页面结构类型是否与待测试UI界面的页面结构的类型相同,若相同,则表示所测试的页面结构类型与待测试UI界面的页面结构匹配。当目标测试脚本的测试内容与待测试UI界面的页面元素和页面结构都匹配时,可以判定检测结果判定为匹配,表示目标测试脚本可以有效编译并实现待测试UI界面的测试。
C3:在检测结果判定为匹配时,执行运行目标测试脚本的步骤。
上述UI界面测试方法,在运行目标测试脚本之前,检测目标测试脚本是否与待测试UI界面匹配,减少运行目标测试脚本过程中出现的缺陷和问题,可以有效编译目标测试脚本并实现待测试UI界面的测试,提高UI界面测试的效率。
在一个实施例中,步骤S140中获取待测试UI界面对目标UI界面测试脚本的响应,得到测试结果的步骤,可以包括:
S1401:识别待测试UI界面的响应。
所识别的响应可以来源于所生成的页面图像、生成页面图像的过程、UI界面的数据处理、页面控制处理等。
S1402:根据待测试UI界面的页面元素和页面结构对响应进行分析,获得测试结果。
根据待测试UI界面的页面代码内的页面元素和页面结构对响应进行核查,分析该响应是否为正常情况,将各个响应的分析结果进行汇总,得到测试结果。
上述UI界面测试方法,可以结合待测试UI界面的页面代码来核查响应,分析测试结果,可以对测试结果的来源进行定位,确定非正常的响应的来源,便于开发者针对性查找和修改UI界面的缺陷。
在另一个实施例中,如图3所示,图3为另一个实施例中UI界面测试方法的流程图,本实施例中提出一种UI界面测试方法,具体可以包括以下步骤:
步骤S310:收集历史测试后留存的已编写UI界面测试脚本和已测试UI界面的页面代码,建立样本库。
将已编写UI界面测试脚本和已测试UI界面的页面代码保存在样本库中,并记录已编写UI界面测试脚本和已测试UI界面的页面代码之间的映射关系,该映射关系用于查找对应的测试脚本和页面代码。可以将样本库中已编写UI界面测试脚本与其对应的页面代码作为一组训练样本,样本库中存储多组训练样本。
步骤S320:对样本库的训练样本进行有监督机器学习,建立UI界面测试脚本模型。
对训练样本建立标签,根据训练样本和标签进行有监督机器学习,学习UI界面的页面代码与测试脚本之间的关系,由该关系建立UI界面测试脚本模型。UI界面的页面元素和页面结构与测试脚本关系密切,还可以通过有监督机器学习对测试脚本、UI界面的页面元素和页面结构进行综合分析,并建立UI界面测试脚本模型。
进一步地,可以根据训练样本检测UI界面测试脚本模型是否满足精度要求。从样本库选取任意一组训练样本,将该训练样本的页面代码输入UI界面测试脚本模型,并获得预测测试脚本;将预测测试脚本与该训练样本的已编写UI界面测试脚本进行对比,判断脚本相似性;在脚本相似性小等于预设阈值时,根据样本库的训练样本对UI界面测试脚本模型进行二次训练。
步骤S330:将待测试UI界面的页面代码输入UI界面测试脚本模型,UI界面测试脚本模型预测并输出目标测试脚本。
调用UI界面测试脚本模型,向其输入待测试UI界面的页面代码,根据UI界面的页面代码与测试脚本之间的关系,生成待测试UI界面与匹配的目标测试脚本。
步骤S340:通过运行目标测试脚本对待测试UI界面进行UI界面测试,获得测试结果。
运行目标测试脚本,识别待测试UI界面的响应;根据待测试UI界面的页面元素和页面结构对响应进行分析,获得测试结果。
运行目标测试脚本前,还可以检测目标测试脚本是否与待测试UI界面匹配,减少目标测试脚本的调试。具体地,可以根据页面代码解析待测试UI界面的页面元素和页面结构;根据待测试UI界面的页面元素和页面结构,检测目标测试脚本的测试内容是否与待测试UI界面匹配;在检测结果判定为匹配时,运行目标测试脚本。
步骤S350:将目标测试脚本和待测试UI界面存储在样本库,并对UI界面测试脚本模型进行二次训练。
在测试结果表示目标测试脚本为可用的,则可以将目标测试脚本和待测试UI界面作为训练样本对UI界面测试脚本模型进行反馈,对UI界面测试脚本模型进行二次训练,优化UI界面测试脚本模型,提高模型的精度。
上述UI界面测试方法,提供一个快速高效生成UI界面测试脚本的方法,节省了编写脚本和调试脚本的时间,提高UI界面测试的效率。
在一个实施例中,如图4所示,图4为一个实施例中UI界面测试系统的结构示意图,本实施例中提供一种UI界面测试系统,具体可以包括:获取模块410、生成模块420、测试模块430和响应模块440,其中:
获取模块410,用于获取待测试UI界面的页面代码。
获取模块410可以接收用户上传的用于运行并产生待测UI界面的页面代码,UI界面的页面代码可以是UI界面的程序代码、源代码或脚本等。
生成模块420,用于将页面代码输入UI界面测试脚本模型,生成待测试UI界面的目标测试脚本,其中,UI界面测试脚本模型是根据历史测试的UI界面的测试脚本和页面代码进行训练所得的机器学习模型。
生成模块420中,UI界面测试脚本模型是经过机器学习训练所获得的模型,经过机器学习训练后,学习了UI界面的测试脚本和该UI界面的页面代码之间的对应关系。UI界面测试脚本模型可以根据所输入待测试UI界面的页面代码,预测用于测试UI界面的目标测试脚本。
一般在完成UI界面测试任务后,还会留存UI界面测试脚本和对应的UI界面,所留存的测试脚本包括已编写UI界面测试脚本,所留存的对应的UI界面包括已测试UI界面的页面代码及其测试结果。可以根据所留存的测试脚本和对应的页面代码对该UI界面测试脚本模型进行机器学习训练。
测试模块430,用于运行目标测试脚本,对待测试UI界面进行测试。
响应模块440,用于获取待测试UI界面对目标UI界面测试脚本的响应,得到测试结果。
响应模块440中,目标UI界面测试脚本运行后,测试待测试UI界面时,待测试UI界面作出响应,可以由此识别待测试UI界面所产生的响应,再根据该响应判断出UI界面测试的测试结果,完成UI界面测试。
上述UI界面测试系统,通过将待测试UI界面的页面代码输入UI界面测试脚本模型,可以得到适用于测试待测试UI界面的目标测试脚本,运行目标测试脚本后即可以对待测试UI界面进行测试,测试过程中避免重新编写测试脚本,加快获取目标测试脚本,提高UI界面测试的效率。
对于UI界面测试脚本模型,可以是根据历史测试的UI界面的测试脚本和页面代码进行训练所得的机器学习模型,可以预测用于测试UI界面的目标测试脚本。
关于UI界面测试系统的具体限定可以参见上文中对于UI界面测试方法的限定,在此不再赘述。上述UI界面测试系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
如图5所示,图5为一个实施例中计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种UI界面测试方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种UI界面测试方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述任一实施例中UI界面测试方法的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例中UI界面测试方法的步骤。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种UI界面测试方法,其特征在于,包括如下步骤:
获取待测试UI界面的页面代码;
将所述页面代码输入UI界面测试脚本模型,生成所述待测试UI界面的目标测试脚本,其中,所述UI界面测试脚本模型是根据历史测试的UI界面的测试脚本和页面代码进行训练所得的机器学习模型;
运行所述目标测试脚本,对所述待测试UI界面进行测试;
获取所述待测试UI界面对所述目标UI界面测试脚本的响应,得到测试结果。
2.根据权利要求1所述的UI界面测试方法,其特征在于,在所述将所述页面代码输入UI界面测试脚本模型,生成所述待测试UI界面的目标测试脚本的步骤之前,还包括:
获取历史测试的已编写UI界面测试脚本,收集所述已编写UI界面测试脚本对应的已测试UI界面的页面代码;
将所述已编写UI界面测试脚本和所述已测试UI界面的页面代码作为一组训练样本,并存储在样本库中;
根据所述样本库的训练样本进行有监督机器学习,得到所述UI界面测试脚本模型。
3.根据权利要求2所述的UI界面测试方法,其特征在于,在所述得到测试结果的步骤之后,还包括:
根据所述测试结果判断UI界面测试是否通过;
在判定所述UI界面测试通过时,将所述待测试UI界面的页面代码和所述目标测试脚本作为一组训练样本存储在所述样本库中;
根据该新增训练样本的样本库,对所述UI界面测试脚本模型进行二次训练。
4.根据权利要求2所述的UI界面测试方法,其特征在于,所述根据所述样本库的训练样本进行有监督机器学习的步骤,包括:
根据所述训练样本的页面代码获取所述训练样本的页面元素和页面结构;
收集所述训练样本中已测试UI界面对应的测试结果;
将所述页面元素、页面结构、测试结果和已编写UI界面测试脚本输入所述UI界面测试脚本模型进行有监督机器学习,其中,所述UI界面测试脚本模型用于描述UI界面测试脚本与页面元素、页面结构以及测试结果之间的相互关系。
5.根据权利要求2所述的UI界面测试方法,其特征在于,在所述将所述页面代码输入UI界面测试脚本模型的步骤之前,还包括:
从所述样本库选取任意一组训练样本,将该训练样本的页面代码输入所述UI界面测试脚本模型,并获得预测测试脚本;
将所述预测测试脚本与该训练样本的已编写UI界面测试脚本进行对比,判断脚本相似性;
在所述脚本相似性大于或等于预设阈值时,执行所述将所述页面代码输入UI界面测试脚本模型的步骤;
在所述脚本相似性小等于所述预设阈值时,根据所述样本库的训练样本对所述UI界面测试脚本模型进行二次训练。
6.根据权利要求1所述的UI界面测试方法,其特征在于,在所述运行所述目标测试脚本,对所述待测试UI界面进行测试的步骤之前,还包括:
根据所述页面代码解析所述待测试UI界面的页面元素和页面结构;
根据所述待测试UI界面的页面元素和页面结构,检测所述目标测试脚本的测试内容是否与所述待测试UI界面匹配;
在检测结果判定为匹配时,执行所述运行所述目标测试脚本的步骤。
7.根据权利要求1所述的UI界面测试方法,其特征在于,所述获取所述待测试UI界面对所述目标UI界面测试脚本的响应,得到测试结果的步骤,包括:
识别所述待测试UI界面的响应;
根据所述待测试UI界面的页面元素和页面结构对所述响应进行分析,获得测试结果。
8.一种UI界面测试系统,其特征在于,包括:
获取模块,用于获取待测试UI界面的页面代码;
生成模块,用于将所述页面代码输入UI界面测试脚本模型,生成所述待测试UI界面的目标测试脚本,其中,所述UI界面测试脚本模型是根据历史测试的UI界面的测试脚本和页面代码进行训练所得的机器学习模型;
测试模块,用于运行所述目标测试脚本,对所述待测试UI界面进行测试;
响应模块,用于获取所述待测试UI界面对所述目标UI界面测试脚本的响应,得到测试结果。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,其特征在于,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述UI界面测试方法的步骤。
10.一种存储有计算机可读指令的存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述UI界面测试方法的步骤。
CN201910440420.4A 2019-05-24 2019-05-24 Ui界面测试方法、系统、计算机设备和存储介质 Pending CN110309059A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910440420.4A CN110309059A (zh) 2019-05-24 2019-05-24 Ui界面测试方法、系统、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910440420.4A CN110309059A (zh) 2019-05-24 2019-05-24 Ui界面测试方法、系统、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN110309059A true CN110309059A (zh) 2019-10-08

Family

ID=68074973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910440420.4A Pending CN110309059A (zh) 2019-05-24 2019-05-24 Ui界面测试方法、系统、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110309059A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199290A (zh) * 2020-10-16 2021-01-08 深圳无域科技技术有限公司 基于机器学习的ui元素定位方法及系统
CN112578979A (zh) * 2020-12-28 2021-03-30 中国建设银行股份有限公司 操作脚本的生成方法、装置、可读介质以及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294107A (zh) * 2015-05-27 2017-01-04 富士通株式会社 生成网页页面的测试用例的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294107A (zh) * 2015-05-27 2017-01-04 富士通株式会社 生成网页页面的测试用例的方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199290A (zh) * 2020-10-16 2021-01-08 深圳无域科技技术有限公司 基于机器学习的ui元素定位方法及系统
CN112199290B (zh) * 2020-10-16 2023-11-03 深圳无域科技技术有限公司 基于机器学习的ui元素定位方法及系统
CN112578979A (zh) * 2020-12-28 2021-03-30 中国建设银行股份有限公司 操作脚本的生成方法、装置、可读介质以及设备

Similar Documents

Publication Publication Date Title
CN108334781B (zh) 病毒检测方法、装置、计算机可读存储介质和计算机设备
US10552301B2 (en) Completing functional testing
US11662997B2 (en) Systems and methods for software and developer management and evaluation
US11755919B2 (en) Analytics for an automated application testing platform
CN105701008B (zh) 用于测试用例生成的系统和方法
US20160132421A1 (en) Adaptation of automated test scripts
CN105955889A (zh) 一种图形界面自动化测试方法
US10049031B2 (en) Correlation of violating change sets in regression testing of computer software
CN117421217B (zh) 一种软件功能自动测试方法、系统、终端及介质
CN106529304B (zh) 一种安卓应用并发漏洞检测系统
CN107003931B (zh) 将测试验证从测试执行分离
CN104021072A (zh) 用于评估失效的软件程序的机器和方法
US10365995B2 (en) Composing future application tests including test action data
WO2017164856A1 (en) Comparable user interface object identifications
TWI570554B (zh) 軟體測試裝置、軟體測試方法及其電腦程式產品
CN110309059A (zh) Ui界面测试方法、系统、计算机设备和存储介质
US20180210819A1 (en) System and method of controlling a web browser plug-in for testing analytics
CN110990285A (zh) 一种ui自动化测试方法及装置
Yandrapally et al. Automated modularization of GUI test cases
CN112988568A (zh) 游戏测试方法、装置及电子设备
US9348733B1 (en) Method and system for coverage determination
CN109002723A (zh) 一种分段式符号执行方法
CN111008140B (zh) 一种跨平台的ui自动化测试方法及装置
JP7380851B2 (ja) テストスクリプト生成装置、テストスクリプト生成方法及びプログラム
US10545858B2 (en) Method for testing a graphical interface and corresponding test system

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