CN109324965A - 一种监测flock导致客户端崩溃的自动化测试方法 - Google Patents
一种监测flock导致客户端崩溃的自动化测试方法 Download PDFInfo
- Publication number
- CN109324965A CN109324965A CN201811088508.6A CN201811088508A CN109324965A CN 109324965 A CN109324965 A CN 109324965A CN 201811088508 A CN201811088508 A CN 201811088508A CN 109324965 A CN109324965 A CN 109324965A
- Authority
- CN
- China
- Prior art keywords
- customer end
- network
- test
- collapsed
- client
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种监测flock导致客户端崩溃的自动化测试方法,包括:配置客户端A和客户端B的测试环境;在客户端A和客户端B配置加锁测试程序;在客户端A配置时间定位测试脚本;执行时间定位测试脚本,时间定位测试脚本结合加锁测试程序测试客户端A断网时长对客户端B崩溃的影响。本发明包含加锁测试程序和时间定位测试脚本,可准确复现flock导致客户端崩溃的现象,确定引起客户端崩溃的网络超时时间,实时监控,且快速简单方便,有效节省测试时间,提高工作效率。
Description
技术领域
本发明涉及开发程序测试领域,具体涉及一种监测flock导致客户端崩溃的自动化测试方法。
背景技术
在开发过程中,经常会出现服务依赖的数据变动不是特别频繁的情况,例如天或周级别的更新。这类数据通常是格式化后存储在数据文件中,即以数据文件的形式进行数据更新。对于这种类型的文件,如果有两个不同的进程在分别对其进行写和读,这就出现了多个进程下对文件的读写冲突问题。为解决多个进程对同一文件的读写冲突,提出了flock(文件锁)功能,用来实现对文件的读写保护。但是,在客户端与集群之间的网络环境不稳定或者断电的情况下,再次对同一文件进行加锁,flock功能有可能会导致客户端崩溃的现象。由于网络超时时间的不确定,该问题并不是必现的,因此定位网络超时多长时间会引起客户端的崩溃,对于后续的解决方案的提出是十分有必要的。
发明内容
为解决上述问题,本发明提供一种监测flock导致客户端崩溃的自动化测试方法,确定引起客户端崩溃的网络超时时间。
本发明的技术方案是:一种监测flock导致客户端崩溃的自动化测试方法,包括:
配置客户端A和客户端B的测试环境;
在客户端A和客户端B配置加锁测试程序;
在客户端A配置时间定位测试脚本;
执行时间定位测试脚本,时间定位测试脚本结合加锁测试程序测试客户端A断网时长对客户端B崩溃的影响。
进一步地,所述时间定位测试脚本结合加锁测试程序测试客户端A断网时长对客户端B崩溃的影响具体包括:
启动客户端A加锁测试程序对指定文件进行加锁及状态检测;
将客户端A网络断开待测时长,待测时长后恢复客户端A网络;
客户端A恢复网络后,启动客户端B加锁测试程序对指定文件进行加锁及状态检测,检测客户端B是否发生崩溃;
若客户端B未崩溃,则重新执行时间定位测试脚本,重复上述步骤;
若客户端B崩溃,则输出待测时长,并停止。
进一步地,所述客户端A加锁测试程序对指定文件进行加锁及状态检测具体包括:
对指定文件进行上锁;
检测指定文件状态,若指定文件上锁成功,则输出上锁成功提示;
持续检测指定文件状态,当检测到指定文件状态发生变化时,输出解锁成功提示。
进一步地,将客户端A网络断开待测时长,待测时长后恢复客户端A网络具体包括:
断开客户端A网络;
检测客户端A网络是否断开;
若未断开,则继续检测客户端A网络是否断开;
若断开,则等待待测时长后恢复客户端A网络;
检测客户端A网络是否恢复;
若未恢复,则继续检测客户端A网络是否恢复;
若恢复,则启动客户端B加锁测试程序对指定文件进行加锁及状态检测,检测客户端B是否发生崩溃。
进一步地,
待测时长为(N+1)*10秒,其中N为时间定位测试脚本循环执行次数。
进一步地,检测客户端A网络是否断开具体包括:
若加锁测试程序输出解锁成功提示,则判断为客户端A网络断开。
进一步地,检测客户端A网络是否恢复具体包括:
若加锁测试程序输出上锁成功提示,则判断为客户端A网络恢复。
进一步地,配置客户端A和客户端B的测试环境具体包括:
配置多集群节点;
客户端A和客户端B进行fuse挂载;
配置客户端A和客户端B之间的免密登录;
创建指定文件。
进一步地,配置客户端A和客户端B之间的免密登录具体包括:
修改客户端A和客户端B的/etc/hosts文件,增加各自ip地址及客户端名称。
本发明提供的监测flock导致客户端崩溃的自动化测试方法,包含加锁测试程序和时间定位测试脚本,可准确复现flock导致客户端崩溃的现象,确定引起客户端崩溃的网络超时时间,实时监控;且本方法只需将加锁测试程序和时间定位测试脚本放置于客户端,执行该程序和脚本,快速简单方便,有效节省测试时间,提高工作效率。
附图说明
图1是本发明具体实施例客户端网络拓扑结构示意图。
图2是本发明具体实施例方法流程示意图。
图3是本发明具体实施例时间定位测试脚本执行过程示意图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
如图1所示,本实施例以该图所示的客户端与集群网络拓扑结构进行自动化测试,其结构为:存储端包含3节点,当前每节点两口万兆网口,分别用于后端交换网络和前端业务网络,客户端A和客户端B均是通过fuse与存储端连接。
如图2所示,本方法通过加锁测试程序和时间定位测试脚本相互配合监测客户端崩溃现象,具体实现方法如下:
S101:配置客户端A和客户端B的测试环境。
该步骤具体包括以下过程:
S101-1:配置多集群节点。本实施例包括三个集群节点。
S101-2:客户端A和客户端B进行fuse挂载。
需要说明的是,集群节点正常的情况下,对客户端A和客户端B进行fuse挂载。
S101-3:配置客户端A和客户端B之间的免密登录。
需要说明的是,实现免密登录的方式是:客户端A和客户端B修改/etc/hosts文件,增加各自ip地址及客户端名称,即可实现客户端之间的免密登录。
S101-4:创建指定文件。
需要说明的是,可创建指定文件test.txt,将该文件放入客户端A和B的/mnt/icfs目录下,以利用该文件进行后续的崩溃测试。
S102:在客户端A和客户端B配置加锁测试程序。
需要说明的是,加锁测试程序可放于客户端A和客户端B的根目录下,加锁测试程序可命名为dolock测试程序。
加锁测试程序主要实现指定目录下指定文件test.txt的加锁与状态检测。
S103:在客户端A配置时间定位测试脚本。
时间定位测试脚本为test.py自动化脚本,在客户端A配置该脚本并执行,控制客户端A的网络通断。
S104:执行时间定位测试脚本,时间定位测试脚本结合加锁测试程序测试客户端A断网时长对客户端B崩溃的影响。
如图3所示,时间定位测试脚本执行过程,实现时间定位测试脚本结合加锁测试程序测试客户端A断网时长对客户端B崩溃的影响具体包括步骤:
S104-1:启动客户端A加锁测试程序对指定文件进行加锁及状态检测;
S104-2:将客户端A网络断开待测时长,待测时长后恢复客户端A网络;
需要说明的是,客户端A网络断开是指客户端A与集群的网络断开。断开的待测时长可以为(N+1)*10秒,其中N为时间定位测试脚本循环执行次数;如,脚本第一次执行时,网络断开10s,客户端B不崩溃,脚本执行第二次,该次网络断开20s,以此类推;
S104-3:客户端A恢复网络后,启动客户端B加锁测试程序对指定文件进行加锁及状态检测,检测客户端B是否发生崩溃;
S104-4:若客户端B未崩溃,则重新执行时间定位测试脚本,重复上述步骤;
S104-5:若客户端B崩溃,则输出待测时长,并停止。所输出的待测时长即可引起客户端崩溃的网络断开时间。
其中,步骤S104-1客户端A加锁测试程序对指定文件进行加锁及状态检测有以下过程:
对指定文件进行上锁;
检测指定文件状态,若指定文件上锁成功,则输出上锁成功提示;
持续检测指定文件状态,当检测到指定文件状态发生变化时,输出解锁成功提示。
步骤S104-2将客户端A网络断开待测时长,待测时长后恢复客户端A网络包含以下过程:
断开客户端A网络;
检测客户端A网络是否断开;
若未断开,则继续检测客户端A网络是否断开;
若断开,则等待待测时长后恢复客户端A网络;
检测客户端A网络是否恢复;
若未恢复,则继续检测客户端A网络是否恢复;
若恢复,则启动客户端B加锁测试程序对指定文件进行加锁及状态检测,检测客户端B是否发生崩溃。
需要说明的是,上述检测客户端A网络是否断开的依据可以是:若加锁测试程序输出解锁成功提示,则判断为客户端A网络断开。上述检测客户端A网络是否恢复的依据可以是:若加锁测试程序输出上锁成功提示,则判断为客户端A网络恢复。
本实施例的监测flock导致客户端崩溃的自动化测试方法,通过时间定位脚本可实时监控客户端状态,并定位引起客户端崩溃的网络超时的具体时间。该方法包含dolock测试程序以及时间定位测试脚本tesh.py,可应用于任意AS13000存储产品中,只需将测试脚本和测试程序放入指定目录下,执行test.py脚本进行测试,快速简单方便,有效节省测试时间,提高工作效率。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (9)
1.一种监测flock导致客户端崩溃的自动化测试方法,其特征在于,包括:
配置客户端A和客户端B的测试环境;
在客户端A和客户端B配置加锁测试程序;
在客户端A配置时间定位测试脚本;
执行时间定位测试脚本,时间定位测试脚本结合加锁测试程序测试客户端A断网时长对客户端B崩溃的影响。
2.根据权利要求1所述的监测flock导致客户端崩溃的自动化测试方法,其特征在于,所述时间定位测试脚本结合加锁测试程序测试客户端A断网时长对客户端B崩溃的影响具体包括:
启动客户端A加锁测试程序对指定文件进行加锁及状态检测;
将客户端A网络断开待测时长,待测时长后恢复客户端A网络;
客户端A恢复网络后,启动客户端B加锁测试程序对指定文件进行加锁及状态检测,检测客户端B是否发生崩溃;
若客户端B未崩溃,则重新执行时间定位测试脚本,重复上述步骤;
若客户端B崩溃,则输出待测时长,并停止。
3.根据权利要求2所述的监测flock导致客户端崩溃的自动化测试方法,其特征在于,所述客户端A加锁测试程序对指定文件进行加锁及状态检测具体包括:
对指定文件进行上锁;
检测指定文件状态,若指定文件上锁成功,则输出上锁成功提示;
持续检测指定文件状态,当检测到指定文件状态发生变化时,输出解锁成功提示。
4.根据权利要求3所述的监测flock导致客户端崩溃的自动化测试方法,其特征在于,将客户端A网络断开待测时长,待测时长后恢复客户端A网络具体包括:
断开客户端A网络;
检测客户端A网络是否断开;
若未断开,则继续检测客户端A网络是否断开;
若断开,则等待待测时长后恢复客户端A网络;
检测客户端A网络是否恢复;
若未恢复,则继续检测客户端A网络是否恢复;
若恢复,则启动客户端B加锁测试程序对指定文件进行加锁及状态检测,检测客户端B是否发生崩溃。
5.根据权利要求4所述的监测flock导致客户端崩溃的自动化测试方法,其特征在于,
待测时长为(N+1)*10秒,其中N为时间定位测试脚本循环执行次数。
6.根据权利要求4所述的监测flock导致客户端崩溃的自动化测试方法,其特征在于,检测客户端A网络是否断开具体包括:
若加锁测试程序输出解锁成功提示,则判断为客户端A网络断开。
7.根据权利要求4所述的监测flock导致客户端崩溃的自动化测试方法,其特征在于,检测客户端A网络是否恢复具体包括:
若加锁测试程序输出上锁成功提示,则判断为客户端A网络恢复。
8.根据权利要求1-7任一项所述的监测flock导致客户端崩溃的自动化测试方法,其特征在于,配置客户端A和客户端B的测试环境具体包括:
配置多集群节点;
客户端A和客户端B进行fuse挂载;
配置客户端A和客户端B之间的免密登录;
创建指定文件。
9.根据权利要求8所述的监测flock导致客户端崩溃的自动化测试方法,其特征在于,配置客户端A和客户端B之间的免密登录具体包括:
修改客户端A和客户端B的/etc/hosts文件,增加各自ip地址及客户端名称。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811088508.6A CN109324965B (zh) | 2018-09-18 | 2018-09-18 | 一种监测flock导致客户端崩溃的自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811088508.6A CN109324965B (zh) | 2018-09-18 | 2018-09-18 | 一种监测flock导致客户端崩溃的自动化测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109324965A true CN109324965A (zh) | 2019-02-12 |
CN109324965B CN109324965B (zh) | 2022-03-04 |
Family
ID=65265049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811088508.6A Active CN109324965B (zh) | 2018-09-18 | 2018-09-18 | 一种监测flock导致客户端崩溃的自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109324965B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109412891A (zh) * | 2018-10-19 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种检测客户端状态的方法和装置 |
CN112437152A (zh) * | 2020-11-20 | 2021-03-02 | 北京百度网讯科技有限公司 | 崩溃处理方法、装置、电子设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355775A (zh) * | 2008-08-15 | 2009-01-28 | 中兴通讯股份有限公司 | 配置数据批量导入装置及其多客户端互斥方法 |
CN102238043A (zh) * | 2010-05-05 | 2011-11-09 | 东方宇阳信息科技(北京)有限公司 | 一种基于客户端检测可靠连接是否有效的方法 |
CN103077108A (zh) * | 2013-01-07 | 2013-05-01 | 北京奇虎科技有限公司 | 一种对浏览器崩溃进行预警的方法和系统 |
US20140040347A1 (en) * | 2012-07-31 | 2014-02-06 | International Business Machines Corporation | Method and system for a web server transmitting a response to an access request |
CN104579780A (zh) * | 2015-01-09 | 2015-04-29 | 北京京东尚科信息技术有限公司 | 模拟网络断网的方法和装置 |
CN106603325A (zh) * | 2016-10-25 | 2017-04-26 | 上海斐讯数据通信技术有限公司 | 一种控制客户端挂载网络文件服务器的方法与系统 |
CN107204899A (zh) * | 2017-06-30 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种网卡的测试方法、装置及终端 |
CN107515935A (zh) * | 2017-08-29 | 2017-12-26 | 郑州云海信息技术有限公司 | 一种解除文件锁故障的方法及系统 |
CN107766193A (zh) * | 2017-11-07 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种ib卡性能自动测试方法及系统 |
-
2018
- 2018-09-18 CN CN201811088508.6A patent/CN109324965B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355775A (zh) * | 2008-08-15 | 2009-01-28 | 中兴通讯股份有限公司 | 配置数据批量导入装置及其多客户端互斥方法 |
CN102238043A (zh) * | 2010-05-05 | 2011-11-09 | 东方宇阳信息科技(北京)有限公司 | 一种基于客户端检测可靠连接是否有效的方法 |
US20140040347A1 (en) * | 2012-07-31 | 2014-02-06 | International Business Machines Corporation | Method and system for a web server transmitting a response to an access request |
CN103077108A (zh) * | 2013-01-07 | 2013-05-01 | 北京奇虎科技有限公司 | 一种对浏览器崩溃进行预警的方法和系统 |
CN104579780A (zh) * | 2015-01-09 | 2015-04-29 | 北京京东尚科信息技术有限公司 | 模拟网络断网的方法和装置 |
CN106603325A (zh) * | 2016-10-25 | 2017-04-26 | 上海斐讯数据通信技术有限公司 | 一种控制客户端挂载网络文件服务器的方法与系统 |
CN107204899A (zh) * | 2017-06-30 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种网卡的测试方法、装置及终端 |
CN107515935A (zh) * | 2017-08-29 | 2017-12-26 | 郑州云海信息技术有限公司 | 一种解除文件锁故障的方法及系统 |
CN107766193A (zh) * | 2017-11-07 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种ib卡性能自动测试方法及系统 |
Non-Patent Citations (1)
Title |
---|
钱迎进: "大规模Lustre集群文件系统关键技术的研究", 《中国博士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109412891A (zh) * | 2018-10-19 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种检测客户端状态的方法和装置 |
CN109412891B (zh) * | 2018-10-19 | 2022-04-22 | 郑州云海信息技术有限公司 | 一种检测客户端状态的方法和装置 |
CN112437152A (zh) * | 2020-11-20 | 2021-03-02 | 北京百度网讯科技有限公司 | 崩溃处理方法、装置、电子设备和存储介质 |
CN112437152B (zh) * | 2020-11-20 | 2022-05-17 | 北京百度网讯科技有限公司 | 崩溃处理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109324965B (zh) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bagchi et al. | Dependency analysis in distributed systems using fault injection: Application to problem determination in an e-commerce environment | |
US20090222697A1 (en) | Dynamic functional testing coverage based on failure dependency graph | |
CN112256558A (zh) | 一种测试用例的生成方法、装置、计算机设备及存储介质 | |
CN109344056B (zh) | 一种测试方法以及测试装置 | |
US10354031B2 (en) | Information processing by interpenetrating signal transmission channel in design for testability of chip | |
CN109324965A (zh) | 一种监测flock导致客户端崩溃的自动化测试方法 | |
CN108664388A (zh) | 动态字段数据返回接口的测试系统、方法、电子设备和可读存储介质 | |
CN107577591A (zh) | 一种自动化测试异常保护的方法、装置及系统 | |
CN107832177A (zh) | 一种多gpu系统的edp测试方法、系统、设备及存储介质 | |
CN104346279A (zh) | 一种软件测试方法及装置 | |
CN108255717B (zh) | 接口自动化测试优化方法、系统、电子设备和存储介质 | |
CN101098259B (zh) | 一种实现大数据冲击的自动化测试的方法和系统 | |
CN111404780B (zh) | 一种远程直接存储器访问网络集群的功能测试方法和装置 | |
CN104199743B (zh) | 一种配电网历史数据服务接口的一致性校验方法 | |
CN105653408A (zh) | 一种基于bmc ipmitool命令单节点批量控制进行power cycle开关机的测试方法 | |
CN112596934A (zh) | 一种故障测试方法及装置 | |
CN111400276A (zh) | 实时同步数据库迁移装置及方法 | |
CN105204989A (zh) | 移动终端、服务器、检测应用程序的系统及其方法 | |
CN111767166A (zh) | 数据备份的方法和装置 | |
CN112994973B (zh) | 物联网设备的自动化批量测试方法及装置、计算机可读存储介质 | |
CN115454860A (zh) | 一种自动化测试的方法、装置、存储介质及电子设备 | |
CN111240920B (zh) | 性能测试方法、装置、服务器及存储介质 | |
CN113722133B (zh) | 一种内存泄漏检测方法、装置及设备 | |
CN110752946B (zh) | 一种bmc网络的恢复方法、系统及装置 | |
CN114978973B (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 |