CN107908542B - 测试用例创建方法、装置、计算机设备及存储介质 - Google Patents

测试用例创建方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN107908542B
CN107908542B CN201710619716.3A CN201710619716A CN107908542B CN 107908542 B CN107908542 B CN 107908542B CN 201710619716 A CN201710619716 A CN 201710619716A CN 107908542 B CN107908542 B CN 107908542B
Authority
CN
China
Prior art keywords
test
case
component
interface
atomic
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.)
Active
Application number
CN201710619716.3A
Other languages
English (en)
Other versions
CN107908542A (zh
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.)
Ping An One Wallet E Commerce Co Ltd
Original Assignee
Ping An One Wallet E Commerce 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 Ping An One Wallet E Commerce Co Ltd filed Critical Ping An One Wallet E Commerce Co Ltd
Priority to CN201710619716.3A priority Critical patent/CN107908542B/zh
Publication of CN107908542A publication Critical patent/CN107908542A/zh
Application granted granted Critical
Publication of CN107908542B publication Critical patent/CN107908542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

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

本发明涉及一种测试用例创建方法、装置、计算机设备及存储介质。其中,测试用例创建方法包括以下步骤:显示测试组件列表,获取在所述测试组件列表中选择的测试组件,将所述选择的测试组件添加到用例编写界面中,通过所述用例编写界面获取用例创建指令,根据所述用例创建指令获取添加到用例编写界面中的测试组件,获取所述测试组件对应的测试代码,按照所述测试组件在所述用例编写界面中的排序,对所述测试组件对应的测试代码进行组装生成测试用例。采用本方法能够降低测试用例的编辑难度、提高工作效率。

Description

测试用例创建方法、装置、计算机设备及存储介质
技术领域
本发明涉及测试技术领域,特别是涉及一种测试用例创建方法、装置、计算机设备及存储介质。
背景技术
在应用程序开发完成后,需要对应用程序进行接口测试,以便根据测试结果及时发现问题并对应用产品进行修改和完善。
在对应用程序进行接口测试时,需要考虑应用程序不同的应用场景。目前,在创建测试用例时,针对不同的应用场景测试人员需逐一单独编写代码、创建测试用例,再将编写好的测试用例导入测试系统中,但是,不同应用场景之间可能会存在许多功能相近的测试,从而使得测试人员不可避免地进行大量重复性劳动,且需要耗费大量时间,导致创建测试用例的工作效率低。
发明内容
基于此,有必要针对上述创建测试用例的过程中存在的耗时费力、工作效率低的问题,提供一种测试用例创建方法、装置、计算机设备及存储介质。
一种测试用例创建方法,所述方法包括以下步骤:
显示测试组件列表;
获取在所述测试组件列表中选择的测试组件,将所述选择的测试组件添加到用例编写界面中;
通过所述用例编写界面获取用例创建指令;
根据所述用例创建指令获取添加到用例编写界面中的测试组件,获取所述测试组件对应的测试代码;
按照所述测试组件在所述用例编写界面中的排序,对所述测试组件对应的测试代码进行组装生成测试用例。
在其中一个实施例中,所述显示测试组件列表的步骤之前,还包括:
获取原子用例和测试接口的接口数据;
根据所述接口数据和预设组件提取规则从所述原子用例的测试代码中提取出与所述测试接口相对应的组件代码,根据所述组件代码生成测试组件;
将生成的所述测试组件添加到测试组件列表中。
在其中一个实施例中,所述获取所述测试组件对应的测试代码的步骤之后,还包括:
将获取到的所述测试组件对应的测试代码在所述用例编写界面中进行展示;
通过所述用例编写界面获取对所述测试代码进行的修改操作,根据所述修改操作生成修改后的测试代码对应的测试组件,将生成的测试组件替换所述用例编写界面中修改前的测试组件,并将生成的测试组件添加至所述测试组件列表中。
在其中一个实施例中,所述方法还包括:
显示测试用例列表;
获取在所述测试用例列表中选择的测试用例,将选择的测试用例添加到用例编写界面,在所述用例编写界面中显示所述测试用例中包含的测试组件;
通过所述用例编写界面获取对显示的测试组件的修改操作,根据修改后的测试组件生成新增测试用例。
在其中一个实施例中,所述方法还包括:
将所述新增测试用例与修改操作前的测试用例进行比对,得到所述新增测试用例中首个修改的测试组件;
获取所述首个修改的测试组件中前一测试组件的测试结果,将获取到的测试结果输入到所述首个修改的测试组件中;
当获取到新增测试用例执行指令时,执行所述新增测试用例中所述首个修改的测试组件及所述首个测试组件之后的测试组件。
一种测试用例创建装置,所述装置包括:
组件显示模块,用于显示测试组件列表;
组件添加模块,用于获取在所述测试组件列表中选择的测试组件,将所述选择的测试组件添加到用例编写界面中;
创建指令接收模块,用于通过所述用例编写界面获取用例创建指令;
代码获取模块,用于根据所述用例创建指令获取添加到用例编写界面中的测试组件,获取所述测试组件对应的测试代码;
用例生成模块,用于按照所述测试组件在所述用例编写界面中的排序,对所述测试组件对应的测试代码进行组装生成测试用例。
在其中一个实施例中,所述装置还包括:
用例显示模块,用于显示测试用例列表;
用例添加模块,用于获取在所述测试用例列表中选择的测试用例,将选择的测试用例添加到用例编写界面,在所述用例编写界面中显示所述测试用例中包含的测试组件;
新增用例生成模块,用于通过所述用例编写界面获取对显示的测试组件的修改操作,根据修改后的测试组件生成新增测试用例。
在其中一个实施例中,所述装置还包括:
用例比对模块,用于将所述新增测试用例与修改操作前的测试用例进行比对,得到所述新增测试用例中首个修改的测试组件;
结果获取模块,用于获取所述首个修改的测试组件中前一测试组件的测试结果,将获取到的测试结果输入到所述首个修改的测试组件中;
测试执行模块,用于当获取到新增测试用例执行指令时,执行所述新增测试用例中所述首个修改的测试组件及所述首个测试组件之后的测试组件。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述方法的步骤。
一种计算机可读存储存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
上述测试用例创建方法,将测试组件列表进行展示,将选择的测试组件添加至用例编写界面中,当接收到测试用例创建指令后,将用例编写界面中所有测试组件对应的测试代码根据测试组件在用例编写界面中的排序组装成测试用例,通过将具有通用测试功能的测试组件可视化,能够避免重复的代码编辑工作,并且使用户在创建测试用例时可以完全实现简单方便的可视化操作,从而上述测试用例创建方法、装置、计算机设备及存储介质能够降低测试用例的编辑难度、减少人工编写代码的工作量,提高创建测试用例的工作效率。
附图说明
图1为一个实施例中测试用例创建方法的流程图;
图2为一个实施例中测试用例创建方法的应用环境图;
图3为一个实施例中测试用例创建装置的结构示意图;
图4为另一个实施例中测试用例创建装置的结构示意图;
图5为又一个实施例中测试用例创建装置的结构示意图;
图6为一个实施例中计算机设备的内部结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中所提供的应用程序测试方法中,用户可以通过服务器的显示设备和输入设备与服务器进行交互。其中,显示设备可以为显示器等,输入设备可以为鼠标、显示触摸屏等。服务器在显示设备的显示界面显示测试组件列表,用户可以通过输入设备选择测试组件列表中的测试组件,服务器通过显示界面获取用户选择的测试组件,并将其添加至显示界面的用例编写界面中。服务器在用例编写界面提供测试用例创建按键,用户通过选中用例创建按键可以向服务器发出用例创建指令,服务器通过测试用例创建按键接收用户发出的用例创建指令后,获取用例编写界面中所有测试组件的测试代码,并按照用例编写界面中测试组件的排列顺序将测试代码进行组装生成测试用例。
在一个实施例中,如图1所示,提供了一种测试用例创建方法,该方法可应用于终端或服务器,以该方法应用于服务器为例进行说明,所述方法包括以下步骤:
步骤110,显示测试组件列表。
在本实施例中,测试组件是构成测试用例的组成单元,通常是一段包含接口请求参数的测试代码,有时也可能是由测试人员编写的一段纯功能性测试代码。根据接口的具体功能测试需求,将一个或多个测试组件进行组合可以构成一个完整的测试用例。测试组件存储在服务器上,在进行接口测试工作时,服务器将事先已存储的测试组件以列表的形式在测试界面进行显示。
步骤120,获取在测试组件列表中选择的测试组件,将选择的测试组件添加到用例编写界面中。
接口测试的操作界面具有专门用于编写创建测试用例的用例编写界面,用户可以对展示的测试组件进行选择。当服务器获取到用户选择的测试组件时,将获取到的测试组件在用例编写界面进行展示,完成测试组件的添加。在一个实施例中,用户可以将选择的测试组件从展示区域拖拽至用例编写界面中以实现测试组件的添加。在另一个实施例中,用户可以对选择的测试组件进行勾选,服务器将用户勾选的测试组件自动添加至用例编写界面中。需要说明的是,测试组件的添加方式并不限于上述拖拽、勾选的方法,也可以采用其他方式进行添加。
用户将需要的测试组件都添加至用例编写界面之后,可以调整用例编写界面中测试组件之间的相对排列顺序。用例编写界面中的测试组件可以由上至下纵向排列,也可以由左至右横向排列,排列方式在此不做限定。用户可以任意拖拽移动测试组件以实现调整测试组件的相对位置。
步骤130,通过用例编写界面获取用例创建指令。
在本实施例中,用例编写界面上显示测试用例创建操作按钮。当用户在用例编写界面添加所有需要的测试组件并完成测试组件顺序调整之后,可以通过点击或触摸用例创建操作按钮以创建测试用例。服务器通过用例编写界面上的测试用例创建操作按钮接受用户做出的用例创建指令。
步骤140,根据用例创建指令获取添加到用例编写界面中的测试组件,获取测试组件对应的测试代码。
用例创建指令中包含用户选择的测试组件的信息,如测试组件标识、测试组件名称、测试组件编号等。在一个实施例中,服务器在获取用例创建指令之后,读取用例创建指令中的测试组件名称,并查找与测试组件名称相对应的测试组件的测试代码。
在一个实施例中,测试组件的测试代码存储在服务器本地的数据库中,服务器直接在数据库中进行组件查找即可。在另一个实施例中,测试代码也可以存储在数据服务器上,当服务器读取测试组件名称之后,根据测试组件名称生成组件代码获取请求并发送给数据服务器,数据服务器接收到组件代码获取请求后,根据请求中测试组件名称查找相对应的测试代码,并将查找到的测试代码返回给服务器。数据服务器上除了存储有测试组件的测试代码之外,还存储有应用程序的接口数据等其他与接口测试相关的测试数据,从而可以减小服务器自身的数据存储量,提高测试用例的测试效率。并且将测试数据存储在数据服务器上,可以满足多个测试服务器共库查找数据,同时进行测试工作。
步骤150,按照测试组件在用例编写界面中的排序,对测试组件对应的测试代码进行组装生成测试用例。
服务器获取用例创建指令中测试组件的排列顺序,即用例编写界面中的测试组件的排列顺序。服务器在获取测试组件的测试代码之后,按照测试组件的排列顺序将测试代码对应排序,将排序后的测试代码进行组装生成测试用例。在一个实施例中,服务器在对测试代码进行组装时,根据测试代码的预设数据格式对测试代码的数据格式进行调整。
在一个实施例中,服务器根据测试用例的组件构成信息生成用例组成信息表,在用例组成信息表中将每个测试用例的标识与构成测试用例的测试组件的标识进行关联存储。服务器在对生成的测试用例进行存储时,将构成测试用例的测试组件的标识与测试用例标识也关联关系也存储在用例组成信息表中。
本实施例中的测试用例创建方法,服务器将测试组件进行可视化展示,用户可以自由选择添加测试组件至用例编写界面中,服务器接收到用户的测试用例创建指令后,查找指令中的测试组件对应的测试代码,并根据测试组件在用例编写界面中的排序将测试代码组装成测试用例。服务器通过将具有通用测试功能的代码进行组件化,能够避免重复的代码编辑工作。用户在创建测试用例时可以实现简单方便地对测试组件进行可视化操作,无需人工编写代码,从而降低了用户编辑测试用例的难度、减少了人工编写代码的工作量,提高了创建测试用例的工作效率。
在一个实施例中,显示测试组件列表的步骤之前,还包括:获取原子用例和测试接口的接口数据;根据接口数据和预设组件提取规则从原子用例的测试代码中提取出与测试接口相对应的组件代码,根据组件代码生成测试组件;将生成的测试组件添加到测试组件列表中。
原子用例是测试初期测试人员人工编写的接口测试用例,测试人员可以将编写完成的原子用例批量导入服务器中,服务器获取导入的测试用例并进行存储。应用程序开发完成后,开发人员将应用程序的压缩数据包上传至服务器,服务器获取压缩数据包,对压缩数据包进行解压缩处理获得应用程序的相关数据,服务器从中获取应用程序的测试接口的接口数据,接口数据中包含接口请求参数、接口返回参数等。
服务器获取原子用例之后,将原子用例在测试用例管理界面进行展示,并在每个原子用例的对应位置出显示拆分操作按钮。用户可以根据测试需要选择需要进行拆分的原子用例,服务器通过拆分操作按钮获取原子用例拆分指令后,获取原子用例拆分指令中的原子用例标识,根据原子用例标识查找其所对应的原子用例的测试代码,并根据原子用例标识查找待拆分的原子用例所属的应用程序,获取应用程序的各测试接口的接口请求参数。
服务器将各接口的接口请求参数逐一与原子用例的测试代码中的参数进行匹配,当接口请求参数与其中部分代码中的参数完全匹配成功时,将这一部分代码提取出来作为测试组件代码,根据匹配成功的接口请求参数对应的接口以及接口所属的应用程序对测试组件代码进行命名后生成新的测试组件,从测试组件的命名中可以获得测试组件所包含的接口信息,便于后期用户进行测试用例创建时进行测试组件的查找工作。服务器将生成的测试组件添加至测试组件列表中以对测试组件进行更新。
在本实施例中,服务器可以根据接口数据对原子用例中的测试代码进行匹配,并从原子用例中自动提取出匹配成功的测试代码生成测试组件,从而完成初始测试组件的积累,大大降低了用户创建测试组件的代码编写工作。
在一个实施例中,服务器将测试组件进行分组存储。优选地,服务器将测试组件按照所属应用程序进行大类分组,在大类分组下又可以按照应用场景进行分组。应用场景是根据功能实现进行划分的场景,例如,理财管理平台应用程序的基金申购、基金赎回、订单支付、续购产品等都是不同的应用场景。因为每个应用场景所实现的功能不同,因此,在每个场景中与应用系统发生交互的系统也可能不同,从而每个应用场景中所涉及的交互接口也会有所不同。因此,通过对测试组件按照应用场景进行分组,可以将包含相同或相近接口参数的测试组件进行归类。服务器也可以进行更细致层级的分组,并不限于本实施例中的分组方式。
在测试界面,服务器将测试组件按照分组层级进行展示,例如,可以按照分组层级设置隐藏和展开菜单。用户选择应用程序后,服务器将应用程序所包含的应用场景展开,用户选择应用场景后,服务器将应用场景所对应的测试组件进行展示。用户在测试组件列表中可以添加、删除应用场景,也可以通过拖拽、移动测试组件的方式改变测试组件的分组。
在本实施例中,服务器将创建的测试用例在用例管理界面进行展示,同样地,服务器将测试用例也按照上述方式进行分组存储和展示,从而提高服务器查找测试用例的效率,也便于用户查看测试用例。
在一个实施例中,服务器获取测试组件对应的测试代码的步骤之后,还包括:将获取到的测试组件对应的测试代码在用例编写界面中进行展示;通过用例编写界面获取对测试代码进行的修改操作,根据修改操作生成修改后的测试代码对应的测试组件,将生成的测试组件替换用例编写界面中修改前的测试组件,并将生成的测试组件添加至测试组件列表中。
当服务器获取到添加至用例编写界面的测试组件对应的测试代码之后,将测试代码在用例编写界面进行展示,具体地,可以与测试组件对应展示,如展示在测试组件的下方,也可以将所有测试组件的测试代码按照组件排列顺序统一展示在用例编写界面的代码展示区域。本实施例对测试代码的展示方式不做限定。
用户可以对展示的代码进行编辑。用户可以在测试代码中需要人工赋值的请求参数所对应的区域填入参数值,如一些与测试环境相关的手机号码、产品渠道号等参数。服务器获取到用户填入的参数值后,将参数值与测试代码进行拼装,拼装后的测试代码才能够正常执行。
用户也可以对展示的代码进行修改,例如,用户可以加入具有一些测试功能的代码,或者对原来的代码进行删除、修改等操作。用户对测试组件的测试代码修改完成后,可以点击或触摸用例编写界面上测试组件对应位置处的修改按钮,服务器通过修改按钮接收用户做出的组件修改指令,根据组件修改指令获取修改后的测试代码,根据修改后的测试代码生成新的测试组件,服务器可以根据修改前测试组件的名称对测试组件进行命名,例如只需修改名称中的序列号即可。因此,用户对测试组件的代码进行修改时,仍然可以保留原来的测试组件,新生成的测试组件并不会覆盖原来的测试组件。
服务器将根据修改后的测试代码新生成的测试组件按照修改前的测试组件的分组进行存储,并将新生成的测试组件添加至测试组件列表中。在用例编写界面,服务器将新建测试组件替换修改前的测试组件,并将修改后的测试代码与用例编写界面其他组件的代码进行组装,生成测试用例。
在本实施例中,用户可以对已有的测试组件进行修改,且服务器可以根据修改后的测试组件生成新的测试组件,实现测试组件列表的实时更新。相对于单独编写测试组件的方法,通过修改代码生成新的测试组件的方式能够有效降低用户代码编写工作的工作量。
在一个实施例中,测试用例创建方法还包括:显示测试用例列表;获取在测试用例列表中选择的测试用例,将选择的测试用例添加到用例编写界面,在用例编写界面中显示测试用例中包含的测试组件;通过用例编写界面获取对显示的测试组件的修改操作,根据修改后的测试组件生成新增测试用例。
服务器将已有的测试用例以列表的形式在测试用例管理界面进行展示。在测试用例管理界面,服务器将测试用例按照分组层级进行展示,例如,可以按照测试用例所属应用程序、所属应用场景的分组层级设置隐藏和展开菜单。用户选择应用程序后,服务器将应用程序所包含的应用场景展开,用户选择应用场景后,服务器将应用场景所对应的测试用例进行展示。用户在测试组件列表中可以添加、删除应用场景,也可以通过拖拽、移动测试用例的方式改变测试用例的分组。
测试用例管理界面具有专门用于编写创建测试用例的用例编写界面,用户可以对测试用例列表中展示的测试用例进行选择。当服务器获取到用户选择的测试用例时,将获取到的测试用例在用例编写界面进行展示,完成测试用例的添加。在一个实施例中,用户可以将选择的测试用例从展示区域拖拽至用例编写界面中以实现测试用例的添加。在另一个实施例中,用户可以对选择的测试用例进行勾选,服务器将用户勾选的测试用例自动添加至用例编写界面中。需要说明的是,测试用例的添加方式并不限于上述拖拽、勾选的方法,也可以采用其他方式进行添加。
服务器获取用户在测试用例列表中选择的测试用例之后,根据测试用例标识查找与其相关联的测试组件标识,并根据测试组件标识获取相对应的测试组件,即查找构成测试用例的测试组件。服务器将查找到的测试组件展示在用例编写界面,并且将测试组件的测试代码显示在代码展示区域
用户可以对显示的测试组件进行修改操作,修改操作包括但不限于以下操作:用户可以将测试组件列表中的测试组件拖拽添加值用例编写界面中,可以对界面中的测试组件进行删除操作,用户也可以通过拖拽、移动测试组件的方式改变编写界面中测试组件的排列顺序,用户也可以对代码展示区域中测试组件的测试代码进行编辑和修改。当用户完成对构成测试用例的测试组件的修改操作后,可以点击或触摸通过用例编写界面中测试用例对应位置处的修改按钮。服务器通过修改按钮接收用户做出的测试用例修改指令,并根据组件修改指令获取修改后的测试组件的测试代码,根据修改后的测试代码生成新的测试用例服务器可以根据修改前测试用例的名称对测试用例进行命名,例如只需修改名称中的序列号即可。因此,用户对测试用例进行修改时,仍然可以保留原来的测试用例,新生成的测试用例并不会覆盖原来的测试用例。服务器将新生成的测试用例按照修改前的测试用例的分组进行存储,并将新生成的测试用例添加至测试用例列表中。
在本实施例中,用户选择已有的测试用例时,服务器可以自动查找到构成测试用例的测试组件并在用例编写界面进行展示,且用户可以对测试组件进行修改操作,服务器对根据修改后的测试组件的测试代码进行组装生成新的测试用例。相对于单独编写测试用例的方法,通过修改已有测试用例的测试组件的方式创建新的测试用例的方法简单便捷,能够提高用例创建工作的工作效率。
在一个实施例中,测试用例创建方法还包括:将新增测试用例与修改操作前的测试用例进行比对,得到新增测试用例中首个修改的测试组件;获取首个修改的测试组件中前一测试组件的测试结果,将获取到的测试结果输入到首个修改的测试组件中;当获取到新增测试用例执行指令时,执行新增测试用例中首个修改的测试组件及首个测试组件之后的测试组件。
在本实施例中,在执行测试用例时,若组成测试用例的测试组件在执行过程中会产生“上下文”,即会产生需要传递给下一测试组件测试代码的中间测试结果时,服务器将测试组件产生的中间测试结果与测试用例标识所关联的测试组件标识对应存储。
服务器在对新增测试用例进行存储之前,首先判断修改前的测试用例是否被执行过,是否具有测试结果。当修改前的测试用例没有被执行过时,按照修改前用例的所在分组进行存储;当修改前的测试用例被执行过,具有测试结果时,服务器将组成新增测试用例的测试组件与组成进行修改操作前的测试用例的测试组件进行比对,根据比对结果得到新增测试用例中相对应修改前测试用例首个进行修改的测试组件。
服务器根据首个进行修改的测试组件得到新增测试用例中首个修改组件的前面一个测试组件,并根据测试组件的标识查找到与其相对应的中间测试结果,服务器将查找到的中间测试结果输入值首个修改的测试组件后再进行存储,并对输入中间结果的测试组件进行标记。
在一个实施例中,服务器根据首个进行修改的测试组件得到新增测试用例中首个修改组件的前面一个测试组件之后,服务器判断测试组件中是否具有需要人工输入参数值的请求参数,当测试组件中具有需要人工输入的请求参数时,不再查找测试组件对应的中间测试结果,直接将新增测试用例按照修改前用例的所在分组进行存储;当测试测试组件中没有需要人工输入的请求参数时,再查找测试组件对应的中间测试结果。因为,需要人工输入的参数值根据不同的测试环境会有变化,所以测试组件根据输入参数值的不同也可能会产生不同的中间测试结果,中间测试结果不再具有通用性。
当用户选择执行新增测试用例时,服务器获取到新增测试用例执行指令,根据用例执行指令中的用例标识查找到新增测试用例,并检测到测试组件的标记。服务器在执行测试用例时,从输入中间结果的测试组件即首个修改的测试组件的测试代码开始向下执行,不再执行相对于修改前的测试用例没有发生改变的测试组件的测试代码。
在本实施例中,测试用例被执行之后,服务器保留测试用例中各测试组件在执行过程中产生的中间测试结果,并在用户修改测试用例时,并将首个修改的测试组件的前一测试组件的测试结果,输入首个修改的测试组件中,由此在执行测试用例时只执行首个修改的测试组件及以下组件的测试代码,在测试用例批量执行的过程中,可以大大减小代码执行工作的工作量,减少测试用例的执行时间并提高执行效率。
在一个实施例中,服务器将测试用例列表展示在测试调度管理页面,测试用例可以按照分组层级逐层进行展示。用户可以选择列表中的测试用例并将其添加至待测试队列,用户可以逐个拖拽或选中测试用例至待测试队列,用户也可以将整个应用程序分组或应用场景分组的测试用例批量添加至待测试队列。在待测试队列中测试用例也可以按照分组层级进行逐层展示。服务器在每个分组层级和每个测试用例的对应位置处都展示删除、暂停和执行等操作选项,用户可以逐个或者批量进行测试用例的删除、暂停和执行操作。
用户可以在测试调度管理页面设置测试用例的执行时间,例如,可以将执行时间设置在用户的非工作时间,用户在工作时间可以编写、创建测试用例,从而可以将测试用例的创建工作和执行工作能够分离进行,互补干扰,减少服务器同一期间的处理任务,提高处理速度。
在一个实施例中,如图2所示,服务器与多个测试执行终端通过网络进行连接,当服务器检测到到达用户设定的测试起始时间后,服务器向各测试执行终端服务器发送执行任务量获取请求,各测试执行终端接收到执行任务量获取请求后,获取当前正在处理的测试工作的任务量,并计算正在处理的任务量占可处理的总任务量的任务量占比,各执行任务量获取请求将正在处理的任务量和任务量占比返回给服务器,服务器接收到各测试执行终端返回的执行任务量信息后,将各测试执行终端的空闲程度进行排序,并计算出各测试执行终端可处理工作量的最大值,将待测试的测试用例优先分配发送给空闲程度最大的测试执行终端,当测试用例的执行任务量超过测试执行终端可处理的最大值时,再将超过的部分分配发送给空闲程度排在第二位的测试终端,依次类推,直至服务器将测试用例分配完成为止。在另一个实施例中,服务器也可以按照各测试执行终端可处理工作量的比例将待测试用例按比例进行分配。各测试执行终端接收到服务器发送的测试用例之后,按照测试进度执行测试用例。
在本实施例中,服务器将测试用例的执行任务分配给各执行测试终端,在待执行的测试用例的数量较大时,可以使测试用例在多个执行测试终端分布式分配,且能够实现同步执行,能够减少测试的时间,使开发人员尽快得到测试结果。同时,也可以使测试用例的编写工作和测试工作同时执行,提高工作效率。
在一个实施例中,如图3所示,提供了一种测试用例创建装置,该装置包括:
组件显示模块310,用于显示测试组件列表.
组件添加模块320,用于获取在测试组件列表中选择的测试组件,将选择的测试组件添加到用例编写界面中。
创建指令接收模块330,用于通过用例编写界面获取用例创建指令。
代码获取模块340,用于根据用例创建指令获取添加到用例编写界面中的测试组件,获取测试组件对应的测试代码。
用例生成模块350,用于按照测试组件在用例编写界面中的排序,对测试组件对应的测试代码进行组装生成测试用例。
在一个实施例中,如图4所示,所述装置还包括:
用例显示模块302,用于显示测试用例列表。
用例添加模块304,用于获取在测试用例列表中选择的测试用例,将选择的测试用例添加到用例编写界面,在用例编写界面中显示测试用例中包含的测试组件。
新增用例生成模块306,用于通过用例编写界面获取对显示的测试组件的修改操作,根据修改后的测试组件生成新增测试用例。
在一个实施例中,如图5所示,装置还包括:
用例比对模块342,用于将新增测试用例与修改操作前的测试用例进行比对,得到新增测试用例中首个修改的测试组件。
结果获取模块344,用于获取首个修改的测试组件中前一测试组件的测试结果,将获取到的测试结果输入到首个修改的测试组件中。
测试执行模块346,用于当获取到新增测试用例执行指令时,执行新增测试用例中首个修改的测试组件及首个测试组件之后的测试组件。
在一个实施例中,装置还包括:
用例显示模块,用于显示测试用例列表。
用例添加模块,用于获取在测试用例列表中选择的测试用例,将选择的测试用例添加到用例编写界面,在用例编写界面中显示测试用例中包含的测试组件。
用例修改模块,用于通过用例编写界面获取对显示的测试组件的修改操作,根据修改后的测试组件生成新增测试用例。
在一个实施例中,装置还包括:
用例比对模块,用于将新增测试用例与修改操作前的测试用例进行比对,得到新增测试用例中首个修改的测试组件。
结果输入模块,用于获取首个修改的测试组件中前一测试组件的测试结果,将获取到的测试结果输入到首个修改的测试组件中。
用例执行模块,用于当获取到新增测试用例执行指令时,执行新增测试用例中首个修改的测试组件及首个测试组件之后的测试组件。
在一个实施例中,如图6所示,为一个计算机设备的内部结构示意图。该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。存储器存储有操作系统和数据库,还包括一种测试用例创建装置。数据库用于存储于计算机设备实现特定功能和操作所需的数据,例如,为实现测试用例创建所需的已创建的测试组件和测试用例的测试代码等。测试用例创建装置包括至少一个计算机可读指令,该至少一个计算机可读指令可被处理器执行,以使计算机设备实现一种测试用例创建方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。
在一个实施例中,计算机设备的存储器包括非易失性存储介质和内存储器。上述操作系统、数据库及测试用例创建装置存储于非易失性存储介质。内存储器为非易失性存储介质中的测试用例创建装置的运行提供环境。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,处理器执行存储器中的测试用例创建装置的计算机可读程序时,实现以下步骤:显示测试组件列表;获取在测试组件列表中选择的测试组件,将选择的测试组件添加到用例编写界面中;通过用例编写界面获取用例创建指令;根据用例创建指令获取添加到用例编写界面中的测试组件,获取测试组件对应的测试代码;按照测试组件在用例编写界面中的排序,对测试组件对应的测试代码进行组装生成测试用例。
在一个实施例中,处理器执行存储器中的测试用例创建装置的计算机可读程序时,实现以下步骤:获取原子用例和测试接口的接口数据;根据接口数据和预设组件提取规则从原子用例的测试代码中提取出与测试接口相对应的组件代码,根据组件代码生成测试组件;将生成的测试组件添加到测试组件列表中。
在一个实施例中,处理器执行存储器中的测试用例创建装置的计算机可读程序时,实现以下步骤:
将获取到的测试组件对应的测试代码在用例编写界面中进行展示;通过用例编写界面获取对测试代码进行的修改操作,根据修改操作生成修改后的测试代码对应的测试组件,将生成的测试组件替换用例编写界面中修改前的测试组件,并将生成的测试组件添加至测试组件列表中。
在一个实施例中,处理器执行存储器中的测试用例创建装置的计算机可读程序时,实现以下步骤:
显示测试用例列表;获取在测试用例列表中选择的测试用例,将选择的测试用例添加到用例编写界面,在用例编写界面中显示测试用例中包含的测试组件;通过用例编写界面获取对显示的测试组件的修改操作,根据修改后的测试组件生成新增测试用例。
在一个实施例中,处理器执行存储器中的测试用例创建装置的计算机可读程序时,实现以下步骤:
将新增测试用例与修改操作前的测试用例进行比对,得到新增测试用例中首个修改的测试组件;获取首个修改的测试组件中前一测试组件的测试结果,将获取到的测试结果输入到首个修改的测试组件中;当获取到新增测试用例执行指令时,执行新增测试用例中首个修改的测试组件及首个测试组件之后的测试组件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
显示测试组件列表;获取在测试组件列表中选择的测试组件,将选择的测试组件添加到用例编写界面中;通过用例编写界面获取用例创建指令;根据用例创建指令获取添加到用例编写界面中的测试组件,获取测试组件对应的测试代码;按照测试组件在用例编写界面中的排序,对测试组件对应的测试代码进行组装生成测试用例。
在一个实施例中,该程序被处理器执行时还用以实现以下步骤:
获取原子用例和测试接口的接口数据;根据接口数据和预设组件提取规则从原子用例的测试代码中提取出与测试接口相对应的组件代码,根据组件代码生成测试组件;将生成的测试组件添加到测试组件列表中。
在一个实施例中,该程序被处理器执行时还用以实现以下步骤:
将获取到的测试组件对应的测试代码在用例编写界面中进行展示;通过用例编写界面获取对测试代码进行的修改操作,根据修改操作生成修改后的测试代码对应的测试组件,将生成的测试组件替换用例编写界面中修改前的测试组件,并将生成的测试组件添加至测试组件列表中。
在一个实施例中,该程序被处理器执行时还用以实现以下步骤:
显示测试用例列表;获取在测试用例列表中选择的测试用例,将选择的测试用例添加到用例编写界面,在用例编写界面中显示测试用例中包含的测试组件;通过用例编写界面获取对显示的测试组件的修改操作,根据修改后的测试组件生成新增测试用例。
在一个实施例中,该程序被处理器执行时还用以实现以下步骤:
将新增测试用例与修改操作前的测试用例进行比对,得到新增测试用例中首个修改的测试组件;获取首个修改的测试组件中前一测试组件的测试结果,将获取到的测试结果输入到首个修改的测试组件中;当获取到新增测试用例执行指令时,执行新增测试用例中首个修改的测试组件及首个测试组件之后的测试组件。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种测试用例创建方法,其特征在于,所述方法包括以下步骤:
显示测试组件列表;
获取在所述测试组件列表中选择的测试组件,将所述选择的测试组件添加到用例编写界面中;
通过所述用例编写界面获取用例创建指令;
根据所述用例创建指令获取添加到用例编写界面中的测试组件,获取所述测试组件对应的测试代码;
按照所述测试组件在所述用例编写界面中的排序,对所述测试组件对应的测试代码进行组装,根据测试代码的预设数据格式对测试代码的数据格式进行调整以生成测试用例;
所述显示测试组件列表的步骤之前,还包括:
获取原子用例和测试接口的接口数据;
根据所述接口数据和预设组件提取规则从所述原子用例的测试代码中提取出与所述测试接口相对应的组件代码,根据所述组件代码生成测试组件;
将生成的所述测试组件添加到测试组件列表中;
所述根据所述接口数据和预设组件提取规则从所述原子用例的测试代码中提取出与所述测试接口相对应的组件代码,根据所述组件代码生成测试组件包括:
在获取的原子用例的位置显示拆分操作按钮,通过拆分操作按钮获取原子用例拆分指令后,获取原子用例拆分指令中的原子用例标识,根据原子用例标识查找其所对应的原子用例的测试代码以及待拆分的原子用例所属的应用程序,获取应用程序的各测试接口的接口请求参数;
将各测试接口的接口请求参数与原子用例的测试代码中的参数进行匹配,根据匹配成功的接口请求参数对应的接口以及接口所属的应用程序对测试组件代码进行命名后生成新的测试组件。
2.根据权利要求1所述的测试用例创建方法,其特征在于,所述获取所述测试组件对应的测试代码的步骤之后,还包括:
将获取到的所述测试组件对应的测试代码在所述用例编写界面中进行展示;
通过所述用例编写界面获取对所述测试代码进行的修改操作,根据所述修改操作生成修改后的测试代码对应的测试组件,将生成的测试组件替换所述用例编写界面中修改前的测试组件,并将生成的测试组件添加至所述测试组件列表中。
3.根据权利要求1所述的测试用例创建方法,其特征在于,所述方法还包括:
显示测试用例列表;
获取在所述测试用例列表中选择的测试用例,将选择的测试用例添加到用例编写界面,在所述用例编写界面中显示所述测试用例中包含的测试组件;
通过所述用例编写界面获取对显示的测试组件的修改操作,根据修改后的测试组件生成新增测试用例。
4.根据权利要求3所述的测试用例创建方法,其特征在于,所述方法还包括:
将所述新增测试用例与修改操作前的测试用例进行比对,得到所述新增测试用例中首个修改的测试组件;
获取所述首个修改的测试组件中前一测试组件的测试结果,将获取到的测试结果输入到所述首个修改的测试组件中;
当获取到新增测试用例执行指令时,执行所述新增测试用例中所述首个修改的测试组件及所述首个测试组件之后的测试组件。
5.一种测试用例创建装置,其特征在于,所述装置包括:
组件显示模块,用于显示测试组件列表;
组件添加模块,用于获取在所述测试组件列表中选择的测试组件,将所述选择的测试组件添加到用例编写界面中;
创建指令接收模块,用于通过所述用例编写界面获取用例创建指令;
代码获取模块,用于根据所述用例创建指令获取添加到用例编写界面中的测试组件,获取所述测试组件对应的测试代码;
用例生成模块,用于按照所述测试组件在所述用例编写界面中的排序,对所述测试组件对应的测试代码进行组装,根据测试代码的预设数据格式对测试代码的数据格式进行调整以生成测试用例;
所述装置还包括:
组件生成模块,用于获取原子用例和测试接口的接口数据;根据所述接口数据和预设组件提取规则从所述原子用例的测试代码中提取出与所述测试接口相对应的组件代码,根据所述组件代码生成测试组件;
所述组件添加模块,还用于将生成的所述测试组件添加到测试组件列表中;
所述组件生成模块,还用于在获取的原子用例的位置显示拆分操作按钮,通过拆分操作按钮获取原子用例拆分指令后,获取原子用例拆分指令中的原子用例标识,根据原子用例标识查找其所对应的原子用例的测试代码以及待拆分的原子用例所属的应用程序,获取应用程序的各测试接口的接口请求参数;
将各测试接口的接口请求参数与原子用例的测试代码中的参数进行匹配,根据匹配成功的接口请求参数对应的接口以及接口所属的应用程序对测试组件代码进行命名后生成新的测试组件。
6.根据权利要求5所述的测试用例创建装置,其特征在于,所述装置还包括:
用例显示模块,用于显示测试用例列表;
用例添加模块,用于获取在所述测试用例列表中选择的测试用例,将选择的测试用例添加到用例编写界面,在所述用例编写界面中显示所述测试用例中包含的测试组件;
新增用例生成模块,用于通过所述用例编写界面获取对显示的测试组件的修改操作,根据修改后的测试组件生成新增测试用例。
7.根据权利要求6所述的测试用例创建装置,其特征在于,所述装置还包括:
用例比对模块,用于将所述新增测试用例与修改操作前的测试用例进行比对,得到所述新增测试用例中首个修改的测试组件;
结果获取模块,用于获取所述首个修改的测试组件中前一测试组件的测试结果,将获取到的测试结果输入到所述首个修改的测试组件中;
测试执行模块,用于当获取到新增测试用例执行指令时,执行所述新增测试用例中所述首个修改的测试组件及所述首个测试组件之后的测试组件。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任意一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至4任意一项所述方法的步骤。
CN201710619716.3A 2017-07-26 2017-07-26 测试用例创建方法、装置、计算机设备及存储介质 Active CN107908542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710619716.3A CN107908542B (zh) 2017-07-26 2017-07-26 测试用例创建方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710619716.3A CN107908542B (zh) 2017-07-26 2017-07-26 测试用例创建方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN107908542A CN107908542A (zh) 2018-04-13
CN107908542B true CN107908542B (zh) 2020-06-23

Family

ID=61839969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710619716.3A Active CN107908542B (zh) 2017-07-26 2017-07-26 测试用例创建方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN107908542B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783350A (zh) * 2018-12-13 2019-05-21 重庆金融资产交易所有限责任公司 接口测试方法、装置及计算机可读存储介质
CN109766262B (zh) * 2018-12-15 2022-05-06 深圳壹账通智能科技有限公司 接口数据处理方法、自动化测试方法、装置、设备和介质
CN109710532A (zh) * 2018-12-28 2019-05-03 北京金山安全软件有限公司 一种测试用例的管理方法、装置及电子设备
CN109688599B (zh) * 2019-01-11 2022-04-22 北京华力创通科技股份有限公司 终端测试仪分组域调度方法及装置
CN110008111A (zh) * 2019-01-31 2019-07-12 阿里巴巴集团控股有限公司 一种业务测试方法及装置
CN110232014A (zh) * 2019-02-25 2019-09-13 上海蔚来汽车有限公司 业务流程自动化测试方法、装置、控制器及介质
CN110245079A (zh) * 2019-05-28 2019-09-17 深圳市六度人和科技有限公司 一种接口处理方法、装置以及存储装置
CN110928777B (zh) * 2019-11-15 2023-04-07 深圳前海微众银行股份有限公司 测试用例的处理方法、装置、设备及存储介质
CN111104312A (zh) * 2019-11-21 2020-05-05 苏州浪潮智能科技有限公司 一种测试用例变量存储管理方法、系统、终端及存储介质
CN111181800B (zh) * 2019-11-27 2023-09-19 腾讯科技(深圳)有限公司 测试数据处理方法、装置、电子设备及存储介质
CN112416746A (zh) * 2020-01-21 2021-02-26 上海哔哩哔哩科技有限公司 一种测试用例生成方法、装置、设备及介质
CN111581076A (zh) * 2020-03-30 2020-08-25 平安科技(深圳)有限公司 系统代码的测试方法、装置、计算机设备和存储介质
CN111124938B (zh) * 2020-03-31 2020-08-21 四川新网银行股份有限公司 组件化的测试用例的生成方法
CN112506762B (zh) * 2020-11-27 2022-03-15 北京百度网讯科技有限公司 应用程序接口参数的筛选方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871327B2 (en) * 2002-03-04 2005-03-22 Sun Microsystems, Inc. Method and apparatus for extending coverage of GUI tests
CN102662651A (zh) * 2012-03-08 2012-09-12 北京神州数码思特奇信息技术股份有限公司 可视化组件的生成方法和生成模块
CN102722437A (zh) * 2012-05-29 2012-10-10 北京空间飞行器总体设计部 一种基于组件与脚本的航天器测试系统及测试方法
CN106294102A (zh) * 2015-05-20 2017-01-04 腾讯科技(深圳)有限公司 应用程序的测试方法、客户端、服务器及系统
CN106557314A (zh) * 2016-10-19 2017-04-05 深圳智慧林网络科技有限公司 应用软件开发方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871327B2 (en) * 2002-03-04 2005-03-22 Sun Microsystems, Inc. Method and apparatus for extending coverage of GUI tests
CN102662651A (zh) * 2012-03-08 2012-09-12 北京神州数码思特奇信息技术股份有限公司 可视化组件的生成方法和生成模块
CN102722437A (zh) * 2012-05-29 2012-10-10 北京空间飞行器总体设计部 一种基于组件与脚本的航天器测试系统及测试方法
CN106294102A (zh) * 2015-05-20 2017-01-04 腾讯科技(深圳)有限公司 应用程序的测试方法、客户端、服务器及系统
CN106557314A (zh) * 2016-10-19 2017-04-05 深圳智慧林网络科技有限公司 应用软件开发方法及装置

Also Published As

Publication number Publication date
CN107908542A (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
CN107908542B (zh) 测试用例创建方法、装置、计算机设备及存储介质
US10203938B2 (en) Application engineering platform
CN107908540B (zh) 测试用例创建方法、装置、计算机设备及介质
CN108499103B (zh) 场景元素的显示方法及装置
CN108874926A (zh) 海量数据查询方法、装置、计算机设备和存储介质
CN109146081B (zh) 一种用于机器学习平台中创建模型项目的方法及装置
EP3374856A1 (en) Generation of an application from template
CN111068328B (zh) 游戏广告配置表格的生成方法、终端设备及介质
CN103597469A (zh) 集成开发环境中的实况浏览器工具
CN113268226A (zh) 页面数据生成方法、装置、存储介质及设备
CN110321284B (zh) 测试数据录入方法、装置、计算机设备和存储介质
CN110532059B (zh) K8s集群管理软件的配额管理方法及装置
CN111459621B (zh) 云仿真集成与调度方法、装置、计算机设备和存储介质
CN106201224A (zh) 一种数据批量处理的方法及装置
CN112905441A (zh) 测试用例生成方法、测试方法、装置及设备
CN111737139A (zh) 一种小程序的预览二维码生成方法及装置
CN111258680A (zh) 资源加载方法和装置、存储介质及电子装置
CN114611041A (zh) 一种前端页面构建方法、装置、计算机设备及介质
CN104580375A (zh) 确定目标应用的ui样式信息的方法与设备
CN111475137A (zh) 一种软件开发需求预测的方法、系统及设备
CN108897858A (zh) 分布式集群索引分片的评估方法及装置、电子设备
CN115469849A (zh) 一种业务处理系统、方法、电子设备和存储介质
CN104267967A (zh) 软件的程序代码的生成方法及装置
CN114661984A (zh) 基于人工智能和用户画像的信息推送方法及云计算系统
CN110557414B (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
GR01 Patent grant
GR01 Patent grant