买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种GUI测试的测试数据创建方法、装置、终端及存储介质_苏州浪潮智能科技有限公司_201910146700.4 

申请/专利权人:苏州浪潮智能科技有限公司

申请日:2019-02-27

公开(公告)日:2022-10-18

公开(公告)号:CN109840213B

主分类号:G06F11/36

分类号:G06F11/36

优先权:

专利状态码:有效-授权

法律状态:2022.10.18#授权;2019.06.28#实质审查的生效;2019.06.04#公开

摘要:本发明提供一种GUI测试的测试数据创建方法、装置、终端及存储介质,包括:将测试数据划分为稳定测试数据和不稳定测试数据;创建稳定测试数据并将所述稳定测试数据存储至稳定测试数据库;利用测试数据工具根据测试业务实时创建不稳定测试数据。本发明通过将测试数据进行划分并采用不同的创建机制对划分后的测试数据进行创建,相对于现有技术中全部测试数据都是实时创建或人工创建,明显提高了测试数据的创建效率,减小了开发量。

主权项:1.一种GUI测试的测试数据创建方法,其特征在于,包括:将测试数据划分为稳定测试数据和不稳定测试数据;创建稳定测试数据并将所述稳定测试数据存储至稳定测试数据库;利用测试数据工具根据测试业务实时创建不稳定测试数据;所述将测试数据进行分为稳定测试数据和不稳定测试数据包括:设置测试数据修改次数阈值;判断测试数据修改次数是否超过所述阈值:是,则将所述测试数据划分为不稳定测试数据;否,则将所述测试数据划分为稳定测试数据。

全文数据:一种GUI测试的测试数据创建方法、装置、终端及存储介质技术领域本发明属于软件测试技术领域,具体涉及一种GUI测试的测试数据创建方法、装置、终端及存储介质。背景技术GUI作为用户和应用程序交互的接口,是应用程序和用户信息传递的桥梁。它凭借着其灵活性以及易操作性,为软件开发和应用都带来极大的方便。但也正是由于其规模的日益增大,GUI应用程序的测试也成为一项非常复杂耗时的工作,如果仅仅通过传统的手工测试,很难完全满足应用程序的测试需求,而且需要耗费大量的人力时间成本。传统的GUI自动化测试通过录制回放的功能,通过记录用户的预操作,生成自动化脚本进行反复执行。但由于录制功能很难最大程度的实现自动化,应用程序界面的变更就会对已录制的脚本造成很严重的影响。而且对于许多自定义控件而言,使用传统的自动化识别方法无法识别并操作控件。为了让GUI自动化测试更顺利的展开,往往需要准备测试数据来配合测试进行。如此一来,如何实现测试数据的创建成为GUI自动化测试的关键。现有技术中关于测试数据创建的最接近的对比文件是申请公布号为CN101719092A的发明专利公开文本,在该公开文本中记载了一种用于面向服务架构的测试数据创建和测试执行的方法,所述方法包括:在存储系统中存储工程区域结构,所述存储系统符合用于所述工程区域结构的标准化工程区域规范,所述标准化工程区域规范包括:标准化测试目录命名规则;以及标准化测试文件命名规则;定位所述存储系统上的所述工程区域结构;解析所述工程区域结构解析以确定:所述工程区域结构中的工程区域;所述工程区域中的测试环境区域;所述测试环境区域中的web服务区域;以及所述web服务区域中的web服务方法区域;以及呈现测试对象选择界面,其包括对象选择器:包含所述测试环境区域的测试环境选择器;包含所述web服务区域的web服务选择器;以及包含web服务方法区域的方法选择器;使用所述对象选择器来获得所选的对象选择;将所述对象选择指定到所述工程区域管理逻辑,以及作为响应,接收包括用于所述对象选择的对象测试的对象测试列表;确定待执行的对象测试,这包括对来自所述对象测试列表的对象测试的预配置选择;以及启动所述对象测试的执行,以获得存储在所述工程区域结构中的测试结果区域的对象测试结果。上述现有技术虽然给出了测试数据的创建方法,但该创建方法并不适用于GUI的自动化测试数据创建。基于GUI操作生成测试数据,是最原始创建测试数据的方法。它就是采用执行业务场景操作,然后生成测试数据。该方法虽然简单直接,数据的商业价值较大,但是仍然存在以下问题:第一,创建数据的效率较低。因为每次需要通过业务操作才能生成一条数据,而且部分GUI操作也会比较耗时,严重影响数据的创建效率。第二,数据创建容易失败,因为数据的生成依赖GUI自动化执行的结果,而GUI自动化测试的稳定性较弱,必然导致生成成功创建测试数据的概率降低。第三,不利于封装成测试数据工具。测试数据通过GUI自动化测试创建,其所对应的封装测试数据工具就是后续开发GUI自动化测试的测试用例。如果不利于封装成测试数据工具,那个在后续开始测试用例时,必然会带来极大的不便。因此,针对现有技术中存在的上述缺陷和不足,提供设计一种GUI测试的测试数据创建方法、装置、终端和存储介质;以解决上述问题,是非常有必要的。发明内容针对现有技术中存在的GUI测试数据创建效率低、创建过程成功率低以及数据创建后不利于封装成测试数据工具的缺陷和不足;本发明提供一种GUI测试的测试数据创建方法、装置、终端和存储介质,以解决上述问题。第一方面,本发明提供一种GUI测试的测试数据创建方法,包括:将测试数据划分为稳定测试数据和不稳定测试数据,包括:设置测试数据修改次数阈值;判断测试数据修改次数是否超过所述阈值:是,则将所述测试数据划分为不稳定测试数据;否,则将所述测试数据划分为稳定测试数据。创建稳定测试数据并将所述稳定测试数据存储至稳定测试数据库。利用测试数据工具根据测试业务实时创建不稳定测试数据,包括:判断待创建测试数据是否存在对外接口:是,则调用API创建测试数据;否,则采用生成数据库测试数据的方法创建测试数据。第二方面,本发明提供一种GUI测试的测试数据创建装置,包括:数据划分单元,包括:阈值设置模块,配置用于设置测试数据修改次数阈值;修改判断模块,配置用于判断测试数据修改次数是否超过所述阈值;修改判定模块,配置用于将所述测试数据划分为不稳定测试数据;稳定判定模块,配置用于将所述测试数据划分为稳定测试数据。稳定创建单元,配置用于创建稳定测试数据并将所述稳定测试数据存储至稳定测试数据库。实时创建单元,包括:接口判断模块,配置用于判断待创建测试数据是否存在对外接口;第一创建模块,配置用于调用API创建测试数据;第二创建模块,配置用于采用生成数据库测试数据的方法创建测试数据。第三方面,提供一种终端,包括:处理器、存储器,其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。本发明的有益效果在于,本发明提供的GUI测试的测试数据创建方法、装置、终端及存储介质,通过将测试数据划分为稳定测试数据和不稳定测试数据,对稳定测试数据和不稳定测试数据采用不同的创建策略,稳定测试数据事先创建好并存储至稳定测试数据库,便于这些稳定测试数据可以重复使用;对不稳定测试数据可以根据测试业务需要在测试执行前实时创建。本发明通过将测试数据进行划分并采用不同的创建机制对划分后的测试数据进行创建,相对于现有技术中全部测试数据都是实时创建或人工创建,明显提高了测试数据的创建效率,减小了开发量。此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明一个实施例的方法的示意性流程图。图2是本发明一个实施例的装置的示意性框图。图3为本发明实施例提供的一种终端的结构示意图。具体实施方式为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。下面对本发明中出现的关键术语进行解释。图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种GUI测试的测试数据创建装置。如图1所示,该方法100包括:步骤110,将测试数据划分为稳定测试数据和不稳定测试数据;步骤120,创建稳定测试数据并将所述稳定测试数据存储至稳定测试数据库;步骤130,利用测试数据工具根据测试业务实时创建不稳定测试数据。可选地,作为本发明一个实施例,所述将测试数据进行分为稳定测试数据和不稳定测试数据包括:设置测试数据修改次数阈值;判断测试数据修改次数是否超过所述阈值:是,则将所述测试数据划分为不稳定测试数据;否,则将所述测试数据划分为稳定测试数据。可选地,作为本发明一个实施例,所述利用测试数据工具根据测试业务实时创建不稳定测试数据包括:判断待创建测试数据是否存在对外接口:是,则调用API创建测试数据;否,则采用生成数据库测试数据的方法创建测试数据。为了便于对本发明的理解,下面以本发明GUI测试的测试数据创建方法的原理,结合实施例中GUI测试的测试数据进行创建的过程,对本发明提供的GUI测试的测试数据创建方法做进一步的描述。具体的,所述GUI测试的测试数据创建方法包括:S1、将测试数据划分为稳定测试数据和不稳定测试数据。首先根据业务测试量设置测试数据修改次数阈值,本实施例中设为50次。采集一个月内使用的测试数据,利用大数据对所有测试数据的修改次数进行统计。将超过50次的测试数据划分为不稳定测试数据,将修改次数未超过50次的测试数据划分为稳定测试数据。在业务逻辑复杂的系统里,需要用到较多的测试数据,上游数据稳定测试数据可以采用事先准备方式,以提升创建测试数据的效率。以订单数据为例,订单的数据为不稳定测试数据,需要采用实时创建,而与订单相关的卖家、买家和商品都是稳定测试数据,可以采用事先创建数据的方式。这样既可以解决事先准备测试数据的可靠性问题,减少测试数据和测试用例之间的依赖,也可以满足部分数据的实时性。两种方式根据实际项目情况灵活结合。S2、创建稳定测试数据并将所述稳定测试数据存储至稳定测试数据库。判断待创建的测试数据是否存在对外接口,若存在对外接口则调用API创建测试数据;若不存在则采用生成数据库测试数据的方法创建测试数据。其中,调用API创建测试数据:API通常都有安全相关的token机制来保护,所以在创建测试数据时可以把对API的调用以代码的形式封装成测试数据工具,专业测试数据的准确性直接由产品API保证。采用生成数据库测试数据的方法创建测试数据:1.创建数据和索引1创建索引测试表注意:MYISAM存储引擎不产生引擎事务,数据插入速度极快,为方便快速插入千万条测试数据,等我们插完数据,再把存储类型修改为InnoDB2创建存储过程,插入数据3调用存储过程,插入1000万条数据总耗时:382.614sec4.此步骤可以忽略。修改引擎执行耗时:104.431sec1ALTERTABLE`big_data`ENGINE=INNODB;5.通过主键索引查询总耗时:0.012sec6.为name字段创建普通索引耗时:73.972sec1CREATEINDEXindex_nameONbig_dataname;2.组合索引的生效原则:原则:从前往后依次使用生效,如果中间某个索引没有使用,那么断点前面的索引部分起作用,断点后面的索引没有起作用;+ViewCode3.正确使用索引数据库表中添加索引后确实会让查询速度起飞,但前提必须是正确的使用索引来查询,如果以错误的方式使用,则即使建立索引也会不奏效。即使建立索引,索引也不会生效:+ViewCode4.需要注意5.时间执行计划explain+查询SQL-用于显示SQL执行信息参数,根据参考信息可以进行SQL优化+ViewCode6.慢日志查询慢查询日志将mysql服务器中影响数据库性能的相关SQL语句记录到日志文件,通过对这些特殊的SQL语句分析,改进以达到提高数据库性能的目的。慢查询日志参数:查看MySQL慢日志信息查看不使用索引参数状态:7.大数据量分页优化将上述创建的测试数据存储至稳定测试数据库,便于后续测试重复使用。本实施例中把创建和修改数据的相关SQL语句封装成数据工具,以便测试用例的使用。在创建或者修改一套测试数据往往会涉及到很多业务表,任何遗漏都会造成数据的不准确,所以问题转换为如何获取有效的SQL语句封装工具测试。目前该方案提供两种方式:手工方式:可以通过查阅文档和产品代码,找到相关的SQL语句集合。或者直接找开发人员协助获取对应的SQL语句自动方式:在测试环境中,先在只有一个活跃用户的情况下,通过GUI界面操作完成数据的创建、修改,然后利用数据库监控工具获取对应时间段内所有业务的修改记录,以此为依据开发SQL语句集即可。两种方式相结合:在实际项目的实践中,两种测试方式相互互补,具体来讲,当你要创建一种特定的测试数据时,如果没有对应的API支持,可以通过API先创建一个基本的数据,再通过更新数据库的方式来更新这个数据,通过这样的方式来满足特定测试数据的要求。S3、利用测试数据工具根据测试业务实时创建不稳定测试数据。步骤S3中创建不稳定测试数据的方法与步骤S2创建稳定测试数据的方法相同。如图2示,该装置200包括:数据划分单元210,所述数据划分单元210用于将测试数据划分为稳定测试数据和不稳定测试数据;稳定创建单元220,所述稳定创建单元220用于创建稳定测试数据并将所述稳定测试数据存储至稳定测试数据库;实时创建单元230,所述实时创建单元230用于利用测试数据工具根据测试业务实时创建不稳定测试数据。可选地,作为本发明一个实施例,所述数据划分单元包括:阈值设置模块,配置用于设置测试数据修改次数阈值;修改判断模块,配置用于判断测试数据修改次数是否超过所述阈值;修改判定模块,配置用于将所述测试数据划分为不稳定测试数据;稳定判定模块,配置用于将所述测试数据划分为稳定测试数据。可选地,作为本发明一个实施例,所述实时创建单元包括:接口判断模块,配置用于判断待创建测试数据是否存在对外接口;第一创建模块,配置用于调用API创建测试数据;第二创建模块,配置用于采用生成数据库测试数据的方法创建测试数据。图3为本发明实施例提供的一种终端装置300的结构示意图,该终端装置300可以用于执行本发明实施例提供的GUI测试的测试数据创建方法。其中,该终端装置300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器SRAM,电可擦除可编程只读存储器EEPROM,可擦除可编程只读存储器EPROM,可编程只读存储器PROM,只读存储器ROM,磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和或处理数据。所述处理器可以由集成电路IntegratedCirGUIt,简称IC组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器CentralProcessingUnit,简称CPU。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体英文:read-onlymemory,简称:ROM或随机存储记忆体英文:randomaccessmemory,简称:RAM等。因此,本发明通过将测试数据划分为稳定测试数据和不稳定测试数据,对稳定测试数据和不稳定测试数据采用不同的创建策略,稳定测试数据事先创建好并存储至稳定测试数据库,便于这些稳定测试数据可以重复使用;对不稳定测试数据可以根据测试业务需要在测试执行前实时创建。本发明通过将测试数据进行划分并采用不同的创建机制对划分后的测试数据进行创建,相对于现有技术中全部测试数据都是实时创建或人工创建,明显提高了测试数据的创建效率,减小了开发量,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器ROM,Read-OnlyMemory、随机存取存储器RAM,RandomAccessMemory、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端可以是个人计算机,服务器,或者第二终端、网络终端等执行本发明各个实施例所述方法的全部或部分步骤。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

权利要求:1.一种GUI测试的测试数据创建方法,其特征在于,包括:将测试数据划分为稳定测试数据和不稳定测试数据;创建稳定测试数据并将所述稳定测试数据存储至稳定测试数据库;利用测试数据工具根据测试业务实时创建不稳定测试数据。2.根据权利要求1所述的GUI测试的测试数据创建方法,其特征在于,所述将测试数据进行分为稳定测试数据和不稳定测试数据包括:设置测试数据修改次数阈值;判断测试数据修改次数是否超过所述阈值:是,则将所述测试数据划分为不稳定测试数据;否,则将所述测试数据划分为稳定测试数据。3.根据权利要求1所述的GUI测试的测试数据创建方法,其特征在于,所述利用测试数据工具根据测试业务实时创建不稳定测试数据包括:判断待创建测试数据是否存在对外接口:是,则调用API创建测试数据;否,则采用生成数据库测试数据的方法创建测试数据。4.一种GUI测试的测试数据创建装置,其特征在于,包括:数据划分单元,配置用于将测试数据划分为稳定测试数据和不稳定测试数据;稳定创建单元,配置用于创建稳定测试数据并将所述稳定测试数据存储至稳定测试数据库;实时创建单元,配置用于利用测试数据工具根据测试业务实时创建不稳定测试数据。5.根据权利要求4所述的GUI测试的测试数据创建装置,其特征在于,所述数据划分单元包括:阈值设置模块,配置用于设置测试数据修改次数阈值;修改判断模块,配置用于判断测试数据修改次数是否超过所述阈值;修改判定模块,配置用于将所述测试数据划分为不稳定测试数据;稳定判定模块,配置用于将所述测试数据划分为稳定测试数据。6.根据权利要求4所述的GUI测试的测试数据创建装置,其特征在于,所述实时创建单元包括:接口判断模块,配置用于判断待创建测试数据是否存在对外接口;第一创建模块,配置用于调用API创建测试数据;第二创建模块,配置用于采用生成数据库测试数据的方法创建测试数据。7.一种终端,其特征在于,包括:处理器;用于存储处理器的执行指令的存储器;其中,所述处理器被配置为执行权利要求1-3任一项所述的方法。8.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一项所述的方法。

百度查询: 苏州浪潮智能科技有限公司 一种GUI测试的测试数据创建方法、装置、终端及存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。