自助存取款应用软件的测试方法、装置、终端及存储介质与流程

文档序号:17695748发布日期:2019-05-17 21:29阅读:334来源:国知局
自助存取款应用软件的测试方法、装置、终端及存储介质与流程

本发明涉及软件测试领域,尤其涉及一种自助存取款应用软件的测试方法、装置、终端及存储介质。



背景技术:

自助存取款机是一种客户进行自助服务的电子化设备,它具有存款、取款、转账、查询余额、修改密码等功能,是一种新型的银行电脑终端。使用者在使用自助存取款机时,由于涉及使用者的隐私和款项金额,因此必须尽量保证自助存取款机内置的存取款应用软件无任何问题漏洞,尽量防止出现用户使用自助存取款机时发生交易异常的现象,如卡上钱已扣但未吐钞、被吞卡等现象,避免给使用者造成经济上的损失。因此自助存取款机相关的负责软件测试的人员需要定期对自助存取款机内置的存取款应用软件进行软件测试。

目前随着业务需求、用户业务要求等的不断增多,使得自助存取款应用软件的测试场景会变得越来越多,存取款应用软件变得更加复杂,进而使得测试脚本前期开发成本较高,数据文件维护繁琐进而导致脚本维护不是很方便,故而影响了测试人员的工作效率。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种自助存取款应用软件的测试方法、装置、终端及存储介质,旨在解决目前自助存取款机的内置应用软件维护过程繁琐,相关测试人员的工作效率不高的问题。

为实现上述目的,本发明提供一种自助存取款应用软件的测试方法,所述包括以下步骤:

从待测试的自助存取款应用软件的基本流中获取当前事件流,所述基本流表征所述自助存取款应用软件被使用时完成存款或取款的基本过程,所述基本过程包括至少一个事件流,一个事件流表征为所述基本过程中的一个流程;

对所述当前事件流中的备选流进行遍历,获取遍历到的当前备选流,所述当前备选流表征为所述当前事件流中的一测试场景;

从逻辑储备代码集中匹配出与所述当前备选流对应的测试逻辑代码,并基于匹配出的测试逻辑代码生成与所述当前备选流对应的当前测试用例;

将所述当前测试用例编写入预设电子表格中;

确定所述自助存取款应用软件的测试脚本,调用所述测试脚本对所述预设电子表格中的当前测试用例进行测试。

优选地,所述从逻辑储备代码集中匹配出与所述当前备选流对应的测试逻辑代码,并基于匹配出的测试逻辑代码生成与所述当前备选流对应的当前测试用例步骤之前,还包括:

结合所述当前备选流和所述当前事件流生成与所述当前备选流对应的当前测试场景;

所述从逻辑储备代码集中匹配出与所述当前备选流对应的测试逻辑代码,并基于匹配出的测试逻辑代码生成与所述当前备选流对应的当前测试用例,具体包括:

从逻辑储备代码集中匹配出与所述当前测试场景对应的测试逻辑代码,并基于匹配出的测试逻辑代码生成与所述当前测试场景对应的当前测试用例。

优选地,所述将所述当前测试用例编写入预设电子表格中,具体包括:

将所述当前测试用例分解成多个代码关键字,将得到的多个代码关键字编写入预设电子表格中形成所述当前测试用例的表数据。

优选地,所述确定所述自助存取款应用软件的测试脚本,调用所述测试脚本对所述预设电子表格中的当前测试用例进行测试,具体包括:

确定所述自助存取款应用软件的测试脚本,基于所述测试脚本和所述当前备选流确定所述当前备选流对应的触发事件;

根据所述触发事件从所述预设电子表格中选取所述当前测试用例的表数据;

调用所述当前测试用例的表数据对所述自助存取款应用软件的当前备选流进行测试。

优选地,所述触发事件包括测试期望值;

所述调用所述当前测试用例的表数据对所述自助存取款应用软件的当前备选流进行测试,还包括:

判断所述当前备选流的测试结果与所述触发事件的测试期望值之间的差值是否处于预设误差阈值范围;

若是,则判定测试成功,若否,则判定测试失败。

优选地,所述从逻辑储备代码集中匹配出与所述当前备选流对应的测试逻辑代码之前,还包括:

接收针对各事件流的不同备选流输入的测试逻辑代码;

将各测试逻辑代码保存到所述逻辑储备代码集中。

优选地,所述预设电子表格为excel表格;

所述确定所述自助存取款应用软件的测试脚本,调用所述测试脚本对所述预设电子表格中的当前测试用例进行测试之后,还包括:

在所述excel表格中对所述自助存取款应用软件的测试结果进行展示。

此外,我实现上述目的,本发明还提出一种自助存取款应用软件的测试装置,所述测试装置包括:

获取模块,用于从待测试的自助存取款应用软件的基本流中获取当前事件流,所述基本流表征所述自助存取款应用软件被使用时完成存款或取款的基本过程,所述基本过程由至少一个事件流组成,一个事件流表征为所述基本过程中的一个流程;

遍历模块,用于对所述当前事件流中的备选流进行遍历,获取遍历到的当前备选流,所述备选流表征为所述当前事件流中的一测试场景;

匹配模块,用于从逻辑储备代码集中匹配出与所述当前备选流对应的测试逻辑代码,并基于匹配出的测试逻辑代码生成与所述当前备选流对应的当前测试用例;

编写模块,用于将所述当前测试用例编写入预设电子表格中;

测试模块,用于确定所述自助存取款应用软件的测试脚本,调用所述测试脚本对所述预设电子表格中的当前测试用例进行测试。

此外,我实现上述目的,本发明还提出一种测试终端,所述测试终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的针对自助存取款应用软件的测试程序,所述自助存取款应用软件的测试程序配置为实现如上所述的自助存取款应用软件的测试方法的步骤。

此外,我实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有针对自助存取款应用软件的测试程序,所述针对自助存取款应用软件的测试程序被处理器执行时实现如上所述自助存取款应用软件的测试方法的步骤。

本发明从自助存取款应用软件的基本流中获取当前事件流,对当前事件流中的备选流进行遍历,获取遍历到的当前备选流,从逻辑储备代码集中匹配出与当前备选流对应的测试逻辑代码,并基于匹配出的测试逻辑代码生成与当前备选流对应的当前测试用例;将当前测试用例编写入预设电子表格中;确定自助存取款应用软件的测试脚本,调用测试脚本对预设电子表格中的当前测试用例进行测试。本发明不需要将测试场景送入数据测试模型中,在确定所述自助存取款应用软件的测试脚本后,调用所述测试脚本对预设电子表格中的当前测试用例进行测试,即便业务逻辑发生变化,也无需手动更改业务逻辑对应的测试脚本,进而能够提高测试效率。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的用于自助存取款应用软件测试的终端的结构示意图;

图2为本发明一种自助存取款应用软件的测试方法第一实施例的流程示意图;

图3为本发明一种自助存取款应用软件的测试方法第二实施例的流程示意图;

图4为本发明一种自助存取款应用软件的测试装置的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的用于自助存取款应用软件测试的终端结构示意图。

如图1所示,该测试终端可以包括:处理器1001,例如cpu,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。测试接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对所述测试终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,所述存储器1005中可以包括操作系统、用户接口模块以及自助存取款应用软件的测试程序。

在图1所示的终端中,测试接口1004主要用于与自助存取款机进行连接,测试人员想要对自助存取款机内置的应用软件检测时,通过测试接口1004用于与自助存取款机进行连接,即可通过该终端对自助存取款应用软件进行测试;用户接口1003主要用于连接与测试人员或者开发人员的交互的控制设备(如鼠标、键盘灯);本发明终端中的处理器1001、存储器1005可以设置在所述测试终端中,所述测试终端通过处理器1001调用存储器1005中存储的针对自助存取款应用软件的测试程序,并执行所述针对自助存取款应用软件的测试方法的步骤。

参照图2,图2是本发明一种针对自助存取款应用软件的测试方法的第一实施例流程示意图,所述测试方法包括以下步骤:

步骤s10:从待测试的自助存取款应用软件的基本流中获取当前事件流,所述基本流表征所述自助存取款应用软件被使用时完成存款或取款的基本过程,所述基本过程包括至少一个事件流,一个事件流表征为所述基本过程中的一个流程。

步骤s20:对所述当前事件流中的备选流进行遍历,获取遍历到的当前备选流,所述当前备选流表征为所述当前事件流中的一测试场景;

需要说明的是,本实施例的执行主体为上述用于自助存取款应用软件测试的终端的处理器。

可理解的是,用户使用自助存取款机最终的目的是完成现金的存入或者取出,因此所述“基本流”定义为:由该存取款程序按照其底层正常的流程顺序来完成存款或取款的一个基本过程,具体为执行各个流程对应的底层代码来实现现金的存入或者取出。

相应地,“事件流”定义为“基本流”中的一个流程,即“基本流”这个基本过程由多个“事件流”组成。一个“事件流”为所述“基本流”中一个不可缺少的技术环节。

进一步地,一个“事件流”中对应预设有多个“备选流”,一个“备选流”可理解为基本流中一个“事件流”的特殊情况,每一个备选流都由一个备选流id以及场景关键字所组成,每个事件流对应的多个不同的备选流;

本实施例,将用户使用自助存取款机进行取款操作为所述“基本流”为例,自助存取款应用软件的在执行其底层代码实现取款这个基本过程可分为7个事件流:

事件流1:客户将磁卡插入自助存取款机,自助存取款机对磁卡进行验证,验证磁卡对应的账户信息,以确定该磁卡是否属于银行所授权的磁卡。假设事件流1对应的备选流为id为1,即备选流1,其关键字为“银行卡无效”;那么id为1的备选流记录为预设存储格式:事件流1+备选流1+“银行卡无效”。

事件流2:自助存取款机提示用户输入磁卡标识码pin,自助存取款机根据用户输入的磁卡标识码pin确定该磁卡信息是否有效。假设事件流2对应的一备选流为id为2,即备选流2,其关键字为“pin码无效”;那么id为2的备选流记录为预设存储格式:事件流2+备选流2+“pin码无效”;

事件流3:自助存取款机展示与所述磁卡对应的各自信息选项,并响应所选取的“取款”选项功能。

事件流4:接收客户输入的取款“金额”;

假设事件流4对应的备选流id为3,即备选流3,备选流3的关键字为“取款选项功能无法使用”;那么id为3的备选流记录为预设存储格式:事件流4+备选流3+“取款选项功能无法使用”;

同时,事件流4对应的又一备选流id为4,即备选流4,备选流4关键字为“银行卡余额不足”;那么id为4的备选流记录为预设存储格式:事件流4+备选流4+“银行卡余额不足”;)

同时,事件流4对应的再一备选流id为5,即备选流5,备选流5的关键字为“取款机现金不足”;那么id为5的备选流记录为预设存储格式:事件流4+备选流5+“取款机现金不足”。

事件流5:自助存取款机根据银行卡id、磁卡标识码pin、金额以及帐户信息生成一笔交易请求发送给银行系统来启动验证过程。对于此事件流,银行系统处于联机状态,而且银行系统对该交易请求进行及时响应处理,批准完成取款过程,并且据此更新帐户余额。

相应地,事件流5对应的一备选流id为6,即备选流6,其关键字是“客户银行卡被限制”,那么id为6的备选流记录为预设存储格式:事件流5+备选流6+“客户银行卡被限制”。

事件流6:取款机接收银行系统返回现金发放指令,取款机弹出与用户输入的取款“金额”一致的现金钞票。

事件流6对应的一备选流id为7,即备选流7,其关键字是“取款现金钞票被卡住”,那么id为7的备选流记录为预设存储格式:事件流6+备选流7+“钞票被卡住”。

本实施例,每一个备选流都由一个备选流id以及场景关键字所组成,每个事件流对应的对个不同的备选流,每个备选流预先都存储在一备选流集合中

步骤s30:从逻辑储备代码集中匹配出与所述当前备选流对应的测试逻辑代码,并基于匹配出的测试逻辑代码生成与所述当前备选流对应的当前测试用例;

具体地,本方案会按照一定的顺序对基本流的中各个事件流进行测试,。且在本方案实时之前,相关的软件测试人员可以向上述用于自助存取款应用软件测试的终端输入对应的测试逻辑代码,所述测试终端可以接收针对所述自助存取款应用软件的各事件流的不同备选流输入的测试逻辑代码,将各测试逻辑代码保存到所述逻辑储备代码集中。

可理解的是,软件测试人员需要预先针对不同事件流编写多种测试逻辑代码,每种测试逻辑代码对应一个事件流的备选流,所述测试逻辑代码表征为与该备选流相关的底层代码的业务逻辑,最后将各个测试逻辑代码存储逻辑储备代码集合中。

在所述步骤s30之前,还包括:结合所述当前备选流和所述当前事件流生成与所述当前备选流对应的当前测试场景;然后执行从逻辑储备代码集中匹配出与所述当前测试场景对应的测试逻辑代码,并基于匹配出的测试逻辑代码生成与所述当前测试场景对应的当前测试用例的步骤。

例如,在针对事件流1时,对事件流1中的备选流进行遍历,获取遍历到的存储格式中包括字符串“事件流1”的备选流,在遍历到备选流1时,根据备选流1的字符串关键字“银行卡无效”,结合事件流4生成与备选流1对应的场景,从逻辑储备代码集中匹配出与所述场景对应的测试逻辑代码,表征为:“在验证结果为该磁卡不属于银行所授权的磁卡,则银行取款机会将磁卡弹出,并进行相关提示”。

在针对事件流2时,对事件流2中的备选流进行遍历,获取遍历到的存储格式中包括字符串“事件流2”的备选流,在遍历到备选流2时,根据备选流2的字符串关键字“pin码无效”,结合事件流2生成与备选流2对应的场景,从逻辑储备代码集中匹配出与所述场景对应的测试逻辑代码,表征为:“在验证结果为在银行系统中查找不到与输入的pin码对应的信息时,则银行取款机会将磁卡弹出,并提示pin码无效”。

在针对事件流4时,对事件流4中备选流进行遍历,获取遍历到的存储格式中包括字符串“事件流4”的备选流,最后一共有三个包含字符数“事件流4”的备选流,分别为备选流3、备选流4、备选流5:

在遍历到备选流3时,根据备选流3的字符串关键字“取款选项功能无法使用”,结合事件流4生成与备选流3对应的场景,从逻辑储备代码集中匹配出与所述场景对应的测试逻辑代码,表征为:当取款机内部的存取款程序检测到取款机内没有足够的现金时,会进行:“取款”选项功能无法使用的功能提示。

在遍历到备选流4时,根据字备选流4的符串关键字“银行卡余额不足”,结合事件流4生成与备选流4对应的场景,从逻辑储备代码集中匹配出与所述场景对应的测试逻辑代码,表征为,当取款机内部的存取款程序检测到用户输入的金额大于客户银行卡账户剩余的金额时,会进行相关提示告诉客户无法取出此次输入的金额对应的现金。

在遍历到备选流5时,根据备选流5的字符串关键字“取款机现金不足”,结合事件流4生成与备选流5对应的场景,从逻辑储备代码集中匹配出与所述场景对应的测试逻辑代码,表征为,当取款机内部的存取款程序检测到用户输入的金额大于取款机内部的金额时,会进行相关提示告诉客户无法取出此次输入的金额对应的现金。

总之,依据基本流和各项备选流,确定并生成不同的场景,根据不同的场景从预先编写好的逻辑储备代码集中匹配出对应的测试逻辑代码,然后为基于逻辑代码编写相应的场景测试用例,具体的测试用例编写方式和现有的测试用例编写方式大体一致,即基于逻辑代码,按照用户需要输入的参数、操作、业务逻辑以及各种环境设置以及期望结果的编写一个特定的集合,形成一个测试用例。

步骤s40:将所述当前测试用例编写入预设电子表格中;

步骤s50:确定所述自助存取款应用软件的测试脚本,调用所述测试脚本对所述预设电子表格中的当前测试用例进行测试。

可理解的是,一般的测试模型中都包含与测试场景对应的数据,而相应的测试脚本中具有业务逻辑和测试场景,当脚本中的测试场景发生变化时那么就需要测试人员手动重新对测试脚本进行编辑,因此测试脚本在前期就需要投入较多的开发脚本,测试脚本维护维护和管理就显得比较困难繁琐。

本实施例不需要将测试场景送入数据测试模型中,所述预设电子表格以excel表格为例,从逻辑储备代码集中匹配出与所述当前备选流对应的测试逻辑代码,并基于匹配出的测试逻辑代码生成与所述当前备选流对应的当前测试用例之后,直接将当前测试用例编写入excel表格中,相当于将业务逻辑和与该业务逻辑对应的场景数据都集中编写入excel表格中,最后确定所述自助存取款应用软件的测试脚本,调用所述测试脚本对所述预设电子表格中的当前测试用例进行测试,即便业务逻辑发生变化,也无需手动更改业务逻辑对应的测试脚本,进而能够提高测试效率。

参照图3,图3本发明一种自助存取款应用软件的测试方法的第二实施例流程示意图,基于上述图2提出本发明针对自助存取款应用软件的测试方法的第二实施例;

本实施例中,所述步骤s40具体包括:

步骤s401:将所述当前测试用例分解成多个代码关键字,将得到的多个代码关键字编写入预设电子表格中形成所述当前测试用例的表数据。

可理解的,测试脚本是为了进行自动化测试而编写的脚本。测试脚本的编写必须对应相应的测试用例。具体地,由于本实施的当前备选流对应的当前测试用例是基于匹配出的测试逻辑代码生成,因此自助存取款应用软件的测试脚本的设计的关键在于可以将对应的业务逻辑抽象为关键字组成的表数据。

相应地,所述步骤s50具体包括:

步骤s501:确定所述自助存取款应用软件的测试脚本,基于所述测试脚本和所述当前备选流确定所述当前备选流对应的触发事件;

步骤s502:根据所述触发事件从所述预设电子表格中选取所述当前测试用例的表数据;

基于所述自助存取款应用软件的测试脚本和当前备选流确定当前备选流对应的触发事件,所述触发事件表征为模拟自助存取款在特定场景边界发生的事情,通过事件来触发某个动作的发生,观察事件的最终结果,从而用来发现需求中存在的问题。

步骤s503:调用所述当前测试用例的表数据对所述自助存取款应用软件的当前备选流进行测试。

具体地,所述触发事件包括测试期望值;在调用当前测试用例的表数据对自助存取款应用软件的当前备选流进行测试后,会判断当前备选流的测试结果与触发事件的测试期望值之间的差值是否处于预设误差阈值范围;若是,则判定测试成功,若否,则判定测试失败。

所述预设电子表格为excel表格;在步骤s50之后,还包括:在所述excel表格中对所述自助存取款应用软件的测试结果进行展示。

可理解的是,所述触发事件需要一个验证点,验证点是判断是否执行成功的关键。验证点可由三部分组成,表征为:验证点=验证类型+验证元素+测试期望值。其中验证类型表示使用哪种验证方式,验证方式主要有元素文本值、界面标题、比较元素属性值、及数据库值。验证元素即需要验证的界面元素。测试期望值一般为测试用例中希望得到的值,如果测试得到的结果数据和数据希望得到的值的之间相差不大,则表明测试成功,与所述当前备选流相关的底层代码没有逻辑问题或代码漏洞;如果测试得到的结果数据和数据希望得到的值的之间相差较大,则表明测试失败,软件开发人员需要对该测试应用的底层源代码进行进一步完善。

本实施例确定所述自助存取款应用软件的测试脚本,基于所述测试脚本和所述当前备选流确定所述当前备选流对应的触发事件,再根据选取触发事件从所述预设电子表格中选取所述当前测试用例的表数据;最后调用当前测试用例的表数据对所述当前备选流进行测试,进而能够简化测试的复杂程度,可以让不是很资深的测试人员也能灵活的使用所述测试终端对自助存取款中内置的自助存取款应用软件进行测试,提高了测试人员的操作体验。

此外,参考图4,图4为本发明一种自助存取款应用软件的测试装置的结构框图,所述测试装置包括:

获取模块10,用于从待测试的自助存取款应用软件的基本流中获取当前事件流,所述基本流表征所述自助存取款应用软件被使用时完成存款或取款的基本过程,所述基本过程包括至少一个事件流,一个事件流表征为所述基本过程中的一个流程;

遍历模块20,用于对所述当前事件流中的备选流进行遍历,获取遍历到的当前备选流,所述当前备选流表征为所述当前事件流中的一测试场景;

匹配模块30,用于从逻辑储备代码集中匹配出与所述当前备选流对应的测试逻辑代码,并基于匹配出的测试逻辑代码生成与所述当前备选流对应的当前测试用例;

编写模块40,用于将所述当前测试用例编写入预设电子表格中;

测试模块50,用于确定所述自助存取款应用软件的测试脚本,调用所述测试脚本对所述预设电子表格中的当前测试用例进行测试。

可理解的是,本实施例的自助存取款应用软件的测试装置可以是一种用于对自助存取款应用软件进行测试的测试软件,装载于上述测试终端中。

上述测试终端通过测试接口1004与自助存取款机进行连接,测试人员使用上述测试终端时,测试终端调用所述测试装置对自助存取款机内置的自助存取款应用软件进行测试。

本实施例的测试装置的具体实施方式请参照上述测试方法实施例,本实施例在此不予赘述。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有针对自助存取款应用软件的测试程序,所述针对自助存取款应用软件的测试程序被处理器执行时实现如上所述针对自助存取款应用软件的测试程序方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,终端,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1