CN112506779A - 软件接口测试方法、装置、电子设备及存储介质 - Google Patents

软件接口测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112506779A
CN112506779A CN202011435166.8A CN202011435166A CN112506779A CN 112506779 A CN112506779 A CN 112506779A CN 202011435166 A CN202011435166 A CN 202011435166A CN 112506779 A CN112506779 A CN 112506779A
Authority
CN
China
Prior art keywords
test
interface
data
case
software interface
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.)
Pending
Application number
CN202011435166.8A
Other languages
English (en)
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 Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202011435166.8A priority Critical patent/CN112506779A/zh
Publication of CN112506779A publication Critical patent/CN112506779A/zh
Pending legal-status Critical Current

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
    • 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

软件接口测试方法、装置、电子设备及存储介质
技术领域
本发明涉及测试技术领域,尤其涉及一种软件接口测试方法、装置、电子设备及计算机可读存储介质。
背景技术
软件接口测试是以找出软件接口代码当中存在的语义缺陷、安全漏洞等为目的,而进行的安全类、数据流通类等测试操作手段。软件接口从开发到面向用户的整个过程中,需要涉及多种流程操作,其中软件接口测试关乎到接口使用的体验、用户隐私及接口稳定性等问题,因此软件接口测试重要且必不可少。
目前对于软件接口测试的方法主要通过预先构建的代码进行静态扫描,详细地,所述静态扫描是指将预先构建的代码经过编译器编译,然后通过扫描工具调用编译器编译成功的代码,完成对接口进行测试。
静态扫描虽然可实现软件接口的测试,但由于软件接口需要测试的类型众多,每个测试类型都需提前写好代码进行编译,需要较高的人力定期进行代码维护,且由于每个测试类型都需单独编译、以供扫描工具调用,从而导致测试速度不高、测试缓慢的现象出现。
发明内容
本发明提供一种软件接口测试方法、装置、电子设备及计算机可读存储介质,其主要目的在于解决测试缓慢的问题。
为实现上述目的,本发明提供的一种软件接口测试方法,包括:
根据软件接口测试请求生成测试用例集;
创建与所述测试用例集对应的测试线程通道集;
运行预先构建的接口测试脚本,得到指定测试用例的需求指令,根据所述指定测试用例的需求指令,利用所述测试线程通道集从所述测试用例集中获取所述指定测试用例,并将所述指定测试用例传送至所述接口测试脚本;
当所述指定测试用例成功传送至所述接口测试脚本时,利用所述接口测试脚本生成测试软件接口的测试数据,对所述测试数据执行规则化操作,得到规则化测试数据;
对所述规则化测试数据执行增量代码覆盖率统计,得到增量代码显示图。
可选地,所述创建与所述测试用例集对应的测试线程通道集,包括:
从所述软件接口对应的编程语言中提取线程母类;
创建继承所述线程母类的线程子类;
根据所述测试用例集的类型,在所述线程子类内生成线程通道启动函数;
将预先构建的线程通道生成代码输入至所述线程通道启动函数内,运行所述线程子类,生成所述测试线程通道集。
可选地,所述根据软件接口测试请求生成测试用例集,包括:
从所述软件接口测试请求中提取得到软件接口测试类型;
利用预先构建的测试用例脚本,生成与所述软件接口测试类型对应的测试用例集。
可选地,所述软件接口测试类型包括接口登录测试类型、接口安全测试类型、接口数据调用测试类型、接口数据传输测试类型及接口响应测试类型。
可选地,所述对比所述规则化测试数据在不同测试版本下的代码差异性,得到增量代码;
提取所述增量代码的增量包代码块、类代码块及方法代码块,从所述增量包代码块、类代码块及方法代码块中提取得到新增行数字典;
对所述新增行数字典进行颜色标记,得到所述增量代码显示图。
可选地,所述对所述测试数据执行规则化操作,得到规则化测试数据,包括:
对所述测试数据执行数据量大小及校验位限制操作,得到测试限制数据;
对所述测试限制数据执行加密操作,得到所述规则化测试数据。
可选地,所述测试用例集包括上传下载用例、注册用例、登录用例、验证码用例、越权用例、数据劫持用例。
为了解决上述问题,本发明还提供一种软件接口测试装置,所述装置包括:
测试用例生成模块,用于根据软件接口测试请求生成测试用例集;
指定测试用例生成模块,用于创建与所述测试用例集对应的测试线程通道集,运行预先构建的接口测试脚本,得到指定测试用例的需求指令,根据所述指定测试用例的需求指令,利用所述测试线程通道集从所述测试用例集中获取所述指定测试用例,并将所述指定测试用例传送至所述接口测试脚本;
规则化模块,用于当所述指定测试用例成功传送至所述接口测试脚本时,利用所述接口测试脚本生成测试软件接口的测试数据,对所述测试数据执行规则化操作,得到规则化测试数据;
增量代码显示模块,用于用于对所述规则化测试数据执行增量代码覆盖率统计,得到增量代码显示图。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述中任意一项所述的软件接口测试方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,包括存储数据区和存储程序区,存储数据区存储创建的数据,存储程序区存储有计算机程序;其中,所述计算机程序被处理器执行时实现上述中任意一项所述的软件接口测试方法。
本发明实施例先生成测试用例集,并根据所述测试用例集创建测试线程通道集,通过测试线程通道集从所述测试用例集中获取指定测试用例传送至预构建的接口测试脚本中,之后利用所述接口测试脚本及所述指定测试用例完成接口测试,得到测试数据,并利用增量代码覆盖率统计,得到增量代码显示图,本发明实施例相比于背景技术来说,预先生成多种测试用例,若需进行接口测试时,直接运行预构建的接口测试脚本,当接口测试脚本需要何种测试用例时,通过对应的所述测试线程通道集直接获取,因此整个测试过程不会因测试的类型不同,而分别调用对应的测试程序进行接口测试,提高了测试速度。因此本发明提出的软件接口测试方法、装置及计算机可读存储介质,可以解决测试缓慢的问题。
附图说明
图1为本发明一实施例提供的软件接口测试方法的流程示意图;
图2为本发明一实施例提供的软件接口测试方法中S2的详细流程示意图;
图3为本发明一实施例提供的软件接口测试装置的模块示意图;
图4为本发明一实施例提供的实现软件接口测试方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种软件接口测试方法,所述软件接口测试方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述软件接口测试方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的软件接口测试方法的流程示意图。在本实施例中,所述软件接口测试方法包括:
S1、根据软件接口测试请求生成测试用例集。
本发明较佳实施例中,所述软件接口测试请求可以由软件接口开发者基于对软件接口的安全类、数据传输类等测试需求,而构建的一种测试指令。
本发明实施例中,需提前收集得到所述测试用例集,以供软件测试时进行数据调用,详细地,所述根据所述软件接口测试请求生成测试用例集,包括:从所述软件接口测试请求中提取得到软件接口测试类型,利用预先构建的测试用例脚本,生成与所述软件接口测试类型对应的测试用例集。
所述软件接口测试类型包括接口登录测试类型、接口安全测试类型、接口数据调用测试类型、接口数据传输测试类型及接口响应测试类型等。
所述测试用例是进行接口测试前所需要的模拟数据,如一软件公司开发出一种,可供银行实现每日交易金额预测的金额预测软件接口,则先对该金额预测软件接口进行接口登录测试,因此需提供接口登录的账号及登录密码,其中所述登录账号及登录密码即为一种测试用例。
本发明较佳实施例中,所述测试用例集包括上传下载用例、注册用例、登录用例、验证码用例、越权用例、数据劫持用例等。
S2、创建与所述测试用例集对应的测试线程通道集。
由于软件接口测试一般涉及多个测试类型,且当软件接口众多且同时进行测试时,为了不影响测试速度及测试时效性,本发明实施例先构建出测试线程通道集,详细地,参阅图2所示,所述S2包括:
S21、从所述软件接口对应的编程语言中提取线程母类;
S22、创建继承所述线程母类的线程子类,根据所述测试用例集的类型,在所述线程子类内生成线程通道启动函数;
S23、将预先构建的线程通道生成代码输入至所述线程通道启动函数内,运行所述线程子类,生成与所述测试用例集对应的测试线程通道集。
本发明较佳实施例中,所述编程语言可以为JAVA编程语言,所述JAVA编程语言的线程母类为Thread类,并根据JAVA编程语言的语言特性,创建继承所述Thread类的线程子类,可使用JAVA编程语言中的extends关键字,如线程子类为Thread_son类,则所述继承方法为class Thread_son extends Thread。
详细地,所述测试用例集包括上传下载用例、注册用例、登录用例、验证码用例、越权用例、数据劫持用例等类型,则对应的在所述线程子类分别生成上传下载用例的线程通道启动函数、数据劫持用例的线程通道启动函数等。
所述线程通道生成代码一般通过编程语言预先构建的,但由于预先构建的线程通道生成代码需要以编程语言的线程母类及线程子类为运行环境,所以当线程子类及线程通道启动函数构建成功后,将预先构建的所述线程通道生成代码输入至所述线程通道启动函数后,通过所述线程子类调用所述线程母类的其他与线程相关的函数及所述线程通道生成代码,从而生成与所述测试用例集对应的测试线程通道集。
进一步地,根据所述测试用例集包括上传下载用例、注册用例、登录用例、验证码用例、越权用例、数据劫持用例等类型可知,所述测试线程通道集也对应的包括上传下载测试线程通道、注册用例测试线程通道、数据劫持用例测试线程通道等。
S3、运行预先构建的接口测试脚本,得到指定测试用例的需求指令,根据所述指定测试用例的需求指令,利用所述测试线程通道集从所述测试用例集中获取所述指定测试用例,并将所述指定测试用例传送至所述接口测试脚本;
所述接口测试脚本是开发人员根据不同软件接口所对应的测试需求,而开发出的可自动化运行的编程程序。如上述金额预测软件接口,需对该金额预测软件接口进行接口登录测试,因此预先构建一个可对所述金额预测软件接口进行接口登录测试的接口登录测试脚本。
进一步地,当运行所述接口登录测试脚本时,需调用接口登录的账号及登录的测试用例,则接口登录的账号及登录的测试用例即为所述指定测试用例。
本发明实施例中,所述指定测试用例存在于所述测试用例集中,利用所述测试线程通道集中与所述指定测试用例对应的测试线程通道,如接口登录测试线程通道获取所述接口登录的账号及登录的测试用例,并将所述接口登录的账号及登录的测试用例传送至所述接口测试脚本。
S4、当所述指定测试用例成功传送至所述接口测试脚本时,利用所述接口测试脚本生成测试软件接口的测试数据,对所述测试数据执行规则化操作,得到规则化测试数据。
本发明实施例中,当指定测试用例通过所述测试线程通道集传送至所述接口测试脚本成功时,表明可利用所述接口测试脚本调用所述指定测试用例,实施对所述软件接口的测试。
详细地,所述利用所述接口测试脚本生成测试所述软件接口的测试数据,包括:利用所述接口测试脚本调用所述指定测试用例,当调用成功时,将所述指定测试用例输入至所述软件接口,并接受所述软件接口返回的所述测试数据。
进一步地,所述测试数据可包括字符型数据、整型数据、浮点型数据等,如对上述金额预测软件接口进行接口登录测试时,若登录测试成功,则金额预测软件接口返回的是登录成功的字符型数据,若登录测试失败,则金额预测软件接口返回的是登录失败的字符型数据。
本发明实施例为了防止发送测试数据被木马黑客等异常调用的现象,需要对所述测试数据执行规则化操作,以提高测试数据的安全性。详细地,所述对所述测试数据执行规则化操作,得到规则化测试数据,包括:对所述测试数据进行数据量大小及校验位限制,得到测试限制数据,对所述测试限制数据执行加密操作,得到所述规则化测试数据。
其中所述数据量大小限制及校验位限制,是一种对测试数据大小的限制操作,防止测试数据因数据量问题,导致测试服务器内存压力过大。所述加密操作可采用哈希算法加密,从而得到所述规则化测试数据。
S5、对所述规则化测试数据执行增量代码覆盖率统计,得到增量代码显示图。
由于软件接口在面向用户之前,需要对多个功能进行多次测试,因此会得到多个版本不同功能下的规则化测试数据,为了统计并展现出多个版本不同功能下的规则化测试数据的差异性,本发明实施例通过构建出增量覆盖率显示图达到该目的。
详细地,所述对所述规则化测试数据执行增量代码覆盖率统计,得到增量代码显示图,包括:对比所述规则化测试数据在不同测试版本下的代码差异性,得到增量代码;提取所述增量代码的增量包代码块、类代码块及方法代码块,从所述增量包代码块、类代码块及方法代码块中提取得到新增行数字典;对所述新增行数字典进行颜色标记,得到所述增量代码显示图。
如对上述金额预测软件接口进行多次的接口登录测试时,会生成多种规则化测试数据,本发明实施例提取生成多个所述规则化测试数据所对应的代码块。通过对比每个代码块的不同点,得到所述增量代码,其中所述增量代码一般由包、类、方法及函数等组成,在编程语言的语言规则中,由于包、类及方法在代码块中所体现的作用较大,故通过关键字提取方法,识别出包、类及方法所在的代码块,并进行颜色标记得到所述增量覆盖率显示图,从而可展现出在每次软件接口测试过程中,生成规则化测试数据后,测试代码所产生的变化。
本发明实施例先生成测试用例集,并根据所述测试用例集创建测试线程通道集,通过测试线程通道集从所述测试用例集中获取指定测试用例传送至预构建的接口测试脚本中,之后利用所述接口测试脚本及所述指定测试用例完成接口测试,得到测试数据,并利用增量代码覆盖率统计,得到增量代码显示图,本发明实施例相比于背景技术来说,预先生成多种测试用例,若需进行接口测试时,直接运行预构建的接口测试脚本,当接口测试脚本需要何种测试用例时,通过对应的所述测试线程通道集直接获取,因此整个测试过程不会因测试的类型不同,而分别调用对应的测试程序进行接口测试,提高了测试速度。
如图3所示,是本发明软件接口测试装置的模块示意图。
本发明所述软件接口测试装置100可以安装于电子设备中。根据实现的功能,所述软件接口测试装置可以包括测试用例生成模块101、指定测试用例生成模块102、规则化模块103及增量代码显示模块104。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述测试用例生成模块101,用于根据软件接口测试请求生成测试用例集;
所述指定测试用例生成模块102,用于创建与所述测试用例集对应的测试线程通道集,运行预先构建的接口测试脚本,得到指定测试用例的需求指令,根据所述指定测试用例的需求指令,利用所述测试线程通道集从所述测试用例集中获取所述指定测试用例,并将所述指定测试用例传送至所述接口测试脚本;
所述规则化模块103,用于当所述指定测试用例成功传送至所述接口测试脚本时,利用所述接口测试脚本生成测试软件接口的测试数据,对所述测试数据执行规则化操作,得到规则化测试数据;
所述增量代码显示模块104,用于对所述规则化测试数据执行增量代码覆盖率统计,得到增量代码显示图。
详细地,各模块的具体运行过程如下:
所述测试用例生成模块101用于根据软件接口测试请求生成测试用例集。
本发明较佳实施例中,所述软件接口测试请求可以由软件接口开发者基于对软件接口的安全类、数据传输类等测试需求,而构建的一种测试指令。
本发明实施例中,需提前收集得到所述测试用例集,以供软件测试时进行数据调用,详细地,所述根据所述软件接口测试请求生成测试用例集,包括:从所述软件接口测试请求中提取得到软件接口测试类型,利用预先构建的测试用例脚本,生成与所述软件接口测试类型对应的测试用例集。
所述软件接口测试类型包括接口登录测试类型、接口安全测试类型、接口数据调用测试类型、接口数据传输测试类型及接口响应测试类型等。
所述测试用例是进行接口测试前所需要的模拟数据,如一软件公司开发出一种,可供银行实现每日交易金额预测的金额预测软件接口,则先对该金额预测软件接口进行接口登录测试,因此需提供接口登录的账号及登录密码,其中所述登录账号及登录密码即为一种测试用例。
本发明较佳实施例中,所述测试用例集包括上传下载用例、注册用例、登录用例、验证码用例、越权用例、数据劫持用例等。
所述指定测试用例生成模块102用于创建与所述测试用例集对应的测试线程通道集,运行预先构建的接口测试脚本,得到指定测试用例的需求指令,根据所述指定测试用例的需求指令,利用所述测试线程通道集从所述测试用例集中获取所述指定测试用例,并将所述指定测试用例传送至所述接口测试脚本。
由于软件接口测试一般涉及多个测试类型,且当软件接口众多且同时进行测试时,为了不影响测试速度及测试时效性,本发明实施例先构建出测试线程通道集,详细地,所述创建与所述测试用例集对应的测试线程通道集包括:从所述软件接口对应的编程语言中提取线程母类;创建继承所述线程母类的线程子类,根据所述测试用例集的类型,在所述线程子类内生成线程通道启动函数;将预先构建的线程通道生成代码输入至所述线程通道启动函数内,运行所述线程子类,生成与所述测试用例集对应的测试线程通道集。
本发明较佳实施例中,所述编程语言可以为JAVA编程语言,所述JAVA编程语言的线程母类为Thread类,并根据JAVA编程语言的语言特性,创建继承所述Thread类的线程子类,可使用JAVA编程语言中的extends关键字,如线程子类为Thread_son类,则所述继承方法为class Thread_son extends Thread。
详细地,所述测试用例集包括上传下载用例、注册用例、登录用例、验证码用例、越权用例、数据劫持用例等类型,则对应的在所述线程子类分别生成上传下载用例的线程通道启动函数、数据劫持用例的线程通道启动函数等。
所述线程通道生成代码一般通过编程语言预先构建的,但由于预先构建的线程通道生成代码需要以编程语言的线程母类及线程子类为运行环境,所以当线程子类及线程通道启动函数构建成功后,将预先构建的所述线程通道生成代码输入至所述线程通道启动函数后,通过所述线程子类调用所述线程母类的其他与线程相关的函数及所述线程通道生成代码,从而生成与所述测试用例集对应的测试线程通道集。
进一步地,根据所述测试用例集包括上传下载用例、注册用例、登录用例、验证码用例、越权用例、数据劫持用例等类型可知,所述测试线程通道集也对应的包括上传下载测试线程通道、注册用例测试线程通道、数据劫持用例测试线程通道等。
所述接口测试脚本是开发人员根据不同软件接口所对应的测试需求,而开发出的可自动化运行的编程程序。如上述金额预测软件接口,需对该金额预测软件接口进行接口登录测试,因此预先构建一个可对所述金额预测软件接口进行接口登录测试的接口登录测试脚本。
进一步地,当运行所述接口登录测试脚本时,需调用接口登录的账号及登录的测试用例,则接口登录的账号及登录的测试用例即为所述指定测试用例。
本发明实施例中,所述指定测试用例存在于所述测试用例集中,利用所述测试线程通道集中与所述指定测试用例对应的测试线程通道,如接口登录测试线程通道获取所述接口登录的账号及登录的测试用例,并将所述接口登录的账号及登录的测试用例传送至所述接口测试脚本。
所述规则化模块103用于当所述指定测试用例成功传送至所述接口测试脚本时,利用所述接口测试脚本生成测试软件接口的测试数据,对所述测试数据执行规则化操作,得到规则化测试数据。
本发明实施例中,当指定测试用例通过所述测试线程通道集传送至所述接口测试脚本成功时,表明可利用所述接口测试脚本调用所述指定测试用例,实施对所述软件接口的测试。
详细地,所述利用所述接口测试脚本生成测试所述软件接口的测试数据,包括:利用所述接口测试脚本调用所述指定测试用例,当调用成功时,将所述指定测试用例输入至所述软件接口,并接受所述软件接口返回的所述测试数据。
进一步地,所述测试数据可包括字符型数据、整型数据、浮点型数据等,如对上述金额预测软件接口进行接口登录测试时,若登录测试成功,则金额预测软件接口返回的是登录成功的字符型数据,若登录测试失败,则金额预测软件接口返回的是登录失败的字符型数据。
本发明实施例为了防止发送测试数据被木马黑客等异常调用的现象,需要对所述测试数据执行规则化操作,以提高测试数据的安全性。详细地,所述对所述测试数据执行规则化操作,得到规则化测试数据,包括:对所述测试数据进行数据量大小及校验位限制,得到测试限制数据,对所述测试限制数据执行加密操作,得到所述规则化测试数据。
其中所述数据量大小限制及校验位限制,是一种对测试数据大小的限制操作,防止测试数据因数据量问题,导致测试服务器内存压力过大。所述加密操作可采用哈希算法加密,从而得到所述规则化测试数据。
所述增量代码显示模块104用于对所述规则化测试数据执行增量代码覆盖率统计,得到增量代码显示图。
由于软件接口在面向用户之前,需要对多个功能进行多次测试,因此会得到多个版本不同功能下的规则化测试数据,为了统计并展现出多个版本不同功能下的规则化测试数据的差异性,本发明实施例通过构建出增量覆盖率显示图达到该目的。
详细地,所述对所述规则化测试数据执行增量代码覆盖率统计,得到增量代码显示图,包括:对比所述规则化测试数据在不同测试版本下的代码差异性,得到增量代码;提取所述增量代码的增量包代码块、类代码块及方法代码块,从所述增量包代码块、类代码块及方法代码块中提取得到新增行数字典;对所述新增行数字典进行颜色标记,得到所述增量代码显示图。
如对上述金额预测软件接口进行多次的接口登录测试时,会生成多种规则化测试数据,本发明实施例提取生成多个所述规则化测试数据所对应的代码块。通过对比每个代码块的不同点,得到所述增量代码,其中所述增量代码一般由包、类、方法及函数等组成,在编程语言的语言规则中,由于包、类及方法在代码块中所体现的作用较大,故通过关键字提取方法,识别出包、类及方法所在的代码块,并进行颜色标记得到所述增量覆盖率显示图,从而可展现出在每次软件接口测试过程中,生成规则化测试数据后,测试代码所产生的变化。
如图4所示,是本发明实现软件接口测试方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如软件接口测试程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如软件接口测试程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行软件接口测试程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图4仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图4示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的软件接口测试程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
根据软件接口测试请求生成测试用例集;
创建与所述测试用例集对应的测试线程通道集;
运行预先构建的接口测试脚本,得到指定测试用例的需求指令,根据所述指定测试用例的需求指令,利用所述测试线程通道集从所述测试用例集中获取所述指定测试用例,并将所述指定测试用例传送至所述接口测试脚本;
当所述指定测试用例成功传送至所述接口测试脚本时,利用所述接口测试脚本生成测试软件接口的测试数据,对所述测试数据执行规则化操作,得到规则化测试数据;
对所述规则化测试数据执行增量代码覆盖率统计,得到增量代码显示图。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图表记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种软件接口测试方法,其特征在于,所述方法包括:
根据软件接口测试请求生成测试用例集;
创建与所述测试用例集对应的测试线程通道集;
运行预先构建的接口测试脚本,得到指定测试用例的需求指令,根据所述指定测试用例的需求指令,利用所述测试线程通道集从所述测试用例集中获取所述指定测试用例,并将所述指定测试用例传送至所述接口测试脚本;
当所述指定测试用例成功传送至所述接口测试脚本时,利用所述接口测试脚本生成测试软件接口的测试数据,对所述测试数据执行规则化操作,得到规则化测试数据;
对所述规则化测试数据执行增量代码覆盖率统计,得到增量代码显示图。
2.如权利要求1所述的软件接口测试方法,其特征在于,所述创建与所述测试用例集对应的测试线程通道集,包括:
从所述软件接口对应的编程语言中提取线程母类;
创建继承所述线程母类的线程子类;
根据所述测试用例集的类型,在所述线程子类内生成线程通道启动函数;
将预先构建的线程通道生成代码输入至所述线程通道启动函数内,运行所述线程子类,生成所述测试线程通道集。
3.如权利要求2所述的软件接口测试方法,其特征在于,所述根据软件接口测试请求生成测试用例集,包括:
从所述软件接口测试请求中提取得到软件接口测试类型;
利用预先构建的测试用例脚本,生成与所述软件接口测试类型对应的测试用例集。
4.如权利要求3所述的软件接口测试方法,其特征在于,所述软件接口测试类型包括接口登录测试类型、接口安全测试类型、接口数据调用测试类型、接口数据传输测试类型及接口响应测试类型。
5.如权利要求1所述的软件接口测试方法,其特征在于,所述对所述规则化测试数据执行增量代码覆盖率统计,得到增量代码显示图,包括:
对比所述规则化测试数据在不同测试版本下的代码差异性,得到增量代码;
提取所述增量代码的增量包代码块、类代码块及方法代码块,从所述增量包代码块、类代码块及方法代码块中提取得到新增行数字典;
对所述新增行数字典进行颜色标记,得到所述增量代码显示图。
6.如权利要求1所述的软件接口测试方法,其特征在于,所述对所述测试数据执行规则化操作,得到规则化测试数据,包括:
对所述测试数据执行数据量大小及校验位限制操作,得到测试限制数据;
对所述测试限制数据执行加密操作,得到所述规则化测试数据。
7.如权利要求1至6中任意一项所述的软件接口测试方法,其特征在于,所述测试用例集包括上传下载用例、注册用例、登录用例、验证码用例、越权用例、数据劫持用例。
8.一种软件接口测试装置,其特征在于,所述装置包括:
测试用例生成模块,用于根据软件接口测试请求生成测试用例集;
指定测试用例生成模块,用于创建与所述测试用例集对应的测试线程通道集,运行预先构建的接口测试脚本,得到指定测试用例的需求指令,根据所述指定测试用例的需求指令,利用所述测试线程通道集从所述测试用例集中获取所述指定测试用例,并将所述指定测试用例传送至所述接口测试脚本;
规则化模块,用于当所述指定测试用例成功传送至所述接口测试脚本时,利用所述接口测试脚本生成测试软件接口的测试数据,对所述测试数据执行规则化操作,得到规则化测试数据;
增量代码显示模块,用于对所述规则化测试数据执行增量代码覆盖率统计,得到增量代码显示图。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的软件接口测试方法。
10.一种计算机可读存储介质,包括存储数据区和存储程序区,其特征在于,所述存储数据区存储创建的数据,所述存储程序区存储有计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的软件接口测试方法。
CN202011435166.8A 2020-12-10 2020-12-10 软件接口测试方法、装置、电子设备及存储介质 Pending CN112506779A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011435166.8A CN112506779A (zh) 2020-12-10 2020-12-10 软件接口测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011435166.8A CN112506779A (zh) 2020-12-10 2020-12-10 软件接口测试方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112506779A true CN112506779A (zh) 2021-03-16

Family

ID=74970505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011435166.8A Pending CN112506779A (zh) 2020-12-10 2020-12-10 软件接口测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112506779A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051171A (zh) * 2021-04-08 2021-06-29 平安国际智慧城市科技股份有限公司 接口测试方法、装置、设备及存储介质
CN113190445A (zh) * 2021-04-29 2021-07-30 中国邮政储蓄银行股份有限公司 接口测试方法、接口测试装置和接口测试系统
CN113704769A (zh) * 2021-08-25 2021-11-26 深圳市中博科创信息技术有限公司 人才管理系统的安全监控方法、装置、设备及存储介质
CN114124835A (zh) * 2021-11-22 2022-03-01 招商局金融科技有限公司 基于接口的数据传输方法、装置、设备及介质
CN114416604A (zh) * 2022-03-31 2022-04-29 深圳市爱图仕影像器材有限公司 串口调试方法、装置、电子设备及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051171A (zh) * 2021-04-08 2021-06-29 平安国际智慧城市科技股份有限公司 接口测试方法、装置、设备及存储介质
CN113051171B (zh) * 2021-04-08 2024-04-02 深圳赛安特技术服务有限公司 接口测试方法、装置、设备及存储介质
CN113190445A (zh) * 2021-04-29 2021-07-30 中国邮政储蓄银行股份有限公司 接口测试方法、接口测试装置和接口测试系统
CN113704769A (zh) * 2021-08-25 2021-11-26 深圳市中博科创信息技术有限公司 人才管理系统的安全监控方法、装置、设备及存储介质
CN114124835A (zh) * 2021-11-22 2022-03-01 招商局金融科技有限公司 基于接口的数据传输方法、装置、设备及介质
CN114416604A (zh) * 2022-03-31 2022-04-29 深圳市爱图仕影像器材有限公司 串口调试方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN112506779A (zh) 软件接口测试方法、装置、电子设备及存储介质
CN113238929B (zh) 基于Mock数据的代码测试方法、装置、电子设备及存储介质
CN112528307A (zh) 服务请求校验方法、装置、电子设备及存储介质
CN113377661A (zh) 接口测试方法、装置、电子设备及存储介质
CN112506559A (zh) 基于网关的灰度发布方法、装置、电子设备及存储介质
CN112527664A (zh) 生成测试用例的方法、装置、电子设备及存储介质
CN114519084A (zh) 基于区块链的医疗数据检查方法、装置、设备及介质
CN112486490B (zh) 前端代码打包方法、装置、电子设备及存储介质
CN112579475A (zh) 代码测试方法、装置、设备及可读存储介质
CN112579452A (zh) 软件自动化测试方法、装置、设备及存储介质
CN112580079A (zh) 权限配置方法、装置、电子设备及可读存储介质
CN115757121A (zh) 基于测试环境搭建的测试方法、装置、设备及存储介质
CN114461531A (zh) 测试用例的平台适应性测试方法、装置、设备及存储介质
CN115033489A (zh) 代码资源检测方法、装置、电子设备及存储介质
CN114896164A (zh) 接口优化方法、装置、电子设备及存储介质
CN114036068A (zh) 基于隐私安全的更新检测方法、装置、设备及存储介质
CN114356379A (zh) 基于备份的服务升级方法、装置、设备及存储介质
CN114826725A (zh) 数据交互方法、装置、设备及存储介质
CN114020414A (zh) Android系统与底层Linux共生方法、装置、电子设备及存储介质
CN113051171A (zh) 接口测试方法、装置、设备及存储介质
CN112667244A (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
CN113176993A (zh) 用例测试方法、装置、电子设备及存储介质
CN112686759A (zh) 对账监测方法、装置、设备及介质
CN112527443A (zh) 提示框显示方法、装置、电子设备及计算机可读存储介质
CN113626533B (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