本发明涉及软件工程领域,具体而言,本发明涉及一种安全设备稳定性的测试方法和一种安全设备稳定性的测试装置。
背景技术:
随着当今软件开发技术的发展与成熟,越来越多复杂的软件系统应用于人们生活的各个领域,由于通过对软件系统的性能进行测试,能够快速定位影响软件系统运行效率的问题所在,进而对软件系统进行有针对性地调整优化故而软件系统的性能测试已经成为衡量软件产品质量的一个重要标准。
在现有技术中,软件系统的性能测试一般通过测试工具或通过完全模拟软件系统的运行环境来实现的;然而,现有的两种软件系统的性能测试方式都存在一定的局限性,特别是针对安全设备类产品,这两种软件系统的性能测试方式均无法准确地对安全设备产品的性能及稳定性进行测试。
技术实现要素:
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
本发明的实施例提出了一种安全设备稳定性的测试方法,包括:
基于预定的稳定性测试用例来构造多个待加密数据;
将多个待加密数据同时发送至安全设备进行加密,生成多个加密数据;该加密数据集根据不同业务场景适配,通过批量设置生成模拟业务场景的加密数据;
获取通过安全设备对多个加密数据进行相应解密的解密数据;
基于稳定性测试用例将待加密数据和与其相应的解密数据进行对比,并根据对比结果,确定安全设备稳定性的测试结果。
优选地,该方法还包括:
基于稳定性测试用例来构造混合流量,并将混合流量发送至安全设备;
通过检测安全设备,获取安全设备的性能数据,并接收通过安全设备返回的响应于混合流量的数据信息。
优选地,基于稳定性测试用例来构造混合流量,并将混合流量发送至安全设备,包括:
获取针对多个目标页面信息的访问请求和针对非目标页面信息的访问请求,将所有访问请求同时发送至安全设备,以生成目标流量和非目标流量作为混合流量。
优选地,目标页面所对应的访问请求和非目标页面所对应的访问请求基于预定的混合比例以及不同数据复杂度的构造数据进行混合。
优选地,基于预定的稳定性测试用例来构造多个待加密数据,包括:
基于遍历安全设备的数据库中的待加密数据的类型信息,获取稳定性测试用例对应的目标应用的多个待加密数据的类型信息;
针对各个待加密数据的类型信息,设置多个对应的待加密数据。
本发明的另一实施例提出了一种安全设备稳定性的测试装置,包括:
第一构造模块,用于基于预定的稳定性测试用例来构造多个待加密数据;
加密模块,用于将多个待加密数据同时发送至安全设备进行加密,生成多个加密数据;
第一获取模块,用于获取通过安全设备对多个加密数据进行相应解密的解密数据;
对比模块,用于基于稳定性测试用例将待加密数据和与其相应的解密数据进行对比,并根据对比结果,确定安全设备稳定性的测试结果;
其中,加密数据集根据不同业务场景适配,通过批量设置生成模拟业务场景的加密数据。
优选地,该装置还包括:
第二构造模块,用于基于稳定性测试用例来构造混合流量,并将混合流量发送至安全设备;
第二获取模块,用于通过检测安全设备,获取安全设备的性能数据,并接收通过安全设备返回的响应于混合流量的数据信息。
优选地,第二构造模块,用于获取针对多个目标页面信息的访问请求和针对非目标页面信息的访问请求,将所有访问请求同时发送至安全设备,以生成目标流量和非目标流量作为混合流量。
其中,目标页面所对应的访问请求和非目标页面所对应的访问请求基于预定的混合比例以及不同数据复杂度的构造数据进行混合。
优选地,第一构造模块,包括:
获取单元,用于基于遍历安全设备的数据库中的待加密数据的类型信息,获取稳定性测试用例对应的目标应用的多个待加密数据的类型信息;
设置单元,用于针对各个待加密数据的类型信息,设置多个对应的待加密数据。
本发明的技术方案中,构造多个待加密数据作为安全设备产品加解密的数据源,基于安全设备产品对待加密数据的加解密的结果,实现了对安全设备产品稳定性的测试,使得安全设备产品的测试质量大大提高,在提高了安全设备产品的测试质量的同时,通过自动化方式大大提升了安全设备稳定性测试的效率和准确率,从而高效地完成了安全设备稳定性的测试,并为提高安全设备产品的质量和鲁棒性提供了可能。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明的一个实施例的安全设备稳定性的测试方法的流程示意图;
图2为本发明的具体实施例的构造待加密数据的流程示意图;
图3为本发明的具体实施例的构造混合流量的流程示意图;
图4为本发明的又一个实施例的安全设备稳定性的测试装置的结构框架示意图;
图5为本发明的具体实施例的第一构造模块的结构框架示意图;
图6为本发明的具体实施例的安全设备稳定性的测试装置的结构框架示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”可以包括无线连接或“耦接”可以包括无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
图1为本发明的一个实施例的安全设备稳定性的测试方法的流程示意图。
需要说明的是,本实施例的执行主体为测试服务器。
步骤S101:基于预定的稳定性测试用例来构造多个待加密数据;步骤S102:将多个待加密数据同时发送至安全设备进行加密,生成多个加密数据;步骤S103:获取通过安全设备对多个加密数据进行相应解密的解密数据;步骤S104:基于稳定性测试用例将待加密数据和与其相应的解密数据进行对比,并根据对比结果,确定安全设备稳定性的测试结果。
本发明的技术方案中,构造多个待加密数据作为安全设备产品加解密的数据源,基于安全设备产品对待加密数据的加解密的结果,实现了对安全设备产品稳定性的测试,使得安全设备产品的测试质量大大提高,在提高了安全设备产品的测试质量的同时,通过自动化方式大大提升了安全设备稳定性测试的效率和准确率,从而高效地完成了安全设备稳定性的测试,并为提高安全设备产品的质量和鲁棒性提供了可能。
以下针对各个步骤的具体实现做进一步的说明:
步骤S101:基于预定的稳定性测试用例来构造多个待加密数据。
具体地,如图2所示,基于预定的稳定性测试用例来构造多个待加密数据,具体包括:步骤S201:基于遍历安全设备的数据库中的待加密数据的类型信息,获取稳定性测试用例对应的目标应用的多个待加密数据的类型信息;步骤S202:针对各个待加密数据的类型信息设置多个对应的待加密数据。
其中,待加密数据的类型信息包括但不限于:字段类型信息;例如:客户名称、邮箱地址、电话、客户简介。
具体地,待加密数据的类型信息的获取方式包括:通过查看目标应用字段的类型信息,确定被保护的字段的类型信息,即需要加密的字段的类型信息,并抓取该被保护的字段的类型信息,将该被保护的字段的类型信息存储到安全设备的数据库相应的列表中,作为该列表的字段。
例如,基于预定的稳定性测试用例,测试服务器通过查询的方式对安全设备的数据库相应的列表中的所有待加密待数据的字段的类型信息进行遍历,并对每个待加密数据的字段的类型信息设置多个对应的待加密数据;如,待加密的字段的类型信息为“客户名称”,设置其对应的待加密数据为“奇虎”、“百度”、“微软”和“谷歌”等。
步骤S102:将多个待加密数据同时发送至安全设备进行加密,生成多个加密数据。
其中,加密数据集根据不同业务场景的适配,通过批量设置生成模拟业务场景的加密数据。
具体地,测试服务器将同字段的类型信息所对应的多个待加密数据和/或不同字段的类型信息所对应的多个待加密数据以表单的形式,同时发送至安全设备,安全设备根据其数据库中记录的每个字段的类型信息所对应的加密算法,对表单中的字段的类型信息所对应的待加密数据进行加密处理,并生成相应加密算法的加密数据。当加密数据生成后,安全设备会将包含加密数据的表单发送至目标应用服务器。
其中,加密算法包括但不限于:标记化token算法。
此处需要说明的是,测试服务器通过遍历安全设备的数据库中记录的所有字段的类型信息,从而实现了覆盖安全设备的所有需要测试的字段的类型信息,更加全面地对安全设备稳定性的进行测试,减少安全设备的漏测问题的发生。
步骤S103:获取通过安全设备对多个加密数据进行相应解密的解密数据。
具体地,安全设备接收目标应用服务器响应于包含加密数据的反馈信息,并根据其数据库中记录的字段的类型信息的加密算法,将包含加密数据的反馈信息进行相应的解密,得到相应的解密数据并将该解密数据返回至测试服务器,测试服务器对解密数据进行记录并存储。
在高并发情况下,测试服务器对安全设备的加解密的业务场景进行测试,大大提高了安全设备的测试质量。
步骤S104:基于稳定性测试用例将待加密数据和与其相应的解密数据进行对比,并根据对比结果,确定安全设备稳定性的测试结果。
具体地,基于稳定性测试用例,测试服务器将待加密数据和接收到的解密数据进行对比,根据对比结果,确定所有待加密数据是否成功加密,测试服务器会对其中没有成功加密的待加密数据重新进行加密的测试。若所有待加密数据均成功加密,则说明安全设备稳定性的加密测试成功;安全设备稳定性的解密测试与安全设备稳定性的加密测试相似,就此不再赘述。
具体地,该方法如图3所示,还包括:步骤S301:基于稳定性测试用例来构造混合流量,并将混合流量发送至安全设备;步骤S302:通过检测安全设备,接收混合流量下的安全设备性能数据。
其中,混合流量包括目标流量和非目标流量;目标流量即为发送至目标应用服务器的流量,非目标流量即为发送至其他网络服务器的流量。
性能数据包括但不限于:中央处理器cpu数据、内存数据、吞吐量。
响应于混合流量的数据信息包括但不限于:cookie数据、页面数据。
获取性能数据的方式包括:通过软件系统检测工具检测安全设备,以获取安全设备的性能数据,如cpu的利用率、内存的占用率等。
此处需要指明的是,非目标流量不是安全设备进行加解密处理的流量,安全设备需要对非目标流量进行转发处理,即安全设备对待加密数据的加密处理不能影响非目标流量的正常访问,如果测试服务器没有接收到针对非目标流量的响应数据信息,如cookie、页面数据等,则说明安全设备稳定性的测试出现了异常,必须对安全设备转发非目标流量处理进行再次测试。
具体地,测试服务器获取针对多个目标页面信息的访问请求和针对非目标页面信息的访问请求,将所有访问请求同时发送至安全设备,以生成目标流量和非目标流量作为混合流量。
其中,目标页面信息的访问请求包括:目标页面的互联网协议地址ip数据;该目标页面的互联网协议地址ip数据通过查询预定的ip-域名库得到;安全设备通过对目标页面的互联网协议地址ip数据进行判断,确定其为发送至目标应用服务器的目标流量。
非目标页面信息的访问请求包括:非目标页面的互联网协议地址ip数据,该非目标页面的互联网协议地址ip数据通过查询预定的ip-域名库得到;安全设备通过对非目标页面的互联网协议地址ip数据进行判断,确定其为发送至其他网络服务器的非目标流量。
具体地,目标页面所对应的访问请求和非目标页面所对应的访问请求基于预定的混合比例以及不同数据复杂度的构造数据进行混合。
其中,通过修改自动化测试脚本中的控制参数,来确定发送加密数据产生流量的持续时间;控制参数包括但不限于:控制产生流量的持续时间的参数。
此处需要指明的是,通过对非目标流量和目标流量进行预定比例的混合,使得安全设备接收到一定压力值的混合流量,通过分析接收到的安全设备的性能数据,更加准确地确定安全设备的性能的可靠度。同时,通过修改控制参数,来控制安全设备接收到的混合流量的压力值,能更加精确地确定出安全设备的可靠度的临界值,从而实现对安全设备的性能测试的评估。
图4为本发明的又一个实施例的安全设备稳定性的测试装置的结构框架示意图。
第一构造模块401,基于预定的稳定性测试用例来构造多个待加密数据;加密模块402,将多个待加密数据同时发送至安全设备进行加密,生成多个加密数据;第一获取模块403,获取通过安全设备对多个加密数据进行相应解密的解密数据;对比模块404,基于稳定性测试用例将待加密数据和与其相应的解密数据进行对比,并根据对比结果,确定安全设备稳定性的测试结果。
以下针对各个模块的具体实现做进一步的说明:
第一构造模块401,基于预定的稳定性测试用例来构造多个待加密数据。
具体地,如图5所示,第一构造模块401,基于预定的稳定性测试用例来构造多个待加密数据,具体包括:获取单元501,基于遍历所述安全设备的数据库中的待加密数据的类型信息,获取稳定性测试用例对应的目标应用的多个待加密数据的类型信息;设置单元502,针对各个待加密数据的类型信息,设置多个对应的待加密数据。
其中,待加密数据的类型信息包括但不限于:字段类型信息;例如:客户名称、邮箱地址、电话、客户简介。
具体地,待加密数据的类型信息的获取方式包括:通过查看目标应用的字段的类型信息,确定被保护的字段的类型信息,即需要加密的字段的类型信息,并抓取该被保护的字段的类型信息,将该被保护的字段的类型信息存储到安全设备的数据库相应的列表中,作为该列表的字段。
例如,基于预定的稳定性测试用例,测试服务器中的获取单元501通过查询的方式对安全设备的数据库相应的列表中的所有待加密待数据的字段的类型信息进行遍历,设置单元502对每个待加密数据的字段的类型信息设置多个对应的待加密数据;如,待加密的字段的类型信息为“客户名称”,设置其对应的待加密数据为“奇虎”、“百度”、“微软”和“谷歌”等。
加密模块402,将多个待加密数据同时发送至安全设备进行加密,生成多个加密数据。
其中,加密数据集根据不同业务场景的适配,通过批量设置生成模拟业务场景的加密数据。
具体地,测试服务器中的加密模块402将同字段的类型信息所对应的多个待加密数据和/或不同字段的类型信息所对应的多个待加密数据以表单的形式,同时发送至安全设备,安全设备根据其数据库中记录的每个字段的类型信息所对应的加密算法,对表单中的字段的类型信息所对应的待加密数据进行加密处理,并生成相应加密算法的加密数据。当加密数据生成后,安全设备会将包含加密数据的表单发送至目标应用服务器。
其中,加密算法包括但不限于:标记化token算法。
此处需要说明的是,测试服务器中的获取单元501通过遍历安全设备的数据库中记录的所有字段的类型信息,从而实现了覆盖安全设备的所有需要测试的字段的类型信息,更加全面地对安全设备稳定性的进行测试,减少安全设备的漏测问题的发生。
第一获取模块403,获取通过安全设备对多个加密数据进行相应解密的解密数据。
具体地,安全设备接收目标应用服务器响应于包含加密数据的反馈信息,并根据其数据库中记录的字段的类型信息的加密算法,将包含加密数据的反馈信息进行相应的解密,得到相应的解密数据并将该解密数据返回至测试服务器的第一获取模块403,测试服务器的第一获取模块403对获得到的解密数据进行记录并存储。
在高并发情况下,测试服务器对安全设备的加解密的业务场景进行测试,大大提高了安全设备的测试质量。
对比模块404,基于稳定性测试用例将待加密数据和与其相应的解密数据进行对比,并根据对比结果,确定安全设备稳定性的测试结果。
具体地,对比模块404,基于稳定性测试用例,测试服务器将待加密数据和接收到的解密数据进行对比,根据对比结果,确定所有待加密数据是否成功加密,测试服务器会对其中没有成功加密的待加密数据重新进行加密的测试。若所有待加密数据均成功加密,则说明安全设备稳定性的加密测试成功;安全设备稳定性的解密测试与安全设备稳定性的加密测试相似,就此不再赘述。
具体地,该装置如图6所示,还包括:第二构造模块601,基于稳定性测试用例来构造混合流量,并将混合流量发送至安全设备;第二获取模块602,通过检测安全设备,接收混合流量下的安全设备性能数据。
其中,混合流量包括目标流量和非目标流量;目标流量即为发送至目标应用服务器的流量,非目标流量即为发送至其他网络服务器的流量。
性能数据包括但不限于:中央处理器cpu数据、内存数据、吞吐量。
响应于混合流量的数据信息包括但不限于:cookie数据、页面数据。
获取性能数据的方式包括:通过软件系统检测工具检测安全设备,以获取安全设备的性能数据,如cpu的利用率、内存的占用率等。
此处需要指明的是,非目标流量不是安全设备进行加解密处理的流量,安全设备需要对非目标流量进行转发处理,即安全设备对待加密数据的加密处理不能影响非目标流量的正常访问,如果测试服务器的第二获取模块602没有接收到针对非目标流量的响应数据信息,如cookie、页面数据等,则说明安全设备稳定性的测试出现了异常,必须对安全设备转发非目标流量处理进行再次测试。
具体地,测试服务器中的第二构造模块601,获取针对多个目标页面信息的访问请求和针对非目标页面信息的访问请求,将所有访问请求同时发送至安全设备,以生成目标流量和非目标流量作为混合流量。。
其中,目标页面信息的访问请求包括:目标页面的互联网协议地址ip数据;该目标页面的互联网协议地址ip数据通过查询预定的ip-域名库得到;安全设备通过对目标页面的互联网协议地址ip数据进行判断,确定其为发送至目标应用服务器的目标流量。
非目标页面信息的访问请求包括:非目标页面的互联网协议地址ip数据,该非目标页面的互联网协议地址ip数据通过查询预定的ip-域名库得到;安全设备通过对非目标页面的互联网协议地址ip数据进行判断,确定其为发送至其他网络服务器的非目标流量。
具体地,目标页面所对应的访问请求和非目标页面所对应的访问请求基于预定的混合比例以及不同数据复杂度的构造数据进行混合。
其中,通过修改自动化测试脚本中的控制参数,来确定发送加密数据产生流量的持续时间;控制参数包括但不限于:控制产生流量的持续时间的参数。
此处需要指明的是,通过对非目标流量和目标流量进行预定比例的混合,使得安全设备接收到一定压力值的混合流量,通过分析接收到的安全设备的性能数据,更加准确地确定安全设备的性能的可靠度。同时,通过修改控制参数,来控制安全设备接收到的混合流量的压力值,能更加精确地确定出安全设备的可靠度的临界值,从而实现对安全设备的性能测试的评估。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。