CN107729245A - 一种基于usb盘的模拟系统故障的测试方法 - Google Patents

一种基于usb盘的模拟系统故障的测试方法 Download PDF

Info

Publication number
CN107729245A
CN107729245A CN201710953519.5A CN201710953519A CN107729245A CN 107729245 A CN107729245 A CN 107729245A CN 201710953519 A CN201710953519 A CN 201710953519A CN 107729245 A CN107729245 A CN 107729245A
Authority
CN
China
Prior art keywords
usb disk
target
target usb
script
failure
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.)
Granted
Application number
CN201710953519.5A
Other languages
English (en)
Other versions
CN107729245B (zh
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710953519.5A priority Critical patent/CN107729245B/zh
Publication of CN107729245A publication Critical patent/CN107729245A/zh
Application granted granted Critical
Publication of CN107729245B publication Critical patent/CN107729245B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • 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/368Test management for test version control, e.g. updating test cases to a new software version
    • 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/3696Methods or tools to render software testable

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)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种基于USB盘的模拟系统故障的测试方法,包括:预先将目标测试系统的系统版本包写入目标USB盘,并将预设故障注入脚本写入目标USB盘;将目标USB盘和被测试设备进行连接;重启被测试设备内的目标测试系统,触发预设故障注入脚本对应的故障;执行故障状态下的测试;在测试完成后,移除目标USB盘。将USB盘制作成系统安装启动盘的功能,将带有预设故障的USB盘连接到被测试系统的设备上,使得故障直接注入到被测试系统中,此时可进行故障处理过程的验证,而且移除USB盘后故障可自动解除,从而实现模拟故障修复后被测系统的下一步处理,不仅达到了测试的目的,且使得测试方法更为的简单直接准确。

Description

一种基于USB盘的模拟系统故障的测试方法
技术领域
本发明涉及软件系统测试技术领域,特别是涉及一种基于USB盘的模拟系统故障的测试方法。
背景技术
在系统测试过程中,为了测试系统的可靠性,需要模拟各种故障异常进行测试,从而运用到各种方法来最大限度的模拟故障现场。从而运用到各种方法来最大限度的模拟故障现场,以此来验证系统的可靠性和故障恢复功能。
有些故障模拟可直接使用手动完成,比如插拔部件模拟部件的失效和系统的热备等。有些故障直接使用编写的脚本来远程完成故障模拟,比如交换机的端口失效,系统的重启等。而有些系统正在启动中的故障通过手动或者脚本无法模拟到更接近故障的现场,比如系统升级过程中系统被挂住而不能继续升级,系统启动中丢失了系统数据等。虽然手动或者脚本可以模拟类似的场景,但是手动无法把握注入的时间点,而且方法的简单粗暴往往杀掉了一些影响故障的进程,脚本虽然可以准确定位系统运行的时间点,但是对于在硬件和软件较为复杂的系统,往往实现起来非常的困难,比如远程监控系统的各种过程,控制故障状态持续的时间等,费时费力的同时往往达不到预期效果。
因此,如何简单准确地实现系统测试的目的,是本领域技术人员目前需要解决的技术问题。
发明内容
本发明的目的是提供一种基于USB盘的模拟系统故障的测试方法,可以简单准确地实现系统测试的目的。
为解决上述技术问题,本发明提供了如下技术方案:
一种基于USB盘的模拟系统故障的测试方法,包括:
预先将目标测试系统的系统版本包写入目标USB盘,并将预设故障注入脚本写入所述目标USB盘;
将所述目标USB盘和被测试设备进行连接;
重启所述被测试设备内的目标测试系统,触发所述预设故障注入脚本对应的故障;
执行故障状态下的测试;
在测试完成后,移除所述目标USB盘。
优选地,所述预先将目标测试系统的系统版本包写入目标USB盘,并将预设故障注入脚本写入所述目标USB盘,包括:
将目标USB盘挂载在linux系统上,并对所述目标USB盘进行分区格式化;
构建目标测试系统的系统版本包的空版本包文件和包含预设故障的系统更新安装包的脚本,并将所述空版本包文件和脚本写入至所述目标USB盘。
优选地,所述将目标USB盘挂载在linux系统上,并对所述目标USB盘进行分区格式化,包括:
将所述目标USB盘插入到操作系统为linux的服务器上;
验证所述服务器的当前运行环境是否为linux系统以及root账户;
若是,则清空所述目标USB盘;
将所述目标USB盘创建预设个数的分区,并格式化为文件系统。
优选地,所述清空所述目标USB盘,包括:
以写零的方式将所述目标USB盘清空。
优选地,所述将所述目标USB盘创建预设个数的分区,并格式化为文件系统,包括:
将所述目标USB盘创建3个分区并格式化为文件系统,三个分区分别命名为EMPTY、PenDrive、DATA,其中EMPTY、DATA被格式化成DOS文件系统,PenDrive被格式化成ext2文件系统。
优选地,所述构建目标测试系统的系统版本包的空版本包文件和包含预设故障的系统更新安装包的脚本,并将所述空版本包文件和脚本写入至所述目标USB盘,包括:
预先制作shell脚本Pendrive-fake.sh,该脚本如下:Sudo Pendrive-fake.sh-fempty_build_file-d device-r re-install_script,其中,-f为写入到所述目标USB盘的空版本包文件,-d为所述目标USB盘在linux的设备符,-r为注入故障的脚本文件;
将所述目标USB盘挂载到所述分区PenDrive上;
将empty_build_file拷贝到分区PenDrive的/initfiles目录下,并将re-install_script拷贝到分区PenDrive的根目录下。
优选地,所述将所述目标USB盘和被测试设备进行连接,为:将所述目标USB盘插入所述被测试设备上,进行通信连接。
与现有技术相比,上述技术方案具有以下优点:
本发明所提供的一种基于USB盘的模拟系统故障的测试方法,包括:预先将目标测试系统的系统版本包写入目标USB盘,并将预设故障注入脚本写入目标USB盘;将目标USB盘和被测试设备进行连接;重启被测试设备内的目标测试系统,触发预设故障注入脚本对应的故障;执行故障状态下的测试;在测试完成后,移除目标USB盘。将USB盘制作成系统安装启动盘的功能,将带有预设故障的USB盘连接到被测试系统的设备上,使得故障直接注入到被测试系统中,在USB盘不移除的情况下故障一直存在,此时可进行故障处理过程的验证,而且移除USB盘后故障可自动解除,从而实现模拟故障修复后被测系统的下一步处理,不仅达到了测试的目的,且使得测试方法更为的简单直接准确。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于USB盘的模拟系统故障的测试方法流程图。
具体实施方式
本发明的核心是提供一种基于USB盘的模拟系统故障的测试方法,可以简单准确地实现系统测试的目的。
为了使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施的限制。
请参考图1,图1为本发明一种基于USB盘的模拟系统故障的测试方法流程图。
本发明的一种具体实施方式提供了一种基于USB盘的模拟系统故障的测试方法,包括:
S11:预先将目标测试系统的系统版本包写入目标USB盘,并将预设故障注入脚本写入目标USB盘。
在本实施方式中,首先制作USB故障模拟盘。USB故障模拟盘的制作过程如下:
预先将目标测试系统的系统版本包写入目标USB盘,并将预设故障注入脚本写入目标USB盘,包括:将目标USB盘挂载在linux系统上,并对目标USB盘进行分区格式化;构建目标测试系统的系统版本包的空版本包文件和包含预设故障的系统更新安装包的脚本,并将空版本包文件和脚本写入至目标USB盘。
进一步地,将目标USB盘挂载在linux系统上,并对目标USB盘进行分区格式化,包括:将目标USB盘插入到操作系统为linux的服务器上;验证服务器的当前运行环境是否为linux系统以及root账户;若是,则清空目标USB盘,其中,清空目标USB盘,包括:以写零的方式将目标USB盘清空。将目标USB盘创建预设个数的分区,并格式化为文件系统。其中,将目标USB盘创建预设个数的分区,并格式化为文件系统,包括:将目标USB盘创建3个分区并格式化为文件系统,三个分区分别命名为EMPTY、PenDrive、DATA。其中EMPTY、PenDrive两个分区是比较小的分区,用来保存所需要的文件;DATA分区用来存放私有数据。其中EMPTY、DATA被格式化成DOS文件系统,PenDrive被格式化成ext2文件系统。
在linux系统的root账户下,通过编写好的制作脚本,设置自定义参数来完成USB故障盘的制作,自定义参数包括空版本文件、故障注入脚本和USB盘设备符。
构建目标测试系统的系统版本包的空版本包文件和包含预设故障的系统更新安装包的脚本,并将空版本包文件和脚本写入至目标USB盘,包括:预先制作shell脚本Pendrive-fake.sh,该脚本如下:Sudo Pendrive-fake.sh-f empty_build_file-ddevice-r re-install_script,其中,-f为写入到目标USB盘的空版本包文件,此文件可构建一个空版本包,用于被测系统重新安装时所用的版本文件;-d为目标USB盘在linux的设备符;-r为注入故障的脚本文件,此文件可构建一个更新安装包,用于被测系统重新安装过程中故障的触发,可携带指定的某种故障;将目标USB盘挂载到分区PenDrive上;将empty_build_file拷贝到分区PenDrive的/initfiles目录下,并将re-install_script拷贝到分区PenDrive的根目录下。
采用USB盘作为被测系统安装启动盘,使用一个空的系统版本包写入USB盘,且将要注入的某个故障构建成一个系统更新安装包,然后作为更改系统的脚本写入USB盘,以在被测试系统重启时自动识别USB盘触发自动更新安装过程,之后被测系统就会被修改进入期望的故障状态,从而实现相应的故障的注入。其中,写入USB盘的空版本包文件对被测系统不更新任何的安装文件,而构建的系统更新安装包才是真正意义上的故障注入脚本,通过重新安装系统实现系统状态的修改,从而只需要通过USB盘的插入到被测试设备上就可以实现多种不同故障的模拟测试,在故障状态喜爱可自控时间进行测试。
S12:将目标USB盘和被测试设备进行连接。将目标USB盘和被测试设备进行连接,为:将目标USB盘插入被测试设备上,进行通信连接。
S13:重启被测试设备内的目标测试系统,触发预设故障注入脚本对应的故障。
S14:执行故障状态下的测试。
S15:在测试完成后,移除目标USB盘。
需要说明的是,将USB盘插入到被测系统的设备上,先决条件时被测系统的内核系统为linux内核,然后,被测系统重启后触发相应的故障,在故障状态下,执行所要执行的测试,最后测试完成后,将USB盘移除,故障解除,被测系统恢复到正常状态。
本实施方式采用USB盘可作为linux系统启动盘的功能,结合将故障注入脚本构建成安装更新包写入到USB盘中,以提高一种模拟故障注入的测试方法,时间较为简单快捷,更加精确地模拟一些故障场景。
以上对本发明所提供的一种基于USB盘的模拟系统故障的测试方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (7)

1.一种基于USB盘的模拟系统故障的测试方法,其特征在于,包括:
预先将目标测试系统的系统版本包写入目标USB盘,并将预设故障注入脚本写入所述目标USB盘;
将所述目标USB盘和被测试设备进行连接;
重启所述被测试设备内的目标测试系统,触发所述预设故障注入脚本对应的故障;
执行故障状态下的测试;
在测试完成后,移除所述目标USB盘。
2.根据权利要求1所述的方法,其特征在于,所述预先将目标测试系统的系统版本包写入目标USB盘,并将预设故障注入脚本写入所述目标USB盘,包括:
将目标USB盘挂载在linux系统上,并对所述目标USB盘进行分区格式化;
构建目标测试系统的系统版本包的空版本包文件和包含预设故障的系统更新安装包的脚本,并将所述空版本包文件和脚本写入至所述目标USB盘。
3.根据权利要求2所述的方法,其特征在于,所述将目标USB盘挂载在linux系统上,并对所述目标USB盘进行分区格式化,包括:
将所述目标USB盘插入到操作系统为linux的服务器上;
验证所述服务器的当前运行环境是否为linux系统以及root账户;
若是,则清空所述目标USB盘;
将所述目标USB盘创建预设个数的分区,并格式化为文件系统。
4.根据权利要求3所述的方法,其特征在于,所述清空所述目标USB盘,包括:
以写零的方式将所述目标USB盘清空。
5.根据权利要求4所述的方法,其特征在于,所述将所述目标USB盘创建预设个数的分区,并格式化为文件系统,包括:
将所述目标USB盘创建3个分区并格式化为文件系统,三个分区分别命名为EMPTY、PenDrive、DATA,其中EMPTY、DATA被格式化成DOS文件系统,PenDrive被格式化成ext2文件系统。
6.根据权利要求5所述的方法,其特征在于,所述构建目标测试系统的系统版本包的空版本包文件和包含预设故障的系统更新安装包的脚本,并将所述空版本包文件和脚本写入至所述目标USB盘,包括:
预先制作shell脚本Pendrive-fake.sh,该脚本如下:Sudo Pendrive-fake.sh-fempty_build_file-d device-r re-install_script,其中,-f为写入到所述目标USB盘的空版本包文件,-d为所述目标USB盘在linux的设备符,-r为注入故障的脚本文件;
将所述目标USB盘挂载到所述分区PenDrive上;
将empty_build_file拷贝到分区PenDrive的/initfiles目录下,并将re-install_script拷贝到分区PenDrive的根目录下。
7.根据权利要求6所述的方法,其特征在于,所述将所述目标USB盘和被测试设备进行连接,为:
将所述目标USB盘插入所述被测试设备上,进行通信连接。
CN201710953519.5A 2017-10-13 2017-10-13 一种基于usb盘的模拟系统故障的测试方法 Active CN107729245B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710953519.5A CN107729245B (zh) 2017-10-13 2017-10-13 一种基于usb盘的模拟系统故障的测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710953519.5A CN107729245B (zh) 2017-10-13 2017-10-13 一种基于usb盘的模拟系统故障的测试方法

Publications (2)

Publication Number Publication Date
CN107729245A true CN107729245A (zh) 2018-02-23
CN107729245B CN107729245B (zh) 2021-04-06

Family

ID=61211177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710953519.5A Active CN107729245B (zh) 2017-10-13 2017-10-13 一种基于usb盘的模拟系统故障的测试方法

Country Status (1)

Country Link
CN (1) CN107729245B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097541A1 (en) * 2003-11-04 2005-05-05 Holland Steven W. Low cost, open approach for vehicle software installation/updating and on-board diagnostics
CN102760098A (zh) * 2012-06-13 2012-10-31 北京航空航天大学 面向bit软件测试的处理器故障注入方法及其模拟器
CN102797693A (zh) * 2012-06-29 2012-11-28 浪潮电子信息产业股份有限公司 一种系统风扇调速功能的测试方法
CN103927260A (zh) * 2014-04-22 2014-07-16 中国移动(深圳)有限公司 一种电信设备测试方法及系统
CN106844130A (zh) * 2017-02-07 2017-06-13 郑州云海信息技术有限公司 一种测试笔记本功能的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097541A1 (en) * 2003-11-04 2005-05-05 Holland Steven W. Low cost, open approach for vehicle software installation/updating and on-board diagnostics
CN102760098A (zh) * 2012-06-13 2012-10-31 北京航空航天大学 面向bit软件测试的处理器故障注入方法及其模拟器
CN102797693A (zh) * 2012-06-29 2012-11-28 浪潮电子信息产业股份有限公司 一种系统风扇调速功能的测试方法
CN103927260A (zh) * 2014-04-22 2014-07-16 中国移动(深圳)有限公司 一种电信设备测试方法及系统
CN106844130A (zh) * 2017-02-07 2017-06-13 郑州云海信息技术有限公司 一种测试笔记本功能的方法及系统

Also Published As

Publication number Publication date
CN107729245B (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
CN103530162B (zh) 一种虚拟机在线自动软件安装的方法及系统
CN110888414B (zh) 一种车辆控制器升级的测试方法
CN102637144B (zh) 一种系统故障的处理方法和装置
CN102707705B (zh) 用于测试批量配置的方法和装置
US10384809B2 (en) Method and apparatus for comparing satellite attitude control performances
CN110704323B (zh) 基于轨道交通线路数据的数据自动化测试方法及装置
CN104536303A (zh) 一种故障注入方法
CN104461611A (zh) 一种rack机柜批量刷新节点bios的方法
CN104730937A (zh) 半实物仿真系统及半实物仿真方法
CN107957874B (zh) 可恢复的驻留式星载软件在轨编程方法
CN107690630B (zh) 计算设备中的桥配置
CN109992515B (zh) 测试方法及装置、电子设备
DE102017211433A1 (de) Verfahren zum Durchführen eines Funktionstests eines Steuergeräts in einem Hardware-in-the-Loop-Test, HIL-Test, sowie HIL-Prüfstand und Steuergerät
CN109460240A (zh) 一种固件烧写组件及固件烧写方法、系统和存储介质
CN104699615B (zh) 一种系统故障的处理方法和装置
CN105868047A (zh) 数据分区的修复方法、装置及终端
CN115147021A (zh) 房地产施工质量管控方法及系统
CN116069635A (zh) Soc系统的测试方法、装置、计算机设备及存储介质
CN107729245A (zh) 一种基于usb盘的模拟系统故障的测试方法
CN101159605B (zh) 一种可实现状态记忆和恢复的流程控制方法
CN111176682B (zh) 设备远程网络在线更新与调试方法
CN114793196A (zh) 固件升级方法、装置、设备和存储介质
CN109117190A (zh) 系统启动方法及装置
CN115237441A (zh) 一种基于云平台的升级测试方法、装置及介质
CN114706595A (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
GR01 Patent grant
GR01 Patent grant