CN109582563B - 测试案例的测试方法、装置、计算机设备及存储介质 - Google Patents

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

Info

Publication number
CN109582563B
CN109582563B CN201811259640.9A CN201811259640A CN109582563B CN 109582563 B CN109582563 B CN 109582563B CN 201811259640 A CN201811259640 A CN 201811259640A CN 109582563 B CN109582563 B CN 109582563B
Authority
CN
China
Prior art keywords
test
node
designated
preset
configuration
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
CN201811259640.9A
Other languages
English (en)
Other versions
CN109582563A (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 Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811259640.9A priority Critical patent/CN109582563B/zh
Publication of CN109582563A publication Critical patent/CN109582563A/zh
Application granted granted Critical
Publication of CN109582563B publication Critical patent/CN109582563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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

测试案例的测试方法、装置、计算机设备及存储介质
技术领域
本申请涉及到自动测试技术,特别是涉及到测试案例的测试方法、装置、计算机设备及存储介质。
背景技术
系统测试是测试流程中最关键的一个阶段,这个阶段的测试工作量非常大,需要对本次开发中需求的所有功能、所有场景都覆盖测试到,而且开发设计可能还会有变动,从而导致测试案例也要随时改变,所以这个阶段的自动化测试的实施困难较大,目前还未实现系统测试的完全自动化,使自动化的测试开发不能满足项目快速迭代的要求。
发明内容
本申请的主要目的为提供测试案例的测试方法,旨在解决现有自动化的测试开发中系统测试还未实现自动化测试的技术问题。
本申请提出一种测试案例的测试方法,包括:
获取测试案例对应的测试流程,其中所述测试流程由多个测试操作阶段组成;
根据所述测试操作阶段将所述测试案例划分成多个节点,其中所述测试案例包括一个或多个依次排列的测试场景,每个所述测试场景对应的测试过程为一个所述测试操作阶段,所述节点与所述测试操作阶段一一对应;
根据各所述测试操作阶段的测试要求,分别配置各所述节点,其中所述测试要求中携带配置所述节点所需要的操作组件的类别信息和参数信息,各所述节点根据与其对应的操作组件的类别信息和参数信息,进行单独配置;
按照所述测试流程依次执行配置好的各所述节点,以测试所述测试案例。
优选地,所述节点包括一个或多个操作步骤,以及与各所述操作步骤分别对应的操作组件,所述根据各所述测试操作阶段的测试要求,分别配置各所述节点的步骤,包括:
判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面;
若进入所述第一指定测试操作阶段对应的第一指定节点的配置页面,则根据所述第一指定节点对应的第一操作步骤对应的第一操作要求,配置与所述第一操作要求相对应的第一组件,其中所述第一组件包括接口测试配置组件、数据库操作组件、代码块组件、if逻辑控制组件、While循环控制组件、内置函数组件中的至少一个;
打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数,以完成对所述第一指定测试操作阶段对应的第一指定节点的配置;
根据所述第一指定节点的配置过程完成各所述测试操作阶段分别对应的所述节点,并核验各所述节点,是否均已按照各自对应的测试要求配置完毕;
若均已按照各自对应的测试要求配置完毕,则发出各所述节点已配置完毕的提醒信息。
优选地,所述第一form表包括多个预设配置框,所述打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数的步骤之后,包括:
检测各所述预设配置框分别对应的赋值参数栏,是否填写了字段信息;
若填写了字段信息,则调用各所述赋值参数栏分别对应的校验程序,对各所述赋值参数栏分别对应的字段信息进行校验;
若校验不通过,则发出异常警报并反馈异常原因。
优选地,所述判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面的步骤之前,包括:
搜寻是否存在第一预设节点,其中所述第一预设节点为存储于指定数据库的已配置好的节点,所述第一预设节点与第二指定测试操作阶段对应的第二指定节点的相似度达到预设值,所述第二指定节点为还未进行配置的节点;
若存在,则复制所述第一预设节点,并粘贴覆盖于所述第二指定节点所在位置,以替代所述第二指定节点;
调整所述第一预设节点的指定配置项,使调整后的第一预设节点完全符合第二指定测试操作阶段对应的测试要求。
优选地,所述判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面的步骤之前,还包括:
判断是否存在第二预设节点,其中所述第二预设节点为存储于指定数据库的已配置好的节点,所述第二预设节点与第三指定测试操作阶段对应的第三指定节点相同,所述第三指定节点为还未进行配置的节点;
若存在,则调用所述第二预设节点对应的web接口服务的链接地址,以在调用所述第三指定节点时,通过所述链接地址调用所述第二预设节点。
优选地,所述调用所述第二预设节点对应的web接口服务的链接地址的步骤之前,包括:
检测所述第二预设节点对应的各操作组件的form表,是否已按预设顺序完成配置;
若是,则启动转换成接口服务的操作,将所述第二预设节点按照预设转换逻辑,转换成java代码;
将所述java代码写入预设web框架中,通过执行自动部署流程,将携带所述java代码的预设web框架部署到服务器上,以生成所述web接口服务。
优选地,分别对各所述第一组件标识识别ID号,以便区分各所述第一组件,所述打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数的步骤之后,包括:
判断各所述第一组件分别对应的识别ID号的排列顺序,是否符合所述第一操作要求对应的预设顺序,其中,所述识别ID号的排列顺序与各所述第一组件的排列顺序一致;
若不符合,则通过触发移动事件调整各所述第一组件的排列顺序,使调整后的各所述第一组件分别对应的识别ID号的排列顺序与所述预设顺序一致,其中,所述触发移动事件包括触发向上事件和触发向下事件,所述触发向上事件指将待移动操作组件对应的form表单向排序靠前的方向移动一个位置,所述触发向下事件指将待移动操作组件对应的form表单向排序靠后的方向移动一个位置。
本申请还提供了一种测试案例的测试装置,包括:
获取模块,用于获取测试案例对应的测试流程,其中所述测试流程由多个测试操作阶段组成;
划分模块,用于根据所述测试操作阶段将所述测试案例划分成多个节点,其中所述测试案例包括一个或多个依次排列的测试场景,每个所述测试场景对应的测试过程为一个所述测试操作阶段,所述节点与所述测试操作阶段一一对应;
配置模块,用于根据各所述测试操作阶段的测试要求,分别配置各所述节点,其中所述测试要求中携带配置所述节点所需要的操作组件的类别信息和参数信息,各所述节点根据与其对应的操作组件的类别信息和参数信息,进行单独配置;
执行模块,用于按照所述测试流程依次执行配置好的各所述节点,以测试所述测试案例。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请通过将系统测试对应的测试案例的测试流程划分为由多个独立节点,每个节点可进行自动化测试,且根据测试流程中多个独立节点的排列顺序,通过依次调用每个节点,实现系统测试的完全自动化,每个节点包括多个已完成代码编写的操作组件,且每个操作组件均可单独配置,且配置界面为可视化界面,方便维护与配置操作,以便于测试管理,且自动化测试过程中只需按功能选择不同的操作组件即可实现自动化测试,降低自动化测试门槛,各个节点的配置相互独立,方便系统开发过程中对某个测试案例进行随时调整,只需调整对应节点的配置方案即可实现,满足敏捷开发的快速迭代需求。且本申请在各节点配置完毕后,在执行测试案例时,会按节点分块地把执行日志打印出来,执行日志记载每个节点中每个操作组件的执行数据,使测试案例的执行过程更加清晰,当测试案例执行失败时,哪个位置出现了异常则会很快定位到,方便测试追踪,提高测试效率。本申请配置好的节点,可以对其进行复制,然后在其他测试案例开发或者同一测试案例开发时,通过粘贴该复制的节点,降低对节点配置的工作量,提高配置效率。本申请完全相同的节点,可通过调用的方式直接参与到另一指定测试操作阶段需要改节点的步骤中,使得之前配置的节点可重复利用,大大节省测试案例开发时间,调高测试开发效率。本申请提供了向上事件和向下事件的两个响应,通过多次触发这两个事件,即可实现操作组件的顺序的随意改变,使测试案例的配置过程更加灵活。
附图说明
图1本申请一实施例的测试案例的测试方法流程示意图;
图2本申请一实施例的测试案例的测试装置的结构示意图;
图3本申请一实施例的计算机设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例的测试案例的测试方法,包括:
S1:获取测试案例对应的测试流程,其中所述测试流程由多个测试操作阶段组成。
本实施例的测试案例针对指定的系统测试而形成,测试案例包括一个或多个依次排列的测试场景,将依次排列的每个测试场景对应的测试过程,依次组合起来形成测试流程。
S2:根据所述测试操作阶段将所述测试案例划分成多个节点,其中所述测试案例包括一个或多个依次排列的测试场景,每个所述测试场景对应的测试过程为一个所述测试操作阶段,所述节点与所述测试操作阶段一一对应。
本实施例将上述测试场景映射为节点,将所述测试案例划分成多个节点,以便于测试管理。比如测试案例是测试登录案例,则把测试登录案例分成以下三个节点:输入账号密码的节点、输入验证码的节点、点击登录按钮的节点。
S3:根据各所述测试操作阶段的测试要求,分别配置各所述节点,其中所述测试要求中携带配置所述节点所需要的操作组件的类别信息和参数信息,各所述节点根据与其对应的操作组件的类别信息和参数信息,进行单独配置。
本实施例的每个节点均可单独配置,选中相应的节点,点击编辑即可进入到该节点的配置页面,在配置页面中根据对应的测试要求,通过选择使用各个操作组件对该节点进行配置,且本实施例的配置界面为可视化界面,方便维护与配置操作。上述操作组件为对数据和方法的简单封装,是实现程序的最小单位。本实施例的配置过程中,多个节点可按顺序依次单独配置,也可在进入测试案例配置前的页面中,提供配置全局变量的功能,通过全局变量的配置功能,使得配置的变量,可以应用到所有测试案例中,即用于任何测试案例中任何一个节点的开发测试中,且均可以使用和改变这个变量。同时本实施例在进入到测试案例配置页面后,进入节点配置页面前,提供了局部变量配置的功能,通过局部变量配置的功能配置的变量,可以应用到该测试案例对应的所有节点中,即在该测试案例下的所有节点中均可以使用和改变这个变量,但是无法使用到该测试案例之外的其他测试案例中。本实施例通过全局变量,可以实现各个测试案例间的配置参数的传递;通过局部变量,可以实现同一测试案例中各个节点间的配置参数的传递,使得配置参数更为简便、快捷。
S4:按照所述测试流程依次执行配置好的各所述节点,以测试所述测试案例。
本实施例通过将系统测试的测试流程划分为由多个独立节点,每个节点可进行自动化测试,且根据测试流程中多个独立节点的排列顺序,通过依次调用每个节点,实现系统测试的完全自动化。且在各节点配置完毕后,在执行测试案例时,会按节点分块地把执行日志打印出来,执行日志记载每个节点中每个操作组件的执行数据,使测试案例的执行过程更加清晰,当测试案例执行失败时,哪个位置出现了异常则会很快定位到,方便测试追踪,提高系统测试的自动化测试效率。本实施例的各个节点的配置相互独立,方便系统开发过程中对某个测试案例进行随时调整,只需调整对应节点的配置方案即可实现,满足敏捷开发的快速迭代需求。
进一步地,所述节点包括一个或多个操作步骤,以及与各所述操作步骤分别对应的操作组件,所述根据各所述测试操作阶段的测试要求,分别配置各所述节点的步骤S3,包括:
S30:判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面。
本实施例每个节点上关联有控制进入该节点对应的配置页面的编辑按钮,通过监测与第一指定节点关联的编辑按钮是否被触发,若被触发,则判断进入了第一指定节点对应的配置页面。
S31:若进入第一指定测试操作阶段对应的第一指定节点的配置页面,则根据所述第一指定节点对应的第一操作步骤对应的操作要求,配置与所述第一操作步骤相对应的第一操作组件。
本实施例的第一操作组件包括接口测试配置组件、数据库操作组件、代码块组件、if逻辑控制组件、While循环控制组件、内置函数组件中的至少一个。根据第一操作步骤对应的操作要求,决定选择哪几个操作组件,以及各操作组件之间的编排顺序,以通过依次执行选择的各操作组件,实现执行第一操作步骤。
在数据库操作组件中,首先需要填写sql语句,该语句可以是select、updata、delete、insert四种类型的操作中的任何一个,以便通过上述sql语句,对数据库的数据进行查询、修改、删除、添加等操作。如果是select查询操作,就可以激活轮询操作,通过设置轮询频率、轮询时长、轮询的目标字段、轮询的目标值等来实现;执行异常时就会抛出异常提醒,执行日志中会给出异常的详细原因。代码块组件,支持用户在输入框编写java代码,以对操作组件中存储的变量进行操作,且支持发起http请求对一些接口进行调用,或者进行一些复杂代码逻辑的编写,以便实现复杂测试案例的配置。在if逻辑控制组件中,在两个输入框中分别填写变量值或者常量,以及目标值,当变量值或者常量,与目标值相等时,控制操作组件的进行下一步操作。在if组件中,可以内嵌入其他组件,包括接口测试组件、数据库操作组件、代码块组件、内置函数组件,甚至再嵌入一个if逻辑控制组件。在前端开发中具体实现是通过一个form表再嵌入其他form表,这些form表都响应特定的事件。While循环控制组件,与if逻辑控制组件的工作逻辑类似,区别在于可进行多次循环,当变量值或者常量,与目标值不相等时,结束循环。
S32:打开各所述第一操作组件分别对应的第一form表,以对应接收所述第一操作组件的配置参数,以完成对所述第一指定测试操作阶段对应的第一指定节点的配置。
本实施例通过配置各操作组件,实现对节点的配置。本实施例通过点击各操作组件,调用并打开该操作组件对应的form表,以接收配置参数信息。举例地,接口测试组件对应的form表中提供了url输入框、入参输入框、返回值提取框、预期值检验框、系统选择框等。在url输入框中输入或者选择接口的url地址,在入参输入框中填入入参的赋值,以json格式或者键值对格式填写,在返回值提取框中以正则表达式填写要提取的返回值字段,并填写提取后要存储到的变量值;在预期值检验框中填写要校验的变量实际值、预期值;在系统选择框中,可选择某个系统,选择好后在url输入框中就会自动筛选出该系统对应的所有接口的url地址,直接选择对应接口就会自动填写该接口对应的url地址到url输入框中,实现接口测试组件可配置接口的url地址、入参的赋值、返回值检验等功能。本实施例各操作组件与各自对应的form表一一对应关联,使得各操作组件的排序与各自对应的form表在配置页面上的排序一致,随意拖动操作组件或form表中的任一个调整排列顺序后得到的效果相同,方便变更执行顺序,使得测试案例的配置更加灵活。
S33:根据所述第一指定节点的配置过程完成各所述测试操作阶段分别对应的所述节点,并核验各所述节点,是否均已按照各自对应的测试要求配置完毕。
本实施例的通过调用预设的检测规则,自动判断各节点对应的每个操作组件的配置框是否已填充信息,并通过识别填充信息的赋值种类,调用对应的校验工具判断赋值是否符合要求,比如赋值的字符串组成格式是否正确,则调用对应的正则表达式进行校验。
S34:若均已按照各自对应的测试要求配置完毕,则发出各所述节点已配置完毕的提醒信息。
本实施例通过监测各配置框均已填充信息,且各校验工具返回的各填充信息对应的赋值种类均为正确无异常,则判定均已按照各自对应的测试要求配置完毕,通过发出提醒信息提醒测试人员准备完毕,以解放测试人员的人力资源,提高测试效率。本实施例的提醒信息包括预设的提醒警示响铃声或预设的语音播报文件。
进一步地,所述第一form表包括多个预设配置框,所述打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数的步骤S32之后,包括:
S321:检测各所述预设配置框分别对应的赋值参数栏,是否填写了字段信息。
本实施例的配置框的填充内容为字段信息,便于自动校验。通过检测赋值参数栏是否有内容填充判断配置填写状态,空白无填充为未配置状态。
S322:若填写了字段信息,则调用各所述赋值参数栏分别对应的校验程序,对各所述赋值参数栏分别对应的字段信息进行校验。
本实施例对字段信息的校验通过不同表达格式的正则表达式实现,可自动校验字段信息的字符串组成格式、字符串排布顺序等。
S323:若校验不通过,则发出异常警报并反馈异常原因。
本实施例在校验不通过的时候,会触发异常警报,以便提醒测试人员及时查看异常状况,并根据反馈的异常原因,及时解决异常现象,保证配置过程的顺利进行,节约测试人员的人工校验工作量,提高测试的自动化程度。
进一步地,所述判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面的步骤S30之前,包括:
S301:搜寻是否存在第一预设节点,其中所述第一预设节点为存储于指定数据库的已配置好的节点,所述第一预设节点与第二指定测试操作阶段对应的第二指定节点相似度达到预设值,所述第二指定节点为还未进行配置的节点。
本实施例配置好的节点,可以对其进行复制,然后在其他测试案例开发或者同一测试案例开发时,通过粘贴该复制的节点,降低对节点配置的工作量,提高配置效率。本实施通过判断节点的相似度,达到相似度要求的再执行复制粘贴过程,以提高通过复制粘贴节省配置时间的效果,比如,相似度的预设值为80%以上。上述相似度的预设值通过比较节点内包括的各操作组件得到,比如所包含的各操作组件90%相同,则判定相似度达到90%,可通过微调实现对新节点的配置,符合复制粘贴的操作意义。
S302:若存在,则复制所述第一预设节点,并粘贴覆盖于所述第二指定节点所在位置,以替代所述第二指定节点。
本实施例的第一预设节点为已存在的配置好的节点,第二指定节点为未配置的节点,通过将第一预设节点复制粘贴于第二指定节点所在位置,以代替第二指定节点,降低对第二指定节点的配置时间。本实施例的第二指定节点所在位置,指第二指定节点所处于的排序位置。
S303:调整所述第一预设节点的指定配置项,使调整后的第一预设节点完全符合第二指定测试操作阶段对应的测试要求。
本实施例指定配置项包括与第二指定测试操作阶段对应的测试要求所对应的所有配置项相比,上述指定配置项包括多余的、缺少的、存在差异的配置项等,上述配置项包括操作组件以及操作组件的排布顺序,通过删除多余的配置项、添加缺少的配置项、调整存在差异的配置项,使调整后的第一预设节点,完全符合第二指定测试操作阶段对应的测试要求。
进一步地,所述判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面的步骤S30之前,还包括:
S304:判断是否存在第二预设节点,其中所述第二预设节点为存储于指定数据库的已配置好的节点,所述第二预设节点与第三指定测试操作阶段对应的第三指定节点相同,所述第三指定节点为还未进行配置的节点。
本实施例的与第三指定节点相同的第二预设节点,包括上述两个节点中包括的操作组件种类、操作组件数量、操作组件的编排逻辑顺序均相同。
S305:若存在,则调用所述第二预设节点对应的web接口服务的链接地址,以在调用所述第三指定节点时,通过所述链接地址调用所述第二预设节点。
本实施例对于完全相同的节点,可通过调用的方式直接参与到另一指定测试操作阶段需要改节点的步骤中,使得之前配置的节点可重复利用,大大节省测试案例开发时间,调高测试开发效率。
进一步地,所述调用所述第二预设节点对应的web接口服务的链接地址的步骤S305之前,包括:
S306:检测所述第二预设节点对应的各操作组件的form表,是否已按预设顺序完成配置。
本实施例的完成配置包括,各操作组件的form表对应的各配置框均处于已配置状态,且处于已配置状态的填充信息符合预设要求,以及各操作组件的排布顺序符合要求。
S307:若是,则启动转换成接口服务的操作,将所述第二预设节点按照预设转换逻辑,转换成java代码。
本实施例通过将开发好的节点,转换成一个接口服务,以方便后续用到相同的节点时直接调用。节点里的各个操作组件都配置好后,在配置页面中,显示的是一个个按顺序配置好的操作组件的form表,点击转换成接口服务按钮,会把整个配置好的节点的所有form表提交到后台进行转换,将其转换为一段符合测试案例逻辑的java代码,按照特定的关键字约定,相当于进行了一次行为驱动自动化开发的过程,实现了由前端配置页面到后台java代码的转化,通过转换成java代码,实现操作组件自动转换为后台代码并自动打包的过程,可实现节点数据的封装与固定,便于整体调用。
S308:将所述java代码写入预设web框架中,通过执行自动部署流程,将携带所述java代码的预设web框架部署到服务器上,以生成所述web接口服务。
本实施例配置好的节点的所有form表转化为java代码后,会将这些代码写入一个web框架中,然后通过执行自动部署的流程,将携带所述java代码的web框架部署到服务器上,从而生成一个web接口服务。当其他测试案例或者节点中,需要用到已经服务化的这个节点的功能时,只要间接地调用被服务化对应的接口地址,就可以代替一个相同节点的开发过程。
进一步地,分别对各所述第一操作组件标识识别ID号,以便区分各所述第一操作组件,所述打开各所述第一操作组件分别对应的第一form表,以对应接收所述第一操作组件的配置参数的步骤S32之后,包括:
S324:判断各所述第一操作组件分别对应的识别ID号的排列顺序,是否符合所述第一操作要求对应的预设顺序其中,所述识别ID号的排列顺序与各所述第一组件的排列顺序一致。
本实施例通过对各第一操作组件标识识别ID号,以便区分各第一操作组件,更方便核验逻辑排列顺序,尤其对于操作组件之间存在嵌套逻辑排列的情况。比如While循环控制组件中可以内嵌入其他组件,包括接口测试组件、数据库操作组件、代码块组件、内置函数组件,if逻辑控制组件、break跳出循环组件,甚至可以再嵌入一个while循环控制组件。这些在前端开发中具体实现是一个form表再嵌入其他form表,这些form表都响应特定的事件。在后台,当前端form表的事件提交过来,后台会判断是哪个操作组件、操作组件的执行顺序,然后接收前端配置页面传过来的配置参数,进行相应处理。
S325:若不符合,则通过触发移动事件调整各所述第一组件的排列顺序,使调整后的各所述第一组件分别对应的识别ID号的排列顺序与所述预设顺序一致,其中,所述触发移动事件包括触发向上事件和触发向下事件,所述触发向上事件指将待移动操作组件对应的form表向排序靠前的方向移动一个位置,所述触发向下事件指将待移动操作组件对应的form表向排序靠后的方向移动一个位置。
本实施例提供了向上事件和向下事件的两个响应,通过多次触发这两个事件,即可实现操作组件的顺序的随意改变,使测试案例的配置过程更加灵活。
本实施例通过将系统测试对应的测试案例的测试流程划分为由多个独立节点,每个节点可进行自动化测试,且根据测试流程中多个独立节点的排列顺序,通过依次调用每个节点,实现系统测试的完全自动化,每个节点包括多个已完成代码编写的操作组件,且每个操作组件均可单独配置,且配置界面为可视化界面,方便维护与配置操作,以便于测试管理,且自动化测试过程中只需按功能选择不同的操作组件即可实现自动化测试,降低自动化测试门槛,各个节点的配置相互独立,方便系统开发过程中对某个测试案例进行随时调整,只需调整对应节点的配置方案即可实现,满足敏捷开发的快速迭代需求。且本实施例在各节点配置完毕后,在执行测试案例时,会按节点分块地把执行日志打印出来,执行日志记载每个节点中每个操作组件的执行数据,使测试案例的执行过程更加清晰,当测试案例执行失败时,哪个位置出现了异常则会很快定位到,方便测试追踪,提高测试效率。本实施例配置好的节点,可以对其进行复制,然后在其他测试案例开发或者同一测试案例开发时,通过粘贴该复制的节点,降低对节点配置的工作量,提高配置效率。本实施例完全相同的节点,可通过调用的方式直接参与到另一指定测试操作阶段需要改节点的步骤中,使得之前配置的节点可重复利用,大大节省测试案例开发时间,调高测试开发效率。本实施例提供了向上事件和向下事件的两个响应,通过多次触发这两个事件,即可实现操作组件的顺序的随意改变,使测试案例的配置过程更加灵活。
参照图2,本申请一实施例的测试案例的测试装置,包括:
获取模块1,用于获取测试案例对应的测试流程,其中所述测试流程由多个测试操作阶段组成。
本实施例的测试案例针对指定的系统测试而形成,测试案例包括一个或多个依次排列的测试场景,将依次排列的每个测试场景对应的测试过程,依次组合起来形成测试流程。
划分模块2,用于根据所述测试操作阶段将所述测试案例划分成多个节点,其中所述测试案例包括一个或多个依次排列的测试场景,每个所述测试场景对应的测试过程为一个所述测试操作阶段,所述节点与所述测试操作阶段一一对应。
本实施例将上述测试场景映射为节点,将所述测试案例划分成多个节点,以便于测试管理。比如测试案例是测试登录案例,则把测试登录案例分成以下三个节点:输入账号密码的节点、输入验证码的节点、点击登录按钮的节点。
配置模块3,用于根据各所述测试操作阶段的测试要求,分别配置各所述节点,其中所述测试要求中携带配置所述节点所需要的操作组件的类别信息和参数信息,各所述节点根据与其对应的操作组件的类别信息和参数信息,进行单独配置。
本实施例的每个节点均可单独配置,选中相应的节点,点击编辑即可进入到该节点的配置页面,在配置页面中根据对应的测试要求,通过选择使用各个操作组件对该节点进行配置,且本实施例的配置界面为可视化界面,方便维护与配置操作。上述操作组件为对数据和方法的简单封装,是实现程序的最小单位。本实施例的配置过程中,多个节点可按顺序依次单独配置,也可在进入测试案例配置前的页面中,提供配置全局变量的功能,通过全局变量的配置功能,使得配置的变量,可以应用到所有测试案例中,即用于任何测试案例中任何一个节点的开发测试中,且均可以使用和改变这个变量。同时本实施例在进入到测试案例配置页面后,进入节点配置页面前,提供了局部变量配置的功能,通过局部变量配置的功能配置的变量,可以应用到该测试案例对应的所有节点中,即在该测试案例下的所有节点中均可以使用和改变这个变量,但是无法使用到该测试案例之外的其他测试案例中。本实施例通过全局变量,可以实现各个测试案例间的配置参数的传递;通过局部变量,可以实现同一测试案例中各个节点间的配置参数的传递,使得配置参数更为简便、快捷。
执行模块4,用于按照所述测试流程依次执行配置好的各所述节点,以测试所述测试案例。
本实施例通过将系统测试的测试流程划分为由多个独立节点,每个节点可进行自动化测试,且根据测试流程中多个独立节点的排列顺序,通过依次调用每个节点,实现系统测试的完全自动化。且在各节点配置完毕后,在执行测试案例时,会按节点分块地把执行日志打印出来,执行日志记载每个节点中每个操作组件的执行数据,使测试案例的执行过程更加清晰,当测试案例执行失败时,哪个位置出现了异常则会很快定位到,方便测试追踪,提高系统测试的自动化测试效率。本实施例的各个节点的配置相互独立,方便系统开发过程中对某个测试案例进行随时调整,只需调整对应节点的配置方案即可实现,满足敏捷开发的快速迭代需求。
进一步地,所述节点包括一个或多个操作步骤,以及与各所述操作步骤分别对应的操作组件,本申请另一实施例的配置模块3,包括:
第一判断单元,用于判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面。
本实施例每个节点上关联有控制进入该节点对应的配置页面的编辑按钮,通过监测与第一指定节点关联的编辑按钮是否被触发,若被触发,则判断进入了第一指定节点对应的配置页面。
配置单元,用于若进入第一指定测试操作阶段对应的第一指定节点的配置页面,则根据所述第一指定节点对应的第一操作步骤对应的操作要求,配置与所述第一操作步骤相对应的第一操作组件。
本实施例的第一操作组件包括接口测试配置组件、数据库操作组件、代码块组件、if逻辑控制组件、While循环控制组件、内置函数组件中的至少一个。根据第一操作步骤对应的操作要求,决定选择哪几个操作组件,以及各操作组件之间的编排顺序,以通过依次执行选择的各操作组件,实现执行第一操作步骤。
在数据库操作组件中,首先需要填写sql语句,该语句可以是select、updata、delete、insert四种类型的操作中的任何一个,以便通过上述sql语句,对数据库的数据进行查询、修改、删除、添加等操作。如果是select查询操作,就可以激活轮询操作,通过设置轮询频率、轮询时长、轮询的目标字段、轮询的目标值等来实现;执行异常时就会抛出异常提醒,执行日志中会给出异常的详细原因。代码块组件,支持用户在输入框编写java代码,以对操作组件中存储的变量进行操作,且支持发起http请求对一些接口进行调用,或者进行一些复杂代码逻辑的编写,以便实现复杂测试案例的配置。在if逻辑控制组件中,在两个输入框中分别填写变量值或者常量,以及目标值,当变量值或者常量,与目标值相等时,控制操作组件的进行下一步操作。在if组件中,可以内嵌入其他组件,包括接口测试组件、数据库操作组件、代码块组件、内置函数组件,甚至再嵌入一个if逻辑控制组件。在前端开发中具体实现是通过一个form表再嵌入其他form表,这些form表都响应特定的事件。While循环控制组件,与if逻辑控制组件的工作逻辑类似,区别在于可进行多次循环,当变量值或者常量,与目标值不相等时,结束循环。
打开单元,用于打开各所述第一操作组件分别对应的第一form表,以对应接收所述第一操作组件的配置参数,以完成对所述第一指定测试操作阶段对应的第一指定节点的配置。
本实施例通过配置各操作组件,实现对节点的配置。本实施例通过点击各操作组件,调用并打开该操作组件对应的form表,以接收配置参数信息。举例地,接口测试组件对应的form表中提供了url输入框、入参输入框、返回值提取框、预期值检验框、系统选择框等。在url输入框中输入或者选择接口的url地址,在入参输入框中填入入参的赋值,以json格式或者键值对格式填写,在返回值提取框中以正则表达式填写要提取的返回值字段,并填写提取后要存储到的变量值;在预期值检验框中填写要校验的变量实际值、预期值;在系统选择框中,可选择某个系统,选择好后在url输入框中就会自动筛选出该系统对应的所有接口的url地址,直接选择对应接口就会自动填写该接口对应的url地址到url输入框中,实现接口测试组件可配置接口的url地址、入参的赋值、返回值检验等功能。本实施例各操作组件与各自对应的form表一一对应关联,使得各操作组件的排序与各自对应的form表在配置页面上的排序一致,随意拖动操作组件或form表中的任一个调整排列顺序后得到的效果相同,方便变更执行顺序,使得测试案例的配置更加灵活。
核验单元,用于根据所述第一指定节点的配置过程完成各所述测试操作阶段分别对应的所述节点,并核验各所述节点,是否均已按照各自对应的测试要求配置完毕。
本实施例的通过调用预设的检测规则,自动判断各节点对应的每个操作组件的配置框是否已填充信息,并通过识别填充信息的赋值种类,调用对应的校验工具判断赋值是否符合要求,比如赋值的字符串组成格式是否正确,则调用对应的正则表达式进行校验。
发出单元,用于若均已按照各自对应的测试要求配置完毕,则发出各所述节点已配置完毕的提醒信息。
本实施例通过监测各配置框均已填充信息,且各校验工具返回的各填充信息对应的赋值种类均为正确无异常,则判定均已按照各自对应的测试要求配置完毕,通过发出提醒信息提醒测试人员准备完毕,以解放测试人员的人力资源,提高测试效率。本实施例的提醒信息包括预设的提醒警示响铃声或预设的语音播报文件。
进一步地,所述第一form表包括多个预设配置框,配置模块3,包括:
第一检测单元,用于检测各所述预设配置框分别对应的赋值参数栏,是否填写了字段信息。
本实施例的配置框的填充内容为字段信息,便于自动校验。通过检测赋值参数栏是否有内容填充判断配置填写状态,空白无填充为未配置状态。
调用单元,用于若填写了字段信息,则调用各所述赋值参数栏分别对应的校验程序,对各所述赋值参数栏分别对应的字段信息进行校验。
本实施例对字段信息的校验通过不同表达格式的正则表达式实现,可自动校验字段信息的字符串组成格式、字符串排布顺序等。
警报单元,用于若校验不通过,则发出异常警报并反馈异常原因。
本实施例在校验不通过的时候,会触发异常警报,以便提醒测试人员及时查看异常状况,并根据反馈的异常原因,及时解决异常现象,保证配置过程的顺利进行,节约测试人员的人工校验工作量,提高测试的自动化程度。
进一步地,本申请再一实施例的配置模块3,包括:
搜寻单元,用于搜寻是否存在第一预设节点,其中所述第一预设节点为存储于指定数据库的已配置好的节点,所述第一预设节点与第二指定测试操作阶段对应的第二指定节点的相似度达到预设值,所述第二指定节点为还未进行配置的节点。
本实施例配置好的节点,可以对其进行复制,然后在其他测试案例开发或者同一测试案例开发时,通过粘贴该复制的节点,降低对节点配置的工作量,提高配置效率。本实施通过判断节点的相似度,达到相似度要求的再执行复制粘贴过程,以提高通过复制粘贴节省配置时间的效果,比如,相似度的预设值为80%以上。上述相似度的预设值通过比较节点内包括的各操作组件得到,比如所包含的各操作组件90%相同,则判定相似度达到90%,可通过微调实现对新节点的配置,符合复制粘贴的操作意义。
复制单元,用于若存在第一预设节点,则复制所述第一预设节点,并粘贴覆盖于所述第二指定节点所在位置,以替代所述第二指定节点。
本实施例的第一预设节点为已存在的配置好的节点,第二指定节点为未配置的节点,通过将第一预设节点复制粘贴于第二指定节点所在位置,以代替第二指定节点,降低对第二指定节点的配置时间。本实施例的第二指定节点所在位置,指第二指定节点所处于的排序位置。
调整单元,用于调整所述第一预设节点的指定配置项,使调整后的第一预设节点完全符合第二指定测试操作阶段对应的测试要求。
本实施例指定配置项包括与第二指定测试操作阶段对应的测试要求所对应的所有配置项相比,上述指定配置项包括多余的、缺少的、存在差异的配置项等,上述配置项包括操作组件以及操作组件的排布顺序,通过删除多余的配置项、添加缺少的配置项、调整存在差异的配置项,使调整后的第一预设节点,完全符合第二指定测试操作阶段对应的测试要求。
进一步地,本申请又一实施例的配置模块3,还包括:
第二判断单元,用于判断是否存在第二预设节点,其中所述第二预设节点为存储于指定数据库的已配置好的节点,所述第二预设节点与第三指定测试操作阶段对应的第三指定节点相同,所述第三指定节点为还未进行配置的节点。
本实施例的与第三指定节点相同的第二预设节点,包括上述两个节点中包括的操作组件种类、操作组件数量、操作组件的编排逻辑顺序均相同。
调用单元,用于若存在第二预设节点,则调用所述第二预设节点对应的web接口服务的链接地址,以在调用所述第三指定节点时,通过所述链接地址调用所述第二预设节点。
本实施例对于完全相同的节点,可通过调用的方式直接参与到另一指定测试操作阶段需要改节点的步骤中,使得之前配置的节点可重复利用,大大节省测试案例开发时间,调高测试开发效率。
进一步地,本申请又一实施例的配置模块3,还包括:
第二检测单元,用于检测所述第二预设节点对应的各操作组件的form表,是否已按预设顺序完成配置。
本实施例的完成配置包括,各操作组件的form表对应的各配置框均处于已配置状态,且处于已配置状态的填充信息符合预设要求,以及各操作组件的排布顺序符合要求。
启动单元,用于若已按预设顺序完成配置,则启动转换成接口服务的操作,将所述第二预设节点按照预设转换逻辑,转换成java代码。
本实施例通过将开发好的节点,转换成一个接口服务,以方便后续用到相同的节点时直接调用。节点里的各个操作组件都配置好后,在配置页面中,显示的是一个个按顺序配置好的操作组件的form表,点击转换成接口服务按钮,会把整个配置好的节点的所有form表提交到后台进行转换,将其转换为一段符合测试案例逻辑的java代码,按照特定的关键字约定,相当于进行了一次行为驱动自动化开发的过程,实现了由前端配置页面到后台java代码的转化,通过转换成java代码,实现操作组件自动转换为后台代码并自动打包的过程,可实现节点数据的封装与固定,便于整体调用。
部署单元,用于将所述java代码写入预设web框架中,通过执行自动部署流程,将携带所述java代码的预设web框架部署到服务器上,以生成所述web接口服务。
本实施例配置好的节点的所有form表转化为java代码后,会将这些代码写入一个web框架中,然后通过执行自动部署的流程,将携带所述java代码的web框架部署到服务器上,从而生成一个web接口服务。当其他测试案例或者节点中,需要用到已经服务化的这个节点的功能时,只要间接地调用被服务化对应的接口地址,就可以代替一个相同节点的开发过程。
进一步地,分别对各所述第一操作组件标识识别ID号,以便区分各所述第一操作组件,本申请又一实施例的配置模块3,还包括:
第三判断单元,用于判断各所述第一操作组件分别对应的识别ID号的排列顺序,是否符合所述第一操作要求对应的预设顺序,其中,所述识别ID号的排列顺序与各所述第一组件的排列顺序一致。
本实施例通过对各第一操作组件标识识别ID号,以便区分各第一操作组件,更方便核验逻辑排列顺序,尤其对于操作组件之间存在嵌套逻辑排列的情况。比如While循环控制组件中可以内嵌入其他组件,包括接口测试组件、数据库操作组件、代码块组件、内置函数组件,if逻辑控制组件、break跳出循环组件,甚至可以再嵌入一个while循环控制组件。这些在前端开发中具体实现是一个form表再嵌入其他form表,这些form表都响应特定的事件。在后台,当前端form表的事件提交过来,后台会判断是哪个操作组件、操作组件的执行顺序,然后接收前端配置页面传过来的配置参数,进行相应处理。
触发单元,用于若识别ID号的排列顺序不符合所述第一操作要求对应的预设顺序,则通过触发移动事件调整各所述第一组件的排列顺序,使调整后的各所述第一组件分别对应的识别ID号的排列顺序与所述预设顺序一致,其中,所述触发移动事件包括触发向上事件和触发向下事件,所述触发向上事件指将待移动操作组件对应的form表向排序靠前的方向移动一个位置,所述触发向下事件指将待移动操作组件对应的form表向排序靠后的方向移动一个位置。
本实施例提供了向上事件和向下事件的两个响应,通过多次触发这两个事件,即可实现操作组件的顺序的随意改变,使测试案例的配置过程更加灵活。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于测试案例的测试过程需要的所有数据。该计算机设备的网络接口用于与外部的端通过网络连接通信。该计算机程序被处理器执行时以实现测试案例的测试方法。
上述处理器执行上述测试案例的测试方法,包括:获取测试案例对应的测试流程,其中所述测试流程由多个测试操作阶段组成;根据所述测试操作阶段将所述测试案例划分成多个节点,其中所述测试案例包括一个或多个依次排列的测试场景,每个所述测试场景对应的测试过程为一个所述测试操作阶段,所述节点与所述测试操作阶段一一对应;根据各所述测试操作阶段的测试要求,分别配置各所述节点,其中所述测试要求中携带配置所述节点所需要的操作组件的类别信息和参数信息,各所述节点根据与其对应的操作组件的类别信息和参数信息,进行单独配置;按照所述测试流程依次执行配置好的各所述节点,以测试所述测试案例。
上述计算机设备,通过将系统测试对应的测试案例的测试流程划分为由多个独立节点,每个节点可进行自动化测试,且根据测试流程中多个独立节点的排列顺序,通过依次调用每个节点,实现系统测试的完全自动化,每个节点包括多个已完成代码编写的操作组件,且每个操作组件均可单独配置,且配置界面为可视化界面,方便维护与配置操作,以便于测试管理,且自动化测试过程中只需按功能选择不同的操作组件即可实现自动化测试,降低自动化测试门槛,各个节点的配置相互独立,方便系统开发过程中对某个测试案例进行随时调整,只需调整对应节点的配置方案即可实现,满足敏捷开发的快速迭代需求。且在各节点配置完毕后,在执行测试案例时,会按节点分块地把执行日志打印出来,执行日志记载每个节点中每个操作组件的执行数据,使测试案例的执行过程更加清晰,当测试案例执行失败时,哪个位置出现了异常则会很快定位到,方便测试追踪,提高测试效率。配置好的节点,可以对其进行复制,然后在其他测试案例开发或者同一测试案例开发时,通过粘贴该复制的节点,降低对节点配置的工作量,提高配置效率。完全相同的节点,可通过调用的方式直接参与到另一指定测试操作阶段需要改节点的步骤中,使得之前配置的节点可重复利用,大大节省测试案例开发时间,调高测试开发效率。提供了向上事件和向下事件的两个响应,通过多次触发这两个事件,即可实现操作组件的顺序的随意改变,使测试案例的配置过程更加灵活。
在一个实施例中,节点包括一个或多个操作步骤,以及与各所述操作步骤分别对应的操作组件,上述处理器根据各所述测试操作阶段的测试要求,分别配置各所述节点的步骤,包括:判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面;若进入所述第一指定测试操作阶段对应的第一指定节点的配置页面,则根据所述第一指定节点对应的第一操作步骤对应的第一操作要求,配置与所述第一操作要求相对应的第一组件,其中所述第一组件包括接口测试配置组件、数据库操作组件、代码块组件、if逻辑控制组件、While循环控制组件、内置函数组件中的至少一个;打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数,以完成对所述第一指定测试操作阶段对应的第一指定节点的配置;根据所述第一指定节点的配置过程完成各所述测试操作阶段分别对应的所述节点,并核验各所述节点,是否均已按照各自对应的测试要求配置完毕;若均已按照各自对应的测试要求配置完毕,则发出各所述节点已配置完毕的提醒信息。
在一个实施例中,所述第一form表包括多个预设配置框,上述处理器打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数的步骤之后,包括:检测各所述预设配置框分别对应的赋值参数栏,是否填写了字段信息;若填写了字段信息,则调用各所述赋值参数栏分别对应的校验程序,对各所述赋值参数栏分别对应的字段信息进行校验;若校验不通过,则发出异常警报并反馈异常原因。
在一个实施例中,上述处理器判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面的步骤之前,包括:搜寻是否存在第一预设节点,其中所述第一预设节点为存储于指定数据库的已配置好的节点,所述第一预设节点与第二指定测试操作阶段对应的第二指定节点的相似度达到预设值,所述第二指定节点为还未进行配置的节点;若存在,则复制所述第一预设节点,并粘贴覆盖于所述第二指定节点所在位置,以替代所述第二指定节点;调整所述第一预设节点的指定配置项,使调整后的第一预设节点完全符合第二指定测试操作阶段对应的测试要求。
在一个实施例中,上述处理器判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面的步骤之前,还包括:判断是否存在第二预设节点,其中所述第二预设节点为存储于指定数据库的已配置好的节点,所述第二预设节点与第三指定测试操作阶段对应的第三指定节点相同,所述第三指定节点为还未进行配置的节点;若存在,则调用所述第二预设节点对应的web接口服务的链接地址,以在调用所述第三指定节点时,通过所述链接地址调用所述第二预设节点。
在一个实施例中,上述处理器调用所述第二预设节点对应的web接口服务的链接地址的步骤之前,包括:检测所述第二预设节点对应的各操作组件的form表,是否已按预设顺序完成配置;若是,则启动转换成接口服务的操作,将所述第二预设节点按照预设转换逻辑,转换成java代码;将所述java代码写入预设web框架中,通过执行自动部署流程,将携带所述java代码的预设web框架部署到服务器上,以生成所述web接口服务。
在一个实施例中,分别对各所述第一组件标识识别ID号,以便区分各所述第一组件,上述处理器打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数的步骤之后,包括:判断各所述第一组件分别对应的识别ID号的排列顺序,是否符合所述第一操作要求对应的预设顺序,其中,所述识别ID号的排列顺序与各所述第一组件的排列顺序一致;若不符合,则通过触发移动事件调整各所述第一组件的排列顺序,使调整后的各所述第一组件分别对应的识别ID号的排列顺序与所述预设顺序一致,其中,所述触发移动事件包括触发向上事件和触发向下事件,所述触发向上事件指将待移动操作组件对应的form表单向排序靠前的方向移动一个位置,所述触发向下事件指将待移动操作组件对应的form表单向排序靠后的方向移动一个位置。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现测试案例的测试方法,包括:获取测试案例对应的测试流程,其中所述测试流程由多个测试操作阶段组成;根据所述测试操作阶段将所述测试案例划分成多个节点,其中所述测试案例包括一个或多个依次排列的测试场景,每个所述测试场景对应的测试过程为一个所述测试操作阶段,所述节点与所述测试操作阶段一一对应;根据各所述测试操作阶段的测试要求,分别配置各所述节点,其中所述测试要求中携带配置所述节点所需要的操作组件的类别信息和参数信息,各所述节点根据与其对应的操作组件的类别信息和参数信息,进行单独配置;按照所述测试流程依次执行配置好的各所述节点,以测试所述测试案例。
上述计算机可读存储介质,通过将系统测试对应的测试案例的测试流程划分为由多个独立节点,每个节点可进行自动化测试,且根据测试流程中多个独立节点的排列顺序,通过依次调用每个节点,实现系统测试的完全自动化,每个节点包括多个已完成代码编写的操作组件,且每个操作组件均可单独配置,且配置界面为可视化界面,方便维护与配置操作,以便于测试管理,且自动化测试过程中只需按功能选择不同的操作组件即可实现自动化测试,降低自动化测试门槛,各个节点的配置相互独立,方便系统开发过程中对某个测试案例进行随时调整,只需调整对应节点的配置方案即可实现,满足敏捷开发的快速迭代需求。且在各节点配置完毕后,在执行测试案例时,会按节点分块地把执行日志打印出来,执行日志记载每个节点中每个操作组件的执行数据,使测试案例的执行过程更加清晰,当测试案例执行失败时,哪个位置出现了异常则会很快定位到,方便测试追踪,提高测试效率。配置好的节点,可以对其进行复制,然后在其他测试案例开发或者同一测试案例开发时,通过粘贴该复制的节点,降低对节点配置的工作量,提高配置效率。完全相同的节点,可通过调用的方式直接参与到另一指定测试操作阶段需要改节点的步骤中,使得之前配置的节点可重复利用,大大节省测试案例开发时间,调高测试开发效率。提供了向上事件和向下事件的两个响应,通过多次触发这两个事件,即可实现操作组件的顺序的随意改变,使测试案例的配置过程更加灵活。
在一个实施例中,节点包括一个或多个操作步骤,以及与各所述操作步骤分别对应的操作组件,上述处理器根据各所述测试操作阶段的测试要求,分别配置各所述节点的步骤,包括:判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面;若进入所述第一指定测试操作阶段对应的第一指定节点的配置页面,则根据所述第一指定节点对应的第一操作步骤对应的第一操作要求,配置与所述第一操作要求相对应的第一组件,其中所述第一组件包括接口测试配置组件、数据库操作组件、代码块组件、if逻辑控制组件、While循环控制组件、内置函数组件中的至少一个;打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数,以完成对所述第一指定测试操作阶段对应的第一指定节点的配置;根据所述第一指定节点的配置过程完成各所述测试操作阶段分别对应的所述节点,并核验各所述节点,是否均已按照各自对应的测试要求配置完毕;若均已按照各自对应的测试要求配置完毕,则发出各所述节点已配置完毕的提醒信息。
在一个实施例中,所述第一form表包括多个预设配置框,上述处理器打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数的步骤之后,包括:检测各所述预设配置框分别对应的赋值参数栏,是否填写了字段信息;若填写了字段信息,则调用各所述赋值参数栏分别对应的校验程序,对各所述赋值参数栏分别对应的字段信息进行校验;若校验不通过,则发出异常警报并反馈异常原因。
在一个实施例中,上述处理器判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面的步骤之前,包括:搜寻是否存在第一预设节点,其中所述第一预设节点为存储于指定数据库的已配置好的节点,所述第一预设节点与第二指定测试操作阶段对应的第二指定节点的相似度达到预设值,所述第二指定节点为还未进行配置的节点;若存在,则复制所述第一预设节点,并粘贴覆盖于所述第二指定节点所在位置,以替代所述第二指定节点;调整所述第一预设节点的指定配置项,使调整后的第一预设节点完全符合第二指定测试操作阶段对应的测试要求。
在一个实施例中,上述处理器判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面的步骤之前,还包括:判断是否存在第二预设节点,其中所述第二预设节点为存储于指定数据库的已配置好的节点,所述第二预设节点与第三指定测试操作阶段对应的第三指定节点相同,所述第三指定节点为还未进行配置的节点;若存在,则调用所述第二预设节点对应的web接口服务的链接地址,以在调用所述第三指定节点时,通过所述链接地址调用所述第二预设节点。
在一个实施例中,上述处理器调用所述第二预设节点对应的web接口服务的链接地址的步骤之前,包括:检测所述第二预设节点对应的各操作组件的form表,是否已按预设顺序完成配置;若是,则启动转换成接口服务的操作,将所述第二预设节点按照预设转换逻辑,转换成java代码;将所述java代码写入预设web框架中,通过执行自动部署流程,将携带所述java代码的预设web框架部署到服务器上,以生成所述web接口服务。
在一个实施例中,分别对各所述第一组件标识识别ID号,以便区分各所述第一组件,上述处理器打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数的步骤之后,包括:判断各所述第一组件分别对应的识别ID号的排列顺序,是否符合所述第一操作要求对应的预设顺序,其中,所述识别ID号的排列顺序与各所述第一组件的排列顺序一致;若不符合,则通过触发移动事件调整各所述第一组件的排列顺序,使调整后的各所述第一组件分别对应的识别ID号的排列顺序与所述预设顺序一致,其中,所述触发移动事件包括触发向上事件和触发向下事件,所述触发向上事件指将待移动操作组件对应的form表单向排序靠前的方向移动一个位置,所述触发向下事件指将待移动操作组件对应的form表单向排序靠后的方向移动一个位置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (8)

1.一种测试案例的测试方法,其特征在于,包括:
获取测试案例对应的测试流程,其中所述测试流程由多个测试操作阶段组成;
根据所述测试操作阶段将所述测试案例划分成多个节点,其中所述测试案例包括一个或多个依次排列的测试场景,每个所述测试场景对应的测试过程为一个所述测试操作阶段,所述节点与所述测试操作阶段一一对应;
根据各所述测试操作阶段的测试要求,分别配置各所述节点,其中所述测试要求中携带配置所述节点所需要的操作组件的类别信息和参数信息,各所述节点根据与其对应的操作组件的类别信息和参数信息,进行单独配置;
按照所述测试流程依次执行配置好的各所述节点,以测试所述测试案例;
所述节点包括一个或多个操作步骤,以及与各所述操作步骤分别对应的操作组件,所述根据各所述测试操作阶段的测试要求,分别配置各所述节点的步骤,包括:
判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面;
若进入所述第一指定测试操作阶段对应的第一指定节点的配置页面,则根据所述第一指定节点对应的第一操作步骤对应的第一操作要求,配置与所述第一操作要求相对应的第一组件,其中所述第一组件包括接口测试配置组件、数据库操作组件、代码块组件、if逻辑控制组件、While循环控制组件、内置函数组件中的至少一个;
打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数,以完成对所述第一指定测试操作阶段对应的第一指定节点的配置;
根据所述第一指定节点的配置过程完成各所述测试操作阶段分别对应的所述节点,并核验各所述节点,是否均已按照各自对应的测试要求配置完毕;
若均已按照各自对应的测试要求配置完毕,则发出各所述节点已配置完毕的提醒信息;
分别对各所述第一组件标识识别ID号,以便区分各所述第一组件,所述打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数的步骤之后,包括:
判断各所述第一组件分别对应的识别ID号的排列顺序,是否符合所述第一操作要求对应的预设顺序,其中,所述识别ID号的排列顺序与各所述第一组件的排列顺序一致;
若不符合,则通过触发移动事件调整各所述第一组件的排列顺序,使调整后的各所述第一组件分别对应的识别ID号的排列顺序与所述预设顺序一致,其中,所述触发移动事件包括触发向上事件和触发向下事件,所述触发向上事件指将待移动操作组件对应的form表单向排序靠前的方向移动一个位置,所述触发向下事件指将待移动操作组件对应的form表单向排序靠后的方向移动一个位置。
2.根据权利要求1所述的测试案例的测试方法,其特征在于,所述第一form表包括多个预设配置框,所述打开各所述第一组件分别对应的第一form表,以对应接收所述第一组件的配置参数的步骤之后,包括:
检测各所述预设配置框分别对应的赋值参数栏,是否填写了字段信息;
若填写了字段信息,则调用各所述赋值参数栏分别对应的校验程序,对各所述赋值参数栏分别对应的字段信息进行校验;
若校验不通过,则发出异常警报并反馈异常原因。
3.根据权利要求1所述的测试案例的测试方法,其特征在于,所述判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面的步骤之前,包括:
搜寻是否存在第一预设节点,其中所述第一预设节点为存储于指定数据库的已配置好的节点,所述第一预设节点与第二指定测试操作阶段对应的第二指定节点的相似度达到预设值,所述第二指定节点为还未进行配置的节点;
若存在,则复制所述第一预设节点,并粘贴覆盖于所述第二指定节点所在位置,以替代所述第二指定节点;
调整所述第一预设节点的指定配置项,使调整后的第一预设节点完全符合第二指定测试操作阶段对应的测试要求。
4.根据权利要求1所述的测试案例的测试方法,其特征在于,所述判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面的步骤之前,还包括:
判断是否存在第二预设节点,其中所述第二预设节点为存储于指定数据库的已配置好的节点,所述第二预设节点与第三指定测试操作阶段对应的第三指定节点相同,所述第三指定节点为还未进行配置的节点;
若存在,则调用所述第二预设节点对应的web 接口服务的链接地址,以在调用所述第三指定节点时,通过所述链接地址调用所述第二预设节点。
5.根据权利要求4所述的测试案例的测试方法,其特征在于,所述调用所述第二预设节点对应的web 接口服务的链接地址的步骤之前,包括:
检测所述第二预设节点对应的各操作组件的form表,是否已按预设顺序完成配置;
若是,则启动转换成接口服务的操作,将所述第二预设节点按照预设转换逻辑,转换成java代码;
将所述java代码写入预设web框架中,通过执行自动部署流程,将携带所述java代码的预设web框架部署到服务器上,以生成所述web 接口服务。
6.一种测试案例的测试装置,其特征在于,包括:
获取模块,用于获取测试案例对应的测试流程,其中所述测试流程由多个测试操作阶段组成;
划分模块,用于根据所述测试操作阶段将所述测试案例划分成多个节点,其中所述测试案例包括一个或多个依次排列的测试场景,每个所述测试场景对应的测试过程为一个所述测试操作阶段,所述节点与所述测试操作阶段一一对应;
配置模块,用于根据各所述测试操作阶段的测试要求,分别配置各所述节点,其中所述测试要求中携带配置所述节点所需要的操作组件的类别信息和参数信息,各所述节点根据与其对应的操作组件的类别信息和参数信息,进行单独配置;
执行模块,用于按照所述测试流程依次执行配置好的各所述节点,以测试所述测试案例;
第一判断单元,用于判断是否进入第一指定测试操作阶段对应的第一指定节点的配置页面;
配置单元,用于若进入第一指定测试操作阶段对应的第一指定节点的配置页面,则根据所述第一指定节点对应的第一操作步骤对应的操作要求,配置与所述第一操作步骤相对应的第一操作组件;
打开单元,用于打开各所述第一操作组件分别对应的第一form表,以对应接收所述第一操作组件的配置参数,以完成对所述第一指定测试操作阶段对应的第一指定节点的配置;
核验单元,用于根据所述第一指定节点的配置过程完成各所述测试操作阶段分别对应的所述节点,并核验各所述节点,是否均已按照各自对应的测试要求配置完毕;
发出单元,用于若均已按照各自对应的测试要求配置完毕,则发出各所述节点已配置完毕的提醒信息;
第三判断单元,用于判断各所述第一操作组件分别对应的识别ID号的排列顺序,是否符合所述第一操作要求对应的预设顺序,其中,所述识别ID号的排列顺序与各第一组件的排列顺序一致;
触发单元,用于若识别ID号的排列顺序不符合所述第一操作要求对应的预设顺序,则通过触发移动事件调整各所述第一组件的排列顺序,使调整后的各所述第一组件分别对应的识别ID号的排列顺序与所述预设顺序一致,其中,所述触发移动事件包括触发向上事件和触发向下事件,所述触发向上事件指将待移动操作组件对应的form表向排序靠前的方向移动一个位置,所述触发向下事件指将待移动操作组件对应的form表向排序靠后的方向移动一个位置。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN201811259640.9A 2018-10-26 2018-10-26 测试案例的测试方法、装置、计算机设备及存储介质 Active CN109582563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811259640.9A CN109582563B (zh) 2018-10-26 2018-10-26 测试案例的测试方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811259640.9A CN109582563B (zh) 2018-10-26 2018-10-26 测试案例的测试方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN109582563A CN109582563A (zh) 2019-04-05
CN109582563B true CN109582563B (zh) 2024-04-05

Family

ID=65920927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811259640.9A Active CN109582563B (zh) 2018-10-26 2018-10-26 测试案例的测试方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN109582563B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119819A (zh) * 2019-05-06 2019-08-13 北京长城华冠汽车科技股份有限公司 一种数据预定处理方法、装置及其存储介质
CN110347590A (zh) * 2019-06-18 2019-10-18 平安普惠企业管理有限公司 业务系统的接口测试控制方法及装置
CN110347593B (zh) * 2019-06-26 2020-07-24 贝壳找房(北京)科技有限公司 流程测试方法及装置
CN112463578B (zh) * 2019-09-09 2022-04-22 南华大学 一种基于组件合约的逐级求解的系统测试用例生成方法
CN111240756B (zh) * 2019-12-31 2023-05-16 西安翔腾微电子科技有限公司 一种图形功能的处理模式可配置的应用程序的执行方法
CN111352844B (zh) * 2020-03-04 2021-08-17 腾讯科技(深圳)有限公司 一种测试方法和相关装置
CN111581076A (zh) * 2020-03-30 2020-08-25 平安科技(深圳)有限公司 系统代码的测试方法、装置、计算机设备和存储介质
CN112597003A (zh) * 2020-12-11 2021-04-02 平安普惠企业管理有限公司 自动化测试方法、装置和计算机设备
CN112612713A (zh) * 2020-12-30 2021-04-06 语联网(武汉)信息技术有限公司 dubbo服务测试方法、系统、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001077883A1 (en) * 2000-04-06 2001-10-18 Netseek Pty Ltd System and method for creating and searching web sites
CN106528424A (zh) * 2015-12-16 2017-03-22 中国民生银行股份有限公司 基于后台系统服务或接口的测试方法和测试平台
CN107861870A (zh) * 2017-11-02 2018-03-30 平安科技(深圳)有限公司 接口测试及测试数据生成方法、装置、终端和存储介质
CN108399130A (zh) * 2018-02-28 2018-08-14 平安科技(深圳)有限公司 自动生成测试案例的方法、装置、设备及可读存储介质
US10073763B1 (en) * 2017-12-27 2018-09-11 Accenture Global Solutions Limited Touchless testing platform
CN108614770A (zh) * 2018-04-09 2018-10-02 中国工商银行股份有限公司 自动化测试断言方法、装置、存储介质及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372626B2 (en) * 2014-06-12 2016-06-21 Lenovo Enterprise Solutions (Singapore) Pte. Ltg. Parallel storage system testing wherein I/O test pattern identifies one or more set of jobs to be executed concurrently
US10565095B2 (en) * 2016-12-15 2020-02-18 Syntel, Inc. Hybrid testing automation engine

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001077883A1 (en) * 2000-04-06 2001-10-18 Netseek Pty Ltd System and method for creating and searching web sites
CN106528424A (zh) * 2015-12-16 2017-03-22 中国民生银行股份有限公司 基于后台系统服务或接口的测试方法和测试平台
CN107861870A (zh) * 2017-11-02 2018-03-30 平安科技(深圳)有限公司 接口测试及测试数据生成方法、装置、终端和存储介质
US10073763B1 (en) * 2017-12-27 2018-09-11 Accenture Global Solutions Limited Touchless testing platform
CN108399130A (zh) * 2018-02-28 2018-08-14 平安科技(深圳)有限公司 自动生成测试案例的方法、装置、设备及可读存储介质
CN108614770A (zh) * 2018-04-09 2018-10-02 中国工商银行股份有限公司 自动化测试断言方法、装置、存储介质及设备

Also Published As

Publication number Publication date
CN109582563A (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
CN109582563B (zh) 测试案例的测试方法、装置、计算机设备及存储介质
CN108108297B (zh) 自动化测试的方法和装置
US10618137B2 (en) Automated constructing method of cloud manufacturing service and cloud manufacturing system
CN110399293B (zh) 系统测试方法、装置、计算机设备和存储介质
CN107908541B (zh) 接口测试方法、装置、计算机设备及存储介质
CN107861870B (zh) 接口测试及测试数据生成方法、装置、终端和存储介质
CN108804618B (zh) 数据库配置方法、装置、计算机设备和存储介质
US8839107B2 (en) Context based script generation
CN109947646A (zh) 接口测试方法、装置、计算机设备和存储介质
CN105095059B (zh) 一种自动化测试的方法和装置
CN109783388B (zh) Ui自动化测试方法、装置及电子设备
CN104268241B (zh) 一种配置数据库中属性显示方法
US11138097B2 (en) Automated web testing framework for generating and maintaining test scripts
WO2016200889A1 (en) System, method, and device for remotely operating a server
CN112597014B (zh) 基于数据驱动的自动化测试方法、装置、介质及电子设备
US10459830B2 (en) Executable code abnormality detection
CN110750415B (zh) 接口服务配置方法、装置、介质和计算机设备
CN113515453B (zh) 网页测试系统
CN111258914A (zh) 自动化用例测试的弹窗处理方法、装置、设备及存储介质
CN110888818A (zh) 测试用例配置系统与方法,自动化测试系统与方法
CN113051155A (zh) 一种自动化测试平台的控制系统和控制方法
CN114218097A (zh) 测试用例生成方法、装置、计算机设备和存储介质
CN112463588A (zh) 一种自动化测试系统及方法、存储介质、计算设备
CN113254331A (zh) 模型测试方法、设备、存储介质及程序产品
CN110245077A (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