一种故障注入测试方法、测试设备和测试系统与流程

文档序号:37889397发布日期:2024-05-09 21:33阅读:9来源:国知局
一种故障注入测试方法、测试设备和测试系统与流程

本技术涉及服务器,尤其涉及一种故障注入测试方法、测试设备和测试系统。


背景技术:

1、随着计算机技术的不断进步,操作系统越来越复杂,涉及的系统组件和功能也愈发繁杂,系统故障发生的概率随之增加,发现故障和解决故障变得更加困难。故障注入是一种可靠性验证技术,通过受控实验向系统中刻意引入故障,并观察系统中存在故障时的行为。故障注入技术一般分为:基于硬件的故障注入、基于软件的故障注入以及基于仿真的故障注入。

2、目前,业界针对操作系统的故障注入测试方法主要依赖于手动构建复杂的环境和故障场景,这种方式既耗时又不可控。现有的故障注入模拟工具大多适应单一场景,无法实现针对操作系统多方位实现复杂故障场景的构造。

3、为了保证系统的稳定性和可靠性,开发和测试人员需要针对操作系统的cpu(central processing unit)、memory、io(input/output)、file system、network、hardware等多方面进行故障注入模拟场景测试,使其能够更早的发现和解决系统的故障问题,全面评估系统在复杂环境中的表现。


技术实现思路

1、本技术实施例提供了一种故障注入的测试方法、测试设备和测试系统,通过模拟和注入各种故障情况,例如cpu占用率不均衡、内存耗尽、网络单通故障等,帮助开发和测试人员更深入地理解系统的弱点,找出潜在的漏洞和缺陷。

2、第一方面,本技术实施例提供了一种故障注入的测试方法,在测试设备,方法包括:根据被测设备的故障测试场景配置未编译的测试用例;未编译的测试用例包括故障场景下的一个或多个未编译的故障测试程序;将测试用例包下发到被测设备,测试用例包为编译之后的故障注入测试用例集合;响应于被测设备返回的确认消息,向被测设备发送测试指令;其中,确认信息用于指示通信成功以及测试用例包安装成功;测试指令用于指示调用测试用例的接口信息;接收并显示被测设备返回的测试用例的测试的结果。

3、以此,本技术实施例根据被测设备的故障测试场景配置未编译的测试用例,可以实现自动构建复杂的环境和故障场景,实现针对操作系统多方位实现复杂故障场景的构造;将编译之后的测试用例包下发到被测设备,可以一键式安装部署测试工具;向被测设备发送测试指令,可以让研发和测试人员直观感知故障注入测试的操作流程;接收并显示被测设备返回的测试用例的测试的结果,可以使用户直接获得测试反馈,减少现有故障注入工具需要理解源代码、掌握基本使用命令方法的时间成本,使操作系统故障测试简单化。

4、在一些可以实现的实施方式中,根据被测设备的故障测试场景配置未编译的测试用例包括:确定操作系统;根据操作系统确定故障实例库;故障实例库包括cpu故障、io故障、file system故障、memory故障、network故障和hardware故障相关的未编译的测试用例。

5、以此,本技术实施例利用在操作系统(比如linux)内核集成故障注入的机制设计增加额外的cpu、io、file system、memory、network、hardware等多种类型的故障实例库,实现针对操作系统多方位实现复杂故障场景的构造,解决了现有测试场景单一,测试工具部署复杂使用困难的问题。

6、在一些可以实现的实施方式中,在将编译之后的测试用例包下发到被测设备之前,方法还包括:添加被测设备;确定被测设备的信息;被测设备的信息包括ip地址、用户账号和用户密码;根据被测设备的信息与被测设备建立通信连接。

7、以此,本技术实施例可以选择对被测设备对象和设置访问权限。

8、在一些可以实现的实施方式中,响应于被测设备返回的确认信息,向被测设备发送测试指令之前,方法还包括:确定待测试设备的待测试故障类型以及故障类型所对应的测试用例的接口信息。

9、以此,本技术实施例可以构建多种通用的内核异常场景,针对被测设备模拟各种内核的故障的异常场景进行故障测试,验证被测设备加载的程序的健壮性或加速故障问题的复现,能够在内核功能开发验证的过程中提高故障定位的效率。

10、在一些可以实现的实施方式中,接收并显示被测设备返回的故障测试的结果之前,方法包括:设置故障保持时长;其中,故障保持时长用于控制被测设备执行每个故障注入测试用例的时长;确定故障保持时长是否大于默认时长;在故障保持时长小于默认时长的情况下,提示重新设置故障保持时长;接收并显示被测设备返回的故障注入测试的结果,包括:在故障保持时长大于或等于默认时长的情况下,接收并显示被测设备返回的故障注入的测试结果。

11、在此实施方式中,在故障保持时长小于默认时长的情况下,提示重新设置所述故障保持时长。

12、以此,本技术实施例被测设备在执行时间达到指定时长后结束测试,自动恢复环境,向测试设备返回测试结果,从而可以保证环境的干净度,不会影响下一个注入故障的测试用例的执行。

13、在一些可以实现的实施方式中,将编译之后的测试用例包下发到被测设备,包括:编译未编译的测试用例得到测试用例包;并配置所述测试用例包下发到被测设备的注入目录;被测设备和测试设备的操作系统相同。

14、由于相同的操作系统特定的cpu指令集(如x86指令集或arm指令集)的故障注入测试用例(可执行程序)可以直接移植运行,因此本技术在确定了被测设备的测试环境需要的操作系统后,基于该操作系统编译未编译的测试用例,使得编译后的测试用例可以直接移植运行在设置有相同操作系统的被测设备上;将编译之后的测试用例下发到被测设备的注入目录下,此步骤实现了一键式安装部署测试工具,解决了现有测试场景单一,测试工具部署复杂使用困难的问题。

15、第二方面,本技术实施例提供了一种测试设备,所述测试设备包括:存储器和处理器;所述存储器和所述处理器耦合;所述存储器,用于存储程序指令;所述处理器,用于调用所述程序指令,执行如第一方面任意一项所述的方法。其有益效果如第一方面所述,此处不再赘述。

16、第三方面,本技术实施例提供了一种测试系统,该测试系统包括如第二方面所涉及的测试设备和被测设备;测试设备用于对被测设备进行故障注入测试。

17、在一些可以实现的实施方式中,测试设备与被测设备搭载同一种操作系统;其中,操作系统为基于linux内核的操作系统。

18、第四方面,本技术实施例提供了一种故障注入测试装置,该测试装置包括:配置工具模块,用于根据被测设备的故障测试的场景配置未编译的测试用例;未编译的测试用例包括某类故障场景下的一个或多个未编译的故障注入测试用例;工具下发模块,用于将测试用例包下发到被测设备;其中,测试用例包为编译之后的故障注入测试用例集合;注入故障模块,用于响应于被测设备返回的确认信息,向被测设备发送测试指令;确认信息用于指示通信成功以及测试用例包安装成功;测试指令用于指示调用测试用例的接口信息。测试指令包括某一类型一个或多个测试用例的接口信息;结果显示模块,用于接收并显示被测设备返回的测试用例的测试结果。其有益效果如第一方面所述,此处不再赘述。

19、第五方面,本技术实施例提供了一种存储介质,存储介质中存储有程序指令,当程序指令在测试设备上运行时,使得测试设备执行如第一方面以及其任意可实现方式中所涉及的故障注入测试方法。其有益效果如第一方面所述,此处不再赘述。

20、第八方面,本技术实施例提供了一种包含程序指令的计算机程序产品,当程序指令在测试设备上运行时,使得测试设备执行第一方面以及其任意可实现方式中所涉及的故障注入测试方法。其有益效果如第一方面所述,此处不再赘述。

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