一种密码功能测试方法、装置、电子设备及存储介质与流程

文档序号:33625568发布日期:2023-03-28 20:28阅读:42来源:国知局
一种密码功能测试方法、装置、电子设备及存储介质与流程

1.本发明涉及软件测试技术领域,特别是涉及一种密码功能测试方法、装置、电子设备及存储介质。


背景技术:

2.随着技术的发展,数据的安全问题变得尤为突出。目前通常会选择为数据,如平台账户、设备等设置密码的方式来保证数据的安全性。
3.相关技术中,会设置单独的密码模块来执行密码创建、修改等等操作。也可以开发单独的密码sdk(software development kit,软件开发工具包),相关的平台、设备等可调用该sdk来实现密码的创建、修改以及验证等等操作。
4.调用密码模块的平台设备等一般较多,在正式使用之前一般需要针对各个平台设备对密码模块进行功能测试,以检测密码模块是否可以正常工作。具体的,是测试密码模块能否创建、修改符合各平台、设备密码条件的密码,以及拒绝创建、修改不符合各平台、设备密码条件的密码。相关技术中,对密码模块进行功能测试的方法通常是由测试人员手动配置密码条件以及调用场景,再跳转到需要验证密码的平台或设备等调用该密码模块进行相关的测试。这一过程往往需要重复多次,需要反复进行各种切换调试,会浪费大量时间,效率极低。


技术实现要素:

5.本发明实施例的目的在于提供一种密码功能测试方法、装置、电子设备及存储介质,以提高密码功能测试效率。具体技术方案如下:本发明实施例提供了一种密码功能测试方法,所述方法包括:获取待测试密码模块的各目标接口;针对各所述目标接口,基于所述目标接口的调用参数以及预设密码条件,生成各所述调用参数以及所述预设密码条件对应的测试用例;其中,至少一个所述测试用例对应符合所述预设密码条件的密码,至少一个测试用例对应不符合所述预设密码条件的密码;基于各所述测试用例对应的调用参数调用所述密码模块,对各所述目标接口进行功能测试。
6.在一种可能的实施例中,所述基于所述目标接口的调用参数以及预设密码条件,生成各所述调用参数以及所述预设密码条件对应的测试用例,包括:基于调用所述目标接口的各目标调用方的调用参数以及针对各所述目标调用方预设的密码条件,生成各所述调用参数以及所述预设的密码条件对应的测试用例;所述目标调用方包括平台和/或设备。
7.在一种可能的实施例中,所述密码条件包括:密码类型、密码长度、首位字符、密码评分;所述方法还包括:
每次改变所述密码类型和/或密码长度和/或首位字符和/或密码评分,得到所述目标接口的测试用例,直至每个所述密码条件均有对应的测试用例。
8.在一种可能的实施例中,所述获取待测试密码模块的各目标接口,包括:从所述待测试密码模块的接口文档中获取所述密码模块的各目标接口;或,对所述待测试密码模块进行抓包,获取所述密码模块的各目标接口。
9.本发明实施例还提供了一种密码功能测试装置,所述装置包括:目标接口获取模块,用于获取待测试密码模块的各目标接口;测试用例获取模块,用于针对各所述目标接口,基于所述目标接口的调用参数以及预设密码条件,生成各所述调用参数以及所述预设密码条件对应的测试用例;其中,至少一个所述测试用例对应符合所述预设密码条件的密码,至少一个测试用例对应不符合所述预设密码条件的密码;接口测试模块,用于基于各所述测试用例对应的调用参数调用所述密码模块,对各所述目标接口进行功能测试。
10.在一种可能的实施例中,所述基于所述目标接口的调用参数以及预设密码条件,生成各所述调用参数以及所述预设密码条件对应的测试用例,包括:基于调用所述目标接口的各目标调用方的调用参数以及针对各所述目标调用方预设的密码条件,生成各所述调用参数以及所述预设的密码条件对应的测试用例;所述目标调用方包括平台和/或设备。
11.在一种可能的实施例中,所述密码条件包括:密码类型、密码长度、首位字符、密码评分;所述测试用例获取模块还用于:每次改变所述密码类型和/或密码长度和/或首位字符和/或密码评分,得到所述目标接口的测试用例,直至每个所述密码条件均有对应的测试用例。
12.在一种可能的实施例中,所述获取待测试密码模块的各目标接口,包括:从所述待测试密码模块的接口文档中获取所述密码模块的各目标接口;或,对所述待测试密码模块进行抓包,获取所述密码模块的各目标接口。
13.本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的密码功能测试方法步骤。
14.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的密码功能测试方法步骤。
15.本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的密码功能测试方法。
16.本发明实施例有益效果:本发明实施例提供的密码功能测试方法,获取待测试密码模块的各目标接口;针对各所述目标接口,基于所述目标接口的调用参数以及预设的密码条件,生成各所述调用
参数以及所述预设密码条件对应的测试用例;其中,至少一个所述测试用例对应符合所述预设密码条件的密码,至少一个测试用例对应不符合所述预设密码条件的密码;基于各所述测试用例对应的调用参数调用所述密码模块,对各所述目标接口进行功能测试。应用本发明实施例,通过基于密码模块各个接口的调用参数以及预设的密码条件得到对应的测试用例,并按照测试用例对各目标接口进行功能测试。通过调用参数调用密码模块可以对真实调用环境进行模拟,同时,由于测试用例中有符合预设密码条件的密码以及不符合预设密码条件的密码,因此基于测试用例能准确测试密码模块是否可以正常创建、修改符合预设密码条件的密码,以及测试密码模块能否拒绝不符合预设密码条件的密码的创建以及修改等。可见,基于测试用例即可实现模拟真实调用环境对密码模块的功能测试,无需人工对平台设备等进行配置再进行基于实际平台、设备的反复测试,提高测试效率。
17.当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
19.图1为本发明实施例提供的密码功能测试方法的一种流程示意图;图2为本发明实施例提供的密码功能测试方法的一种示意图;图3为本发明实施例提供的密码功能测试方法的又一种示意图;图4为本发明实施例提供的密码功能测试装置的一种结构示意图;图5为本发明实施例提供的电子设备的一种结构示意图。
具体实施方式
20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本发明所获得的所有其他实施例,都属于本发明保护的范围。
21.为了提高密码功能测试效率,本发明提供了一种密码功能测试方法、装置、电子设备及存储介质。下面首先对本发明提供的密码功能测试方法进行示例性说明:本发明提供的密码功能测试方法可以应用于任意具有密码功能测试功能的电子设备中。上述电子设备可以是计算机、服务器、移动终端等等。
22.如图1所示,图1为本发明提供的密码功能测试方法的一种流程示意图,具体可以包括以下步骤:步骤s101、获取待测试密码模块的各目标接口;步骤s102、针对各所述目标接口,基于所述目标接口的调用参数以及预设密码条件,生成各所述调用参数以及所述预设密码条件对应的测试用例;其中,至少一个所述测试用例对应符合所述预设密码条件的密码,至少一个测试用例对应不符合所述预设密码条件
的密码;步骤s103、基于各所述测试用例对应的调用参数调用所述密码模块,对各所述目标接口进行功能测试。
23.应用本发明实施例,通过基于密码模块各个接口的调用参数以及预设的密码条件得到对应的测试用例,并按照测试用例对各目标接口进行功能测试。通过调用参数调用密码模块可以对真实调用环境进行模拟,同时,由于测试用例中有符合预设密码条件的密码以及不符合预设密码条件的密码,因此基于测试用例能准确测试密码模块是否可以正常创建、修改符合预设密码条件的密码,以及测试密码模块能否拒绝不符合预设密码条件的密码的创建以及修改等。可见,基于测试用例即可实现模拟真实调用环境对密码模块的功能测试,无需人工对平台设备等进行配置再进行基于实际平台、设备的测试,提高测试效率。
24.下面对上述步骤s101-s103进行示例性说明:上述待测试密码模块可以是单独的软件模块,也可以是sdk,本发明实施例中对此不做具体限定。步骤s101中,可以从所述待测试密码模块的接口文档中获取所述密码模块的各目标接口,也可以对所述待测试密码模块进行抓包,获取所述密码模块的各目标接口。上述各目标接口为密码模块的软件接口。上述获取的各目标接口中包括各目标接口的信息。上述目标接口的信息中可以包括目标接口的标识、调用参数等等。上述各目标接口的调用参数均为开发上述目标接口的过程中设置的。如可以包括调用该接口的数据类型、数据个数等等,具体可以根据实际需要进行设置。
25.步骤s102中可以针对各个目标接口,基于目标接口的自身的调用参数以及预设的密码条件得到该目标接口的测试用例。
26.示例性的,可以基于目标接口自身的调用参数中包含的变量,如数据类型、数据个数等等,为变量赋值,并按照预设的密码条件设置密码,得到目标接口的测试用例。上述变量赋值可以根据实际需要进行设置。上述密码条件也可以根据实际需要进行设置。
27.在一种可能的实施例中,上述密码条件可以包括密码类型、密码长度、首位字符、密码中包含的字符类型以及密码评分等等。上述密码类型包括强密码以及弱密码。强密码即安全性较高的密码。若密码即安全性较低的密码,包括固定数字组合、重复数字等等。如123456,0000等,具体可以从预设的弱密码表中获取。上述密码评分可以基于密码长度、密码中包含的字符类型等等得到。
28.在一种可能的实施例中,可以对上述各密码条件进行专项测试,具体的,可以每次改变所述密码类型和/或密码长度和/或首位字符和/或密码评分,得到所述目标接口的测试用例,直至每个所述密码条件均有对应的测试用例。
29.本实施例中,可以每次改变一个条件得到新的测试用例,也可以每次改变多个条件得到新的测试用例。只要最终得到的测试用例中,针对各个密码条件均有满足该密码条件的测试用例即可。如满足各种密码长度条件、各种首位字符条件等等。
30.如图2所示,图2为本发明提供的密码功能测试方法的一种示意图,具体包括以下部分:单独启用弱密码,确定接口测试用例是否执行成功,若执行成功,则说明接口功能正常,可以创建或修改该弱密码,若否,则说明接口功能异常。
31.单独启用强密码,确定接口测试用例是否执行成功,若执行成功,则说明接口功能
正常,可以创建或修改该强密码,若否,则说明接口功能异常。
32.同时启用强密码以及弱密码,确定接口测试用例是否执行成功,若执行成功,则说明接口功能正常,可以创建或修改强密码以及弱密码,若否,则说明接口功能异常。
33.这样,可以对强弱密码进行单项测试以及综合测试,得到的测试结果可靠性较高。
34.结束测试后,可以将测试过程中设置的密码条件进行清除,以免影响下一次自动化测试。
35.在一种可能的实施方式中,还可以基于调用所述目标接口的各目标调用方的调用参数以及针对各所述目标调用方预设的密码条件,得到所述目标接口的测试用例;所述目标调用方包括平台和/或设备。
36.如上所述,调用密码模块的调用方一般有多个。如可以包括第三方平台、设备等等。例如,可以包括视频平台、门禁卡、监控设备等等。调用方的类型不同,其调用的目标接口以及调用目标接口的调用参数也不同。另外,不同的调用方适用的密码条件也不同。
37.示例性的,有的平台限制密码需要包含数字以及字母,有的平台限制密码中不能包含特殊符号,有的平台对密码则无任何限制,即密码长度、首位字符等等均可以为任意的。
38.本发明实施例中,可以针对各个调用方预设密码条件,并基于该密码条件设置各调用方的密码,从而基于调用目标接口的各调用方的调用参数以及调用方的密码得到测试用例。上述调用方可以是第三方平台、设备以及通道等等。上述通道指的是在第三方设备显示上述平台设备画面。
39.对上述平台、设备等设置的密码条件可以是为平台、设备等设置的密码长度、首位字符等等条件。
40.基于上述平台、设备的调用参数以及为平台、设备设置的密码条件,即可得到该平台、设备对应的测试用例。具体的,是基于平台、设备的调用参数以及为平台、设备设置的密码得到的。上述平台、设备的调用参数可以包括平台、设备调用目标接口时为接口调用参数中的变量赋的值以及平台、设备的ip地址等平台、设备自身的参数。上述为平台、设备设置的密码可以是基于为平台、设备设置的密码条件从预设的密码表中获取。上述密码表中保存有不同密码条件下的密码,具体可以根据实际需要进行预先设置。
41.作为一种实施方式,可以利用jmeter(一种开源软件测试工具)基于上述平台、设备等的调用参数以及为平台、设备等设置的密码条件得到测试用例。当然,也可以通过其他可行方式获取,本发明对此不做具体限定。
42.上述测试用例中可以包含符合预设密码条件的密码,也可以包括不符合预设密码条件的密码。上述包含不符合预设密码条件的密码的测试用例即为反用例。作为一种具体实施方式,可以建立错误密码库,以提供测试反用例。上述错误密码库中保存有不符合上述平台、设备密码条件的密码。
43.在一种可能的实施例中,还可以将平台、设备等的调用参数以及密码设置为变量,以提高模块维护的便利性。
44.得到上述测试用例后,即可基于上述测试用例对接口功能进行测试。具体的,可以基于上述测试用例对应的调用参数调用密码模块,针对包含符合预设密码条件的密码的测试用例,可以基于该测试用例验证密码模块目标接口是否能创建或修改该密码,具体的,若
测试用例执行成功,则说明接口功能正常,若测试用例执行失败则说明接口功能异常。针对测试反用例,可以基于该测试用例测试该密码模块目标接口能否拒绝创建或修改该密码。
45.如图3所示,图3是本发明提供的密码功能测试方法的一种示意图。具体可以包括:将强密码条件以及强密码适用场景进行交叉融合。具体的,上述强密码条件包括密码长度、首位字符、包含的字符类型以及密码评分等等。上述强密码使用场景则包括使用强密码的第三方平台、设备以及通道等等。交叉融合则是指基于上述平台、设备等的密码规则为上述平台、设备等设置密码,并基于平台、设备的调用参数以及为平台、设备设置的密码得到测试用例。若测试用例的执行结果为执行成功,则说明接口功能正常,若执行失败,则说明接口功能异常。
46.本发明实施例还提供了一种密码功能测试装置,如图4所示,上述装置可以包括:目标接口获取模块401,用于获取待测试密码模块的各目标接口;测试用例获取模块402,用于针对各所述目标接口,基于所述目标接口的调用参数以及预设密码条件,生成各所述调用参数以及所述预设密码条件对应的测试用例;其中,至少一个所述测试用例对应符合所述预设密码条件的密码,至少一个测试用例对应不符合所述预设密码条件的密码;接口测试模块403,用于基于各所述测试用例对应的调用参数调用所述密码模块,对各所述目标接口进行功能测试。
47.在一种可能的实施例中,所述基于所述目标接口的调用参数以及预设密码条件,生成各所述调用参数以及所述预设密码条件对应的测试用例,包括:基于调用所述目标接口的各目标调用方的调用参数以及针对各所述目标调用方预设的密码条件,生成各所述调用参数以及所述预设的密码条件对应的测试用例;所述目标调用方包括平台和/或设备。
48.在一种可能的实施例中,所述密码条件包括:密码类型、密码长度、首位字符、密码评分;所述测试用例获取模块还用于:每次改变所述密码类型和/或密码长度和/或首位字符和/或密码评分,得到所述目标接口的测试用例,直至每个所述密码条件均有对应的测试用例。
49.在一种可能的实施例中,所述获取待测试密码模块的各目标接口,包括:从所述待测试密码模块的接口文档中获取所述密码模块的各目标接口;或,对所述待测试密码模块进行抓包,获取所述密码模块的各目标接口。
50.本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,存储器503,用于存放计算机程序;处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:获取待测试密码模块的各目标接口;针对各所述目标接口,基于所述目标接口的调用参数以及预设密码条件,生成各所述调用参数以及所述预设密码条件对应的测试用例;其中,至少一个所述测试用例对应符合所述预设密码条件的密码,至少一个测试用例对应不符合所述预设密码条件的密码;
基于各所述测试用例对应的调用参数调用所述密码模块,对各所述目标接口进行功能测试。
51.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
52.通信接口用于上述电子设备与其他设备之间的通信。
53.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
54.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmablegate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
55.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一密码功能测试方法的步骤。
56.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一密码功能测试方法。
57.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk (ssd))等。
58.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
59.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、存储介质以及程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
60.以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1