CN110032515A - 一种界面测试案例生成方法、装置及存储介质 - Google Patents
一种界面测试案例生成方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110032515A CN110032515A CN201910292842.1A CN201910292842A CN110032515A CN 110032515 A CN110032515 A CN 110032515A CN 201910292842 A CN201910292842 A CN 201910292842A CN 110032515 A CN110032515 A CN 110032515A
- Authority
- CN
- China
- Prior art keywords
- control
- value
- combination
- rule
- service logic
- 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.)
- Granted
Links
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/3684—Test 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
技术领域
本申请涉及计算机测试领域,特别涉及一种界面测试案例生成方法、装置及存储介质。
背景技术
在软件系统开发过程中,为了验证系统的稳定性和功能性,通常需要对开发的软件进行系统功能测试。系统功能测试过程一项非常重要的工作就是生成功能测试案例,其中在功能测试案例中占比最高的是界面测试案例。生成界面测试案例的过程是繁琐的且容易出错的。银行类系统的界面测试案例与其他行业界面测试案例的不同点在于,往往带有一定的产品功能含义,因此银行系统的界面测试案例的生成是银行系统开发的关键。
现有技术中,主要依赖测试人员通过对系统测试界面的分析,根据实际经验编写界面测试案例。但是,在实际编写界面测试案例的过程中,经验不足的测试人员并不能全面地考虑到测试界面中每个栏位的所有取值,或者,每个栏位的取值存在冗余项,导致测试界面栏位的取值没有一个统一的规范,从而影响了生成界面测试案例的质量。
由上可见,现有的生成界面测试案例的质量较低。
发明内容
本说明书实施方式的目的是提供一种界面测试案例生成方法、装置及存储介质,以提高生成界面测试案例的质量。
为实现上述目的,本说明书实施例提供了一种界面测试案例生成方法,可以包括:
获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则;其中,所述业务逻辑校验规则包括所述测试界面中各控件之间的业务逻辑关系和匹配关系;所述取值规则根据所述控件的属性确定;
根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值;
根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果;
对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。
进一步地,所述方法的另一些实施例中,所述获取测试界面中各控件的取值规则,可以包括:
获取测试界面的XML文件;
对所述XML文件进行解析,得到所述测试界面中各控件和所述控件的属性;
根据所述属性,确定各控件的取值规则。
进一步地,所述方法的另一些实施例中,所述根据所述属性,确定各控件的取值规则,至少可以包括以下任意一种或多种:
如果控件的属性为输入满足指定字符长度或长度范围的值,则根据所述指定字符长度或长度范围中的指定字符长度,确定所述控件的输入值为小于、等于以及大于所述指定字符长度各一个;
如果控件的属性为输入满足指定数值或数值范围的值,则根据所述指定数值或数值范围中的指定数值,确定所述控件的输入值为小于、等于以及大于所述指定数值各一个;
如果控件的属性为输入满足指定字符要求的值,则确定所述控件的输入值为满足所述指定字符要求以及未满足所述指定字符要求各一个;
如果控件的属性为输入满足指定小数位数或位数范围的值,则根据所述指定小数位数或位数范围中的指定小数位数,确定所述控件的输入值为小于、等于以及大于所述指定小数位数各一个;
如果控件的属性为选择指定个数的指定数据,则确定所述控件的输入值为空值以及指定个数的指定数据各一个。
进一步地,所述方法的另一些实施例中,所述根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果,可以包括:
获取预设的待测试控件以及与所述待测试控件对应的各取值的预期结果;
根据所述待测试控件的业务逻辑校验规则,确定所述控件之间的逻辑关系;
根据所述逻辑关系,对控件的取值进行排列组合,生成不同的控件组合;
根据所述控件组合中各取值的预期结果,确定所述控件组合的预期结果。
进一步地,所述方法的另一些实施例中,所述测试方式至少可以包括以下任意一种或多种:前提条件、输入数据。
另一方面,本说明书实施例提供了一种界面测试案例生成装置,可以包括:
获取模块,可以用于获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则;其中,所述业务逻辑校验规则包括所述测试界面中各控件之间的业务逻辑关系和匹配关系;所述取值规则根据所述控件的属性确定;
确定模块,可以用于根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值;
排列组合模块,可以用于根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果;
生成模块,可以用于对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。
进一步地,所述装置的另一些实施例中,所述获取模块,可以包括:
获取单元,可以用于获取测试界面的XML文件;
解析单元,可以用于对所述XML文件进行解析,得到所述测试界面中各控件和所述控件的属性;
确定单元,可以用于根据所述属性,确定各控件的取值规则。
进一步地,所述装置的另一些实施例中,所述排列组合模块,可以包括:
获取单元,可以用于获取预设的待测试控件以及与所述待测试控件对应的各取值的预期结果;
第一确定单元,可以用于根据所述待测试控件的业务逻辑校验规则,确定所述控件之间的逻辑关系;
生成单元,可以用于根据所述逻辑关系,对控件的取值进行排列组合,生成不同的控件组合;
第二确定单元,可以用于根据所述控件组合中各取值的预期结果,确定所述控件组合的预期结果。
又一方面,本说明书实施例还提供了一种界面测试案例生成装置,可以包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时可以执行如下步骤:
获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则;其中,所述业务逻辑校验规则包括所述测试界面中各控件之间的业务逻辑关系和匹配关系;所述取值规则根据所述控件的属性确定;
根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值;
根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果;
对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。
又一方面,本说明书还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现:
获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则;其中,所述业务逻辑校验规则包括所述测试界面中各控件之间的业务逻辑关系和匹配关系;所述取值规则根据所述控件的属性确定;
根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值;
根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果;
对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。
本说明书实施例提供的一种界面测试案例生成方法、装置及存储介质,首先获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则,再根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值,又根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果,最后对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。该方法可以通过预设的各控件取值规则和业务逻辑校验规则,为确定测试界面中每个控件的输入值提供了一个统一的规范,有效地防止了输入值不全或存在冗余项等问题,从而提高了生成界面测试案例的质量。
附图说明
为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一些实施例提供的界面测试案例生成方法的方法流程示意图;
图2为本说明书一些实施例提供的界面测试案例生成装置的模块结构示意图;
图3为本说明书一些实施例提供的界面测试案例生成装置中获取模块的结构示意图;
图4为本说明书一些实施例提供的界面测试案例生成装置中排列组合模块的结构示意图;
图5为本说明书一些实施例提供的计算机存储介质的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。
现有技术中,主要依赖测试人员通过对系统测试界面的分析,根据现实经验编写界面测试案例。但是,在实际编写界面测试案例的过程中,经验不足的测试人员并不能全面地考虑到测试界面中每个栏位的所有取值,或者,每个栏位的取值存在冗余项,导致测试界面栏位的取值没有一个统一的规范,从而导致生成界面测试案例的质量低。为了解决上述问题,通过预设的各控件的取值规则和业务逻辑校验规则,确定测试界面中各控件的取值,再根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,最后对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例,从而提高了生成界面测试案例的质量。
图1是本说明书一些实施例提供的界面测试案例生成方法的方法流程示意图,本说明书一些实施例提供的界面测试案例生成方法可以包括:
S101:获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则,其中,所述业务逻辑校验规则包括所述测试界面中各控件之间的业务逻辑关系和匹配关系,所述取值规则根据所述控件的属性确定。
在本说明书的一些实施例中,所述获取测试界面中各控件的取值规则,可以通过所述测试界面中各控件的属性得到。所述测试界面中各控件的属性可以通过获取测试界面的XML文件,并对所述XML文件进行解析后得到。所述对所述XML文件进行解析,可以通过将所述XML文件,导入到解析工具中进行解析,提取出所述XML文件中封装的控件和所述控件的默认属性。其中,所述解析工具可以是XML解析器,也可以是其他具有相同功能的解析设备,例如:Java、Python、linux等,本申请对此不作限制。所述XML解析器可以是TinyXML,也可以是Pull、还可以是MSXML,本申请对此不作限制。所述控件的类型有很多种,例如:文本框、下拉框、单选框、复选框等,本申请对此不作限制。在银行产品的一些测试界面中,所述控件的名称可以账号、密码、金额、转账金额、性别、民族、人民币等,本申请对比不作限制。所述控件的属性有很多种,例如:是否必填,是否可编辑、有效位数、有效字符组成、最大值、最小值、有效小数位数等,本申请对此不作限制。在一些具体的实施方式中,同一控件类型的控件,可能对应着不同的控件,不同的控件可能对应不同的属性,例如:控件“账号”和“密码”,它们都属于文本框输入,但控件“账号”的默认属性是:有效位数为16位,由全数字组成,而控件“密码”的默认属性是:有效位数为6~12位,由数字、字母以及下划线组成。
在本说明书的一些实施例中,根据所述属性,确定各控件的取值规则,可以是如果控件的属性为输入满足指定字符长度或长度范围的值,则根据所述指定字符长度或长度范围中的指定字符长度,确定所述控件的输入值为小于、等于以及大于所述指定字符长度的各一个,以用于后续测试。例如:假设某文本框规定输入指定字符长度为10的值时,则可以取字符长度分别为9、10和11的输入值各一个,又例如:假设某文本框规定输入指定字符长度范围为6~20的值,则可以得到所述指定字符长度范围中的指定字符长度,即最小字符长度和最小字符长度分别为6和20,故可以取字符长度分别为5、6、7、19、20和21的输入值各一个。所述根据所述属性,确定各控件的取值规则,可以是如果控件的属性为输入满足指定数值或数值范围的值,则根据所述指定数值或数值范围中的指定数值,确定所述控件的输入值为小于、等于以及大于所述指定数值的各一个,例如:假设某文本框规定输入的最大值或最小值为100,则可以取输入值分别为99、100和101作为测试数据,又例如:假设某文本框规定输入值范围为1~100,则根据所述输入值范围,可以确定指定数值,即最小输入值和最大输入值分别为1和100,故可以取输入值分别为0、1、2、99、100和101作为测试数据。
在本说明书的一些实施例中,所述根据所述属性,确定各控件的取值规则,可以是如果控件的属性为输入满足指定字符要求的值,则确定所述控件的输入值为满足所述指定字符要求以及未满足所述指定字符要求各一个,例如:假设某文本框规定了输入全数字的字符,则可以取全数字字符和不完全数字字符的输入值各一个,用于后续测试。所述根据所述属性,确定各控件的取值规则,可以是如果控件的属性为输入满足指定小数位数或位数范围的值,则根据所述指定小数位数或位数范围中的指定小数位数,确定所述控件的输入值为小于、等于以及大于所述指定小数位数各一个,例如:假设某文本框规定了输入不超过或超过3位小数的值,则可以取小数位数为2、3、4的输入值各一个,用于后续测试,又例如:假设某文本框规定了输入1~8位小数的值,则根据该小数范围,确定指定小数位数,即最少小数位数和最大小数位数分别为1和8,故可以取小数位数分别为0、1、2、7、8、9的输入值各一个,用于后续测试。
在本说明书的一些实施例中,所述根据所述属性,确定各控件的取值规则,可以是如果控件的属性为选择指定个数的指定数据,则确定所述控件的输入值为空值以及指定个数的指定数据各一个,例如:假设某下拉框规定了从下拉选项A、B、C中任意选择一个,则可以取空值和下拉选项A作为该下拉框的测试输入值,也可以取空值和下拉选项B作为该下拉框的测试输入值,又可以取空值和下拉选项C作为该下拉框的测试输入值,本申请对此不作限制,又例如:假设某单选框规定了从指定选项A、B、C中任意选择一个,则可以取空值和指定选项A作为该单选框的测试输入值,也可以取空值和指定选项B作为该单选框的测试输入值,又可以取空值和指定选项C作为该单选框的测试输入值,本申请对此不作限制,又例如:假设某多选框规定了从指定选项A、B、C、D中任意选择多个,则可以取空值和指定选项A作为该多选框的测试输入值,也可以取空值和指定选项B作为该多选框的测试输入值,又可以取空值和指定选项C作为该多选框的测试输入值,又可以取空值和指定选项D作为该多选框的测试输入值,又可以取空值和指定选项AB作为该多选框的测试输入值,又可以取空值和指定选项ACD作为该多选框的测试输入值,又可以取空值和指定选项ABCD作为该多选框的测试输入值,本申请对此不做限制。
在本说明书的一些实施例中,所述测试界面对应的业务逻辑校验规则,可以包括所述测试界面中各控件之间的业务逻辑关系和匹配关系。所述业务逻辑关系可以包括处理所述测试界面中各控件的逻辑,例如:账户余额查询界面中,只有在账号和密码都验证正确的前提下,才能得到该账户下的余额,否则,不显示账户余额。所述匹配关系可以包括所述测试界面中各控件之间的匹配关系,例如:转账业务界面中,账号和密码是一一对应的关系,也就是说一个账号,对应一个唯一的密码。
S102:根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值。
在本说明书的一些实施例中,所述根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值,可以先根据测试界面中各控件的取值规则,确定各控件的取值个数,再根据所述业务逻辑校验规则,确定所述各控件的具体取值。例如:在账户余额交易界面上,有三个控件,分别对应账号、密码和金额,在得到每个控件的取值个数时,又因为账号和密码是一一对应的关系,在考虑具体的取值时,将一组匹配的账号和密码取值分别确定为账号和密码的一个测试输入值。此外,又因为只有当账号和密码的取值匹配时,才会显示正确的账户余额,否则账户余额为空值。再者,假设控件“金额”规定了最大值不超过20万元,并且根据取值规则确定了19、20、21万元作为测试输入值,但由于某个账户的余额只有10万元,因此,在取值时,还需将10万元作为测试输入值进行考虑。
S103:根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果。
在本说明书的一些实施例中,可以先获取预设的待测试控件以及与所述待测试控件对应的各取值的预期结果,再根据所述待测试控件的业务逻辑校验规则,确定所述控件之间的逻辑关系,又根据所述逻辑关系,对控件的取值进行排列组合,生成不同的控件组合,最后根据所述控件组合中各取值的预期结果,确定所述控件组合的预期结果。如表1所示,是银行存款界面的控件取值,该银行存款界面中共有三个栏位,一个栏位对应一个控件,分别为:控件“账号”、控件“币种”,以及控件“存款金额”,其中,控件“账号”对应一个文本框,控件“币种”对应一个下拉框,控件“存款金额”对应一个文本框。其中,控件“账号”的取值分别为6217000100020003、621700010002000A、621700010002000和62170001000200000,它们的输出状态,也就是预期结果,分别为正确、错误、错误和错误。控件“币种”的取值分别为人民币和空值,它们的输出状态,也就是预期结果,分别为:正确和错误。控件“存款金额”的取值分别为:50000、49999、3000和50001,它们的输出状态,也就是预期结果,分别为:正确、正确、正确和错误。值得注意的是,由于每个控件的取值和输出状态并不是固定不变的,可以根据实际情况,为控件添加新的取值,或修改输出状态,本申请对此不作限制。
表1银行存款界面的控件输入值
控件名 | 控件类型 | 控件取值 | 输出状态 |
账号 | 文本框 | 6217000100020003 | 正确 |
账号 | 文本框 | 621700010002000A | 错误 |
账号 | 文本框 | 621700010002000 | 错误 |
账号 | 文本框 | 62170001000200000 | 错误 |
币种 | 下拉菜单 | 人民币 | 正确 |
币种 | 下拉菜单 | 空值 | 错误 |
存款金额 | 文本框 | 50000 | 正确 |
存款金额 | 文本框 | 49999 | 正确 |
存款金额 | 文本框 | 3000 | 正确 |
存款金额 | 文本框 | 50001 | 错误 |
在本说明书的一些实施例中,根据业务逻辑关系,首先处理账号,再基于账号处理币种,最后在处理完币种后,处理存款金额,故可以得到表2的控件组合,如表2所述,是将各控件的不同取值进行排列组合,共得到中不同的组合结果,其中,在确定每个组合的预期结果时,不仅考虑了表1中各控件取值的输出状态,而且还结合了业务逻辑校验规则,例如:“账号”取值为6217000100020003、“币种”取值为人民币以及“存款金额”取值为50000,由表1中可以看出,每个取值对应的输出状态均为正确,但由于“账号”6217000100020003内实际的余额值只有3000,因此上述组合结果中“存款金额”取值为50000所对应的预期结果是失败的,而“存款金额”取值为3000的预期结果才是正确的。
在本说明书的一些实施例中,还需考虑各控件组合中每个控件的前置条件,所述前置条件是指本测试案例执行的前提或要提前准备的数据,也就是说,在不同的前置条件下,同样的案例执行相同的步骤和内容,案例的预期结果却是不一样的。例如:假设某银行规定客户日累计交易额超过20万,不能进行转账交易,当前置条件为:目前累计交易量已累计到19.99万元,如果当日继续转账100.01元,则确定预期结果为失败,如果当日继续转账100元,则确定预期结果为成功,如果当日继续转账99.99元,则确定预期结果亦为成功。
表2控件取值组合
S104:对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。
在本说明书的一些实施例中,将S103中生成的各控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,就可以得到与所述控件组合对应的测试案例。其中,所述测试方法可以包括前提条件和输入数据。例如:假设一个银行转账界面中,包括3个控件,分别为账号、币种和转账金额,其中账号是文本框类型,币种是下拉框类型,转账金额是文本框类型,其中,转账金额的前置条件是一天内转账金额已累计到19.99万元,账号的前提条件可以是点击输入,输入数据可以是正常账号,也可以是异常账号,还可以是自定义的账号,币种的前提条件可以是点击选择,输入数据可以是默认可选值,也可以是空值,金额的前提条件可以是点击输入,输入数据可以是推荐输入值,也可以是用户自定义输入值。预期结果是针对上述三个控件的前置条件和测试方法得到的结果,可以是成功,也可以是失败。如表3所示,是一个界面的测试案例集合,所述表3是表2控件取值组合所对应的测试案例集合,将表2中各控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,就可以得到与所述控件组合对应的测试案例。在得到测试案例后,可以将所述测试案例保存在EXCEL表格中,以便后续查阅和调用。
表3界面测试案例集合
值得注意的是,上述实施例和实施方式只是为了方便解释本说明书,基于此还可以得到其它的实施例和实施方式,本说明书对此不作限制。
基于上述所述的界面测试案例生成方法,本说明书一个或多个实施例还提供了一种界面测试案例生成装置。所述的装置可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明说实施例具体的装置的实施方式可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构思的。
具体地,图2是本说明书一些实施例提供的界面测试案例生成装置的模块结构示意图。如图2所示,本说明书一些实施例中提供的界面测试案例生成装置可以包括:获取模块201、确定模块202、排列组合模块203以及生成模块204。
获取模块201,可以用于获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则;其中,所述业务逻辑校验规则包括所述测试界面中各控件之间的业务逻辑关系和匹配关系;所述取值规则根据所述控件的属性确定;
确定模块202,可以用于根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值;
排列组合模块203,可以用于根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果;
生成模块204,可以用于对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。
图3是本说明书一些实施例提供的界面测试案例生成装置中获取模块的结构示意图,如图3所示,在上述实施例的基础上,所述获取模块201可以包括:获取单元301、解析单元302以及确定单元303。
获取单元301,可以用于获取测试界面的XML文件;
解析单元302,可以用于对所述XML文件进行解析,得到所述测试界面中各控件和所述控件的属性;
确定单元303,可以用于根据所述属性,确定各控件的取值规则。
图4是本说明书一些实施例提供的界面测试案例生成装置中排列组合模块的结构示意图,如图4所示,在上述实施例的基础上,所述排列组合模块203可以包括:获取单元401、第一确定单元402、生成单元403以及第二确定单元404。
获取单元401,可以用于获取预设的待测试控件以及与所述待测试控件对应的各取值的预期结果;
第一确定单元402,可以用于根据所述待测试控件的业务逻辑校验规则,确定所述控件之间的逻辑关系;
生成单元403,可以用于根据所述逻辑关系,对控件的取值进行排列组合,生成不同的控件组合;
第二确定单元404,可以用于根据所述控件组合中各取值的预期结果,确定所述控件组合的预期结果。
为实现上述目的,本说明书一些实施例提供的计算机存储介质的结构示意图,如图5所示,所述装置可以包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时可以执行如下步骤:
获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则;其中,所述业务逻辑校验规则包括所述测试界面中各控件之间的业务逻辑关系和匹配关系;所述取值规则根据所述控件的属性确定;
根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值;
根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果;
对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。
本说明书提供的界面测试案例生成方法、装置及存储介质,首先获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则,所述取值规则根据所述控件的属性确定,根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值,根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果,最后对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例,有效地解决了生成界面测试案例的质量低等问题,提高了生成界面测试案例的质量。
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书实施例提供的上述界面测试案例生成方法、装置等可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的C++语言在PC端实现、linux系统实现,或其它例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现客户端、服务器以外,完全可以通过将方法步骤进行逻辑编程来使得客户端、服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种客户端、服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对服务器、客户端、装置以及计算机存储介质的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (10)
1.一种界面测试案例生成方法,其特征在于,所述方法包括:
获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则;其中,所述业务逻辑校验规则包括所述测试界面中各控件之间的业务逻辑关系和匹配关系;所述取值规则根据所述控件的属性确定;
根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值;
根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果;
对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。
2.根据权利要求1所述的方法,其特征在于,所述获取测试界面中各控件的取值规则,包括:
获取测试界面的XML文件;
对所述XML文件进行解析,得到所述测试界面中各控件和所述控件的属性;
根据所述属性,确定各控件的取值规则。
3.根据权利要求1所述的方法,其特征在于,所述根据所述属性,确定各控件的取值规则,至少包括以下任意一种或多种:
如果控件的属性为输入满足指定字符长度或长度范围的值,则根据所述指定字符长度或长度范围中的指定字符长度,确定所述控件的输入值为小于、等于以及大于所述指定字符长度各一个;
如果控件的属性为输入满足指定数值或数值范围的值,则根据所述指定数值或数值范围中的指定数值,确定所述控件的输入值为小于、等于以及大于所述指定数值各一个;
如果控件的属性为输入满足指定字符要求的值,则确定所述控件的输入值为满足所述指定字符要求以及未满足所述指定字符要求各一个;
如果控件的属性为输入满足指定小数位数或位数范围的值,则根据所述指定小数位数或位数范围中的指定小数位数,确定所述控件的输入值为小于、等于以及大于所述指定小数位数各一个;
如果控件的属性为选择指定个数的指定数据,则确定所述控件的输入值为空值以及指定个数的指定数据各一个。
4.根据权利要求1所述的方法,其特征在于,所述根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果,包括:
获取预设的待测试控件以及与所述待测试控件对应的各取值的预期结果;
根据所述待测试控件的业务逻辑校验规则,确定所述控件之间的逻辑关系;
根据所述逻辑关系,对控件的取值进行排列组合,生成不同的控件组合;
根据所述控件组合中各取值的预期结果,确定所述控件组合的预期结果。
5.根据权利要求1所述的方法,其特征在于,所述测试方式至少包括以下任意一种或多种:前提条件、输入数据。
6.一种界面测试案例生成装置,其特征在于,所述装置包括:
获取模块,用于获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则;其中,所述业务逻辑校验规则包括所述测试界面中各控件之间的业务逻辑关系和匹配关系;所述取值规则根据所述控件的属性确定;
确定模块,用于根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值;
排列组合模块,用于根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果;
生成模块,用于对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,包括:
获取单元,用于获取测试界面的XML文件;
解析单元,用于对所述XML文件进行解析,得到所述测试界面中各控件和所述控件的属性;
确定单元,用于根据所述属性,确定各控件的取值规则。
8.根据权利要求6所述的装置,其特征在于,所述排列组合模块,包括:
获取单元,用于获取预设的待测试控件以及与所述待测试控件对应的各取值的预期结果;
第一确定单元,用于根据所述待测试控件的业务逻辑校验规则,确定所述控件之间的逻辑关系;
生成单元,用于根据所述逻辑关系,对控件的取值进行排列组合,生成不同的控件组合;
第二确定单元,用于根据所述控件组合中各取值的预期结果,确定所述控件组合的预期结果。
9.一种界面测试案例生成装置,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时执行如下步骤:
获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则;其中,所述业务逻辑校验规则包括所述测试界面中各控件之间的业务逻辑关系和匹配关系;所述取值规则根据所述控件的属性确定;
根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值;
根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果;
对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
获取测试界面中各控件的取值规则以及与所述测试界面对应的业务逻辑校验规则;其中,所述业务逻辑校验规则包括所述测试界面中各控件之间的业务逻辑关系和匹配关系;所述取值规则根据所述控件的属性确定;
根据所述取值规则和所述业务逻辑校验规则,确定所述控件的取值;
根据所述控件之间的业务逻辑关系,对各控件的取值进行排列组合,生成不同的控件组合,并确定所述控件组合的预期结果;
对所述控件组合中各控件对应的前置条件、测试方法以及所述控件组合的预期结果进行拼接,生成与所述控件组合对应的测试案例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910292842.1A CN110032515B (zh) | 2019-04-12 | 2019-04-12 | 一种界面测试案例生成方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910292842.1A CN110032515B (zh) | 2019-04-12 | 2019-04-12 | 一种界面测试案例生成方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110032515A true CN110032515A (zh) | 2019-07-19 |
CN110032515B CN110032515B (zh) | 2022-08-19 |
Family
ID=67238215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910292842.1A Active CN110032515B (zh) | 2019-04-12 | 2019-04-12 | 一种界面测试案例生成方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110032515B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143228A (zh) * | 2019-12-31 | 2020-05-12 | 中国银行股份有限公司 | 基于决策表法的测试代码生成方法及装置 |
CN114048130A (zh) * | 2021-11-11 | 2022-02-15 | 上海复深蓝软件股份有限公司 | 单元测试方法、装置、计算机设备及存储介质 |
CN115291763A (zh) * | 2022-08-26 | 2022-11-04 | 北京达佳互联信息技术有限公司 | 组件成分的展示方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101251798A (zh) * | 2008-04-01 | 2008-08-27 | 中兴通讯股份有限公司 | 一种基于关系的测试用例生成方法 |
CN101377759A (zh) * | 2008-08-26 | 2009-03-04 | 中国工商银行股份有限公司 | 自动化界面测试系统 |
CN105955890A (zh) * | 2016-05-13 | 2016-09-21 | 中国建设银行股份有限公司 | 一种功能测试案例的生成方法及装置 |
CN106874190A (zh) * | 2016-12-30 | 2017-06-20 | 上海亿账通互联网科技有限公司 | 用户界面的测试方法及服务器 |
CN108710569A (zh) * | 2018-05-09 | 2018-10-26 | 深圳壹账通智能科技有限公司 | 测试案例生成方法、数据生成方法、装置、设备及介质 |
-
2019
- 2019-04-12 CN CN201910292842.1A patent/CN110032515B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101251798A (zh) * | 2008-04-01 | 2008-08-27 | 中兴通讯股份有限公司 | 一种基于关系的测试用例生成方法 |
CN101377759A (zh) * | 2008-08-26 | 2009-03-04 | 中国工商银行股份有限公司 | 自动化界面测试系统 |
CN105955890A (zh) * | 2016-05-13 | 2016-09-21 | 中国建设银行股份有限公司 | 一种功能测试案例的生成方法及装置 |
CN106874190A (zh) * | 2016-12-30 | 2017-06-20 | 上海亿账通互联网科技有限公司 | 用户界面的测试方法及服务器 |
CN108710569A (zh) * | 2018-05-09 | 2018-10-26 | 深圳壹账通智能科技有限公司 | 测试案例生成方法、数据生成方法、装置、设备及介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143228A (zh) * | 2019-12-31 | 2020-05-12 | 中国银行股份有限公司 | 基于决策表法的测试代码生成方法及装置 |
CN111143228B (zh) * | 2019-12-31 | 2023-09-19 | 中国银行股份有限公司 | 基于决策表法的测试代码生成方法及装置 |
CN114048130A (zh) * | 2021-11-11 | 2022-02-15 | 上海复深蓝软件股份有限公司 | 单元测试方法、装置、计算机设备及存储介质 |
CN115291763A (zh) * | 2022-08-26 | 2022-11-04 | 北京达佳互联信息技术有限公司 | 组件成分的展示方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110032515B (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532536B (zh) | 一种规则配置方法及装置 | |
US9037549B2 (en) | System and method for testing data at a data warehouse | |
EP3021225B1 (en) | Automated configuration code based selection of test cases for payment terminals | |
CN107038042A (zh) | 一种业务执行的方法及装置 | |
CN110032515A (zh) | 一种界面测试案例生成方法、装置及存储介质 | |
US10847136B2 (en) | System and method for mapping a customer journey to a category | |
CN108628605A (zh) | 流式数据处理方法、装置、服务器和介质 | |
CN108255738A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN107016420A (zh) | 一种业务处理方法及装置 | |
CN107526676A (zh) | 一种跨系统测试方法及装置 | |
CN110390182A (zh) | 一种确定小程序类目的方法、系统及设备 | |
CN106815725A (zh) | 一种交易验证方法和装置 | |
CN114911465A (zh) | 算子的生成方法、装置、设备以及存储介质 | |
CN113127108A (zh) | 业务请求的处理方法及装置、存储介质以及电子设备 | |
US6129271A (en) | Electronic funds transfer network test system | |
US20220269590A1 (en) | Methods, systems, and media for generating test authorization for financial transactions | |
CN112162744A (zh) | 一种基于业务场景的代码自动生成方法及装置 | |
CN112330502A (zh) | 合同审核方法及装置、电子设备、存储介质 | |
CN106528718B (zh) | 用于处理来自第三方的数据的方法及装置 | |
CN114881739A (zh) | 订单事件处理方法及装置、电子设备和存储介质 | |
CN111865726B (zh) | 业务消息测试方法、装置、计算机系统和存储介质 | |
KR101004082B1 (ko) | 금융시스템 자동 테스트 방법 및 시스템과 이를 위한프로그램 기록매체 | |
CN114444502A (zh) | 中文地址检测方法及其装置、设备、介质、产品 | |
CN112596781A (zh) | 一种业务执行以及业务配置方法及装置 | |
WO2021094956A1 (en) | Assertion engine for validating the configuration of a transaction processing 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |