CN102591769B - 一种关机时间检测方法和装置 - Google Patents

一种关机时间检测方法和装置 Download PDF

Info

Publication number
CN102591769B
CN102591769B CN201110445077.6A CN201110445077A CN102591769B CN 102591769 B CN102591769 B CN 102591769B CN 201110445077 A CN201110445077 A CN 201110445077A CN 102591769 B CN102591769 B CN 102591769B
Authority
CN
China
Prior art keywords
time
tpoint2
intended application
point
current
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.)
Expired - Fee Related
Application number
CN201110445077.6A
Other languages
English (en)
Other versions
CN102591769A (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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Qizhi Software Beijing 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 Qizhi Software Beijing Co Ltd filed Critical Qizhi Software Beijing Co Ltd
Priority to CN201110445077.6A priority Critical patent/CN102591769B/zh
Publication of CN102591769A publication Critical patent/CN102591769A/zh
Application granted granted Critical
Publication of CN102591769B publication Critical patent/CN102591769B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请提供了一种关机时间检测方法和装置,涉及测试技术领域。本申请的方法包括:重启系统,并记录系统重启时间点Tpoint1,并根据检测数据存储路径存入记录文件;系统重启后,获取系统的一个时间点Tpoint2,计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件;计算Tpoint2-Tpoint1-T2获得关机时间T1;将获得的关机时间进行分析处理或展示。通过本申请可以准确客观的获得系统的关机时间。

Description

一种关机时间检测方法和装置
技术领域
本申请涉及测试技术领域,特别是涉及一种关机时间检测方法和装置。
背景技术
对于一款软件,从研发到投入市场往往需要经过多个环节的测试,例如软件的稳定程度等。
而随着计算机的发展,客户对于计算机的性能要求也在不断提高,例如客户对于计算机关机时间的要求。因此测试人员经常要评估该软件在应用时,是否影响到原系统配置的关机时间。
现有技术检测系统关机时间一般是通过目测掐表的方式进行,但这种方式基于人为操作,具有比较大的不确定性,误差比较大,不够客观和公平。
发明内容
本申请所要解决的技术问题是提供一种关机时间检测方法和装置,可以精确的检测目标应用的关机时间。
为了解决上述问题,本申请公开了一种关机时间检测的方法,包括:
步骤110,重启系统,并记录系统重启时间点Tpoint1,并根据检测数据存储路径存入记录文件;
步骤120,系统重启后,获取系统的一个时间点Tpoint2,计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件;
步骤130,计算Tpoint2-Tpoint1-T2获得关机时间T1;
步骤140,将获得的关机时间进行分析处理或展示。
优选的,步骤140之前还包括:
若当前系统重启次数小于预置重启次数,则根据重启路径调用重启执行程序进行系统重启;
若当前系统重启次数等于预置重启次数,则根据记录文件中的记录计算平均关机时间。
优选的,获取T2时:
根据所获得的当前时间点Tpoint2,调用系统API函数gettickcount计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2。
优选的,通过如下步骤获取时间点Tpoint2和T2:
在系统登录后,启动终点检测模块,获取系统当前时间点Tpoint2;
并根据所获得的当前时间点Tpoint2,调用系统API函数gettickcount计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2。
优选的,通过如下步骤获取时间点Tpoint2和T2:
步骤S11,在开机加电后,根据预置在注册表中的终点检测模块启动位置,启动终点检测模块;其中,注册表中所述终点检测模块所在启动位置优先于目标应用所在启动位置;
步骤S12,监控目标应用是否启动;
步骤S13,当一目标应用启动,则获取该目标应用当前时间点Tpoint2;计算从系统开机加电开始到所述目标应用当前启动时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件。
优选的,通过如下方式监控目标应用是否启动:
获取监控名单中各目标应用的进程名称或者界面句柄,轮询监控系统进程是否启动了监控名单中各目标应用的进程名称或者界面句柄。
优选的,目标应用的界面句柄的获取方法包括:
通过调用FindWindow函数轮询监控并获取系统进程中属于监控名单的界面句柄,和/或者通过调用spy++函数轮询监控并获取系统进程中属于监控名单的界面句柄。
相应的,本申请还公开了一种关机时间检测的装置,包括:
初始启动记录模块,用于重启系统,并记录系统重启时间点Tpoint1,并根据检测数据存储路径存入记录文件;
终点检测模块,包括:
检测记录子模块,用于系统重启后,获取系统的一个时间点Tpoint2,计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件;
关机时间计算子模块,计算Tpoint2-Tpoint1-T2获得关机时间T1;
处理子模块,将获得的关机时间进行分析处理或展示。
优选的,所述终点检测模块还包括:
重启判断子模块,若当前系统重启次数小于预置重启次数,则根据重启路径调用重启执行程序进行系统重启;
平均时间计算子模块,若当前系统重启次数等于预置重启次数,则根据记录文件中的记录计算平均关机时间。
优选的,在检测记录子模块中获取T2时包括:
根据所获得的当前时间点Tpoint2,调用系统API函数gettickcount计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2。
优选的,检测记录子模块包括:
时间点获取子单元一,用于在系统登录后,启动终点检测模块,获取系统当前时间点Tpoint2;
时间段计算子单元一,用于并根据所获得的当前时间点Tpoint2,调用系统API函数gettickcount计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2。
优选的,检测记录子模块包括:
启动子单元,用于在开机加电后,根据预置在注册表中的终点检测模块启动位置,启动终点检测模块;其中,注册表中所述终点检测模块所在启动位置优先于目标应用所在启动位置;
监控子单元,用于监控目标应用是否启动;
获取计算子单元,用于当一目标应用启动,则获取该目标应用当前时间点Tpoint2;计算从系统开机加电开始到所述目标应用当前启动时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件。
优选的,在监控子单元中通过如下方式监控目标应用是否启动:
获取监控名单中各目标应用的进程名称或者界面句柄,轮询监控系统进程是否启动了监控名单中各目标应用的进程名称或者界面句柄。
优选的,获取目标应用的界面句柄时包括:
通过调用FindWindow函数轮询监控并获取系统进程中属于监控名单的界面句柄,和/或者通过调用spy++函数轮询监控并获取系统进程中属于监控名单的界面句柄。
相应的,本申请还公开了一种不同系统环境关机时间测试方法,包括:
在初始操作系统环境下,获取该系统的系统重启时间点Tpoint1,以及重启后的参考时间点Tpoint2,得到从系统开机加电开始到所述当前时间点Tpoint2的时间段T2;然后,计算Tpoint2-Tpoint1-T2获得第一关机时间
安装待测试软件或硬件;
在安装了待测试软件或硬件的操作系统环境下,获取该系统的系统重启时间点Tpoint1,以及重启后的参考时间点Tpoint2,得到从系统开机加电开始到所述当前时间点Tpoint2的时间段T2;然后,计算Tpoint2-Tpoint1-T2获得第二关机时间;
比较第一关机时间和第二关机时间,以确定所述待测试软件或硬件是否延缓了系统关机时间。
与现有技术相比,本申请包括以下优点:
本申请首先通过记录系统的关机时间点Tpoint1,然后根据预置的终点检测模块启动路径优先于目标应用在系统启动时启动终点检测模块,然后对于启动的目标应用进行监控,记录目标应用的启动时间Tpoint2,并计算目标应用从开机加电时间到该应用当前启动时间点的时间段T2,最后通过Tpoint2、Tpoint1和T2计算获得系统的关机时间。通过本申请首先可以准确客观的获得系统的关机时间。
附图说明
图1是本申请一种关机时间检测方法的流程示意图;
图2是本申请优选的一种关机时间检测方法的流程示意图;
图3是本申请一种关机时间检测系统的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请一种关机实际检测方法的流程示意图,包括:
步骤110,重启系统,并记录系统重启时间点Tpoint1,并根据检测数据存储路径存入记录文件。
在实际中,本申请运行之前还包括配置步骤,在实际中,在系统运行之前还包括:
步骤100,配置目标应用启动检测过程中所需的参数;所述参数包括配置终点检测模块启动路径,检测数据存储路径存,系统自动重启次数。在实际中,还可配置每次自动重启等待的时间。
在实际中,配置的参数则可通过存储路径存入配置记录文件比如set.ini文件中。
其中终点检测模块启动路径也可在系统建立时设置完毕,然后将其路径存入配置记录文件比如set.ini中。
另外在配置完成之后,还包括:
在将预置的终点检测模块启动路径写入系统配置相应位置的启动注册表,并重启系统,同时记录关机的时间点。
比如,可写入系统登录时启动的启动位置,如:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
C:\C.exe
本步骤中,还会判断注册表是否已经写入,如果写入则不在写。比如
[reg]
Exe=0
表示注册表没有写入,则需要将配置文件中存储的终点检测模块启动路径写入注册表相应位置,如果:
[reg]
Exe=1
则表示终点检测模块启动路径已经写入注册表,此时即可重启系统,并记录关机的时间点。比如获取关机时的系统时间Tpoint1为2011/12/515:38:27,并将Tpoint1记录到检测数据存储文件log.ini。
步骤120,系统重启后,获取系统的一个时间点Tpoint2,计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件。
重启系统后,本申请的终点检测模块随系统重启,本申请的终点检测模块可选择启动过程中或者启动完成后任意一点,并获取该时间点,比如系统运行到当前的时间点Tpoint2为2011/12/5 15:39:40,然后根据该时间点调用系统API函数的gettickcount计算从开机加电到该时间点的时间段T2为60秒300毫秒。将T2和Tpoint2检测数据存储文件log.ini步骤130,计算Tpoint2-Tpoint1-T2获得关机时间T1。
根据T1=Tpoint2-Tpoint1-T2=2011/12/5 15:39:40-60秒300毫秒-2011/12/5 15:38:27即得到系统的关机时间。
优选的在该步骤之后,还包括:
重启判断步骤131,若当前系统重启次数小于预置重启次数,则根据重启路径调用重启执行程序进行系统重启;
若当前系统重启次数等于预置重启次数,则根据记录文件中的记录计算平均关机时间。
在这个过程中本申请的终点检测模块读取读取set.ini里文件(即前述的参数配置文件set.ini),如TimeMax,在log.ini里写重启过1次,且比设定的重启次数TimeMax=2小,终点检测模块依据开机后等待时间Time=2000,再次重新启动。
[rebootwaite]
TimeMax=2
Time=2000
然后转入步骤110重复检测步骤。
步骤140,将获得的关机时间进行分析处理或展示或展示。
比如分析当前系统的关机时间比统计各机器的平均时间是否要慢。又比如将当前系统的关机时间展示给用户端。比如将Log.ini中的记录整理展示给用户端,比如以Excel表格按关机时间长短的顺序的形式展示给用户端。
在实际中,可重启多次,即若当前系统重启次数小于预置重启次数,则根据重启路径调用重启执行程序进行系统重启;
若当前系统重启次数等于预置重启次数,则根据记录文件中的记录计算平均关机时间。
参照图2,示出了本申请一种关机实际检测方法实施例一的流程示意图,包括:
在实际中,在系统运行之前还包括:
步骤200,配置目标应用启动检测过程中所需的参数;所述参数包括配置终点检测模块启动路径,检测数据存储路径存,系统自动重启次数,各目标应用;其中,所述终点检测模块启动路径对应的启动时间点优先于目标应用的启动时间点。
在实际中,还可配置每次自动重启等待的时间。
在实际中,配置的参数则可通过存储路径存入配置记录文件比如set.ini文件中。
其中终点检测模块启动路径也可在系统建立时设置完毕,然后将其路径存入配置记录文件比如set.ini中。
在本步骤中,还可配置待检测的目标应用,将目标应用的进程名称或者界面句柄写入配置文件中,比如QQ.exe,qq2011等。
另外在配置完成之后,还包括:
步骤205,将预置的终点检测模块启动路径写入系统配置相应位置的启动注册表。
比如,可写入系统登录时启动的启动位置,如:
【HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon】
″Userinit″=″C:\\Windows\\system32\\userinit.exe,″,c:\B.exe
本步骤中,还会判断注册表是否已经写入,如果写入则不在写。比如
[reg]
Exe=0
表示注册表没有写入,则需要将配置文件中存储的终点检测模块启动路径写入注册表相应位置,如果:
[reg]
Exe=1
则表示终点检测模块启动路径已经写入注册表,此时即可重启系统。
步骤210,重启系统,并记录系统重启时间点Tpoint1,并根据检测数据存储路径存入记录文件。
测试时启动本系统,本系统会记录系统记录重启时的时间点。在实际中,当调用系统重启快捷方式重启时,可根据调用重启快捷方式时所在的系统时间记录当前重启的时间,然后根据检测数据存储路径存入记录文件比如(Log.ini)。
步骤220,在开机加电后,根据预置的终点检测模块启动路径启动终点检测模块,所述终点检测模块启动路径对应的启动时间点优先于目标应用的启动时间点。
在实际中,检测时对于目标应用,要将其设置为开启启动,比如QQ,MSN等,在安装完成后选择开机启动。
在检测目标应用的开机启动时间时,需要终点检测模块优先于目标应用的启动时间,保证能够检测到目标应用,在这里目标应用指的是安装与计算机系统中的第三方软件。在实际中各中应用的软件比如QQ,阿里旺旺,MSN等第三方软件随着开机启动的时间点都在系统登录后启动,即计算机将计算机系统本身需要的各种服务启动后,才运行安装在计算机系统中的随着开机启动软件。因此要检测这类软件的启动时间,需要保证终点检测模块的开机启动时间点比QQ,阿里旺旺,MSN等软件优先启动,那么一般可使终点检测模块和系统登录时同时启动即可,当然终点检测模块的启动也可比系统登录的时间更早。
步骤230,监控目标应用是否启动。
终点检测模块启动后,即可监控目标应用是否启动。本申请中一般是通过检测目标应用的进程名称或者界面的句柄检测目标应用是否启动。比如QQ.exe,AlilmM.exe,Outlook.exe等。
在实际中可通过多种方式获取目标应用的进程名称,比如对于QQ.exe,可通过如下函数获取:
(其中,ProcessExists(“QQ.exe”)是判断当前进程QQ.exe是否存在,WinExists(“QQ2011”)是判断当前QQ2011窗口是否存在,如果存在,则获取时间段,如果没有,等待1毫秒,继续判断)
对于界面的句柄,也可通过多种方法获取,优选的目标应用的界面的句柄的获取方法包括:
通过FindWindow函数获取目标应用的界面的句柄,和/或者通过spy++函数获取目标应用的界面的句柄。
句柄是一个标识符,是拿来标识对象或者项目的,是windows用来标志应用程序中建立的或是使用的唯一整数,windows使用了大量的句柄来标志很多对象,应用程序一般是通过调用一个windows函数来获得一个句柄,之后其他的windows函数就可以使用该句柄,以引用相应的对象。
通过FindWindow函数可返回与指定字符串匹配的界面句柄。而Spy++(SPYXX.EXE)是一个基于Win32的实用工具,它提供系统的进程、线程、窗口和窗口消息的图形视图。使用Spy++可以执行下列操作:显示系统对象(包括进程、线程和窗口)之间关系的图形树;搜索指定的窗口、线程、进程或消息;查看选定的窗口、线程、进程或消息的属性;直接从视图中选择窗口、线程、进程或消息等,因此Spy++也可以用来获取界面的句柄。
比如,如进程qq.exe,qq的登录弹窗标题为qq2011(即界面句柄),则监控为:
[rebootexewin]
exe1=taskmgr.exe
exe2=spoolsv.exe
exe3=qq.exe
exe4=qq2011
并依次循环等待,开始启动实时监控获取进程名称或界面句柄,每监控到一个新的进程或界面,则转入步骤240。
步骤240,当目标应用启动,则记录所述目标应用当前启动时间点Tpoint2,计算从系统开机加电开始到所述目标应用当前启动时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件。
当步骤230监控到进行程名称或界面句柄,比如前述qq.exe或qq2011,计算从开始加电到该时刻的时间段,作为该被监控的进程或界面的启动耗时,并进行记录。在实际中,可通过Windows的API函数gettickcount算出所述目标应用到当前启动时间点的时间段,GetTickCount返回(retrieve)从操作系统启动到现在所经过的毫秒数,它的返回值是DWORD。
以C++版为代码GetTickCount原型比如:
CString s;
DWORD k=::GetTickCount();//获取毫秒级数目
int se=k/1000;//se为秒
cout<<se<<endl;
库文件:kernl32.dll
C/C++头文件:winbase.h
在实际中,在获取所述目标应用当前启动时间点的时间段后,将其进行记录时,通过检测数据存储路径存入记录文件Log.ini中。知道监控完所有进程或者界面。
比如对于前述,得到计算结果为:
[timeexewin]
exe1=taskmgr.exe,1203ms
exe2=spoolsv.exe,11003ms
exe3=qq.exe,1303ms
exe4=qq2011,1503ms
同时,可根据系统本身的时间获取目标应用当前启动时刻的时间。
步骤250,根据记录文件中Tpoint2、Tpoint1和T2计算关机时间。
在实际中通过如T1=TPoint2-TPoint1-T2的公式计算关机时间,其中T1表示关机时间,然后将关机时间存入记录文件。
步骤260,将获得的关机时间进行分析处理或展示。
最后将监控的一个或者多个目标应用的启动时间进行分析,比如分析当前是否比该系统环境下各机器的平均启动时间慢;又比如分析哪个启动项导致系统启动延迟严重,那么即可将该目标应用的启动项禁止启动。比如,也可直接将Log.ini中的记录整理展示给用户端,比如以Excel表格按关机时间长短的顺序的形式展示给用户端。
另外,在步骤260之前后还包括:
步骤255,记录当前的重启次数,若当前重启次数小于预置重启次数则通过重启调用路径调用重启执行程序重启系统。
在实际中,当监控完所有目标,比如上述qq.exe和qq2011检测完毕后,并且当前是第一次重启,那么记录重启数为1,比如
[rebootnum]
TimeNum=1;启动之前为TimeNum=0。
如果重启次数配置为2,则对于配置中的重启次数记录TimeMax=2,则将TimeNum与TimeMax比较,发现TimeNum小于TimeMax,则需要继续重启,因此可等待一定时间后再次重启。其中,自动重启的间隔等待时间可根据实际需要进行配置,并记录在配置文件(比如set.ini)中。比如记录重启次数为2,等待时间为2000ms:
[rebootwaite]
TimeMax=2
Time=2000
然后从步骤210开始再次进行,比如类似得到:
[timeexewin]
exe1=taskmgr.exe,1203ms,1205ms
exe2=spoolsv.exe,11003ms,11006ms
exe3=qq.exe,1303ms,1305ms
exe4=qq2011,1503ms,1505ms
[rebootnum]
TimeNum=2
比较TimeNum与TimeMax相等,那么不需要再次重启。
此时,可根据得到的多次关机时间,计算系统的平均关机时间。
此时,则可进行步骤256,将写入系统启动注册表中的终点检测模块启动路径进行删除。以避免下次启动时再次启动终点检测模块,使测试环境恢复正常。
通过本申请可以方法首先可检测出每个开机启动项目的CPU占用时间,所有开机启动项目的CPU累计占用时间,再算出每个开机启动项的CPU占用时间在这个累计占用时间的比例。其次,可根据安装软件或者其他硬件设备前后的启动时间比较,准确知道系统是否被其他软件或硬件延迟。
参照图3,其示出了本申请优选的一种关机时间检测装置的结构示意图,包括:
初始启动记录模块310,用于重启系统,并记录系统重启时间点Tpoint1,并根据检测数据存储路径存入记录文件。
终点检测模块320,包括:
检测记录子模块321,用于系统重启后,获取系统的一个时间点Tpoint2,计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件。
关机时间计算子模块322,计算Tpoint2-Tpoint1-T2获得关机时间T1。
处理子模块323,将获得的关机时间进行分析处理或展示。
所述的所述终点检测模块还包括:
重启判断子模块,若当前系统重启次数小于预置重启次数,则根据重启路径调用重启执行程序进行系统重启。
平均时间计算子模块,若当前系统重启次数等于预置重启次数,则根据记录文件中的记录计算平均关机时间。
优选的,还包括:
配置模块,用于配置目标应用启动检测过程中所需的参数;所述参数包括配置终点检测模块启动路径,检测数据存储路径存,系统自动重启次数,各目标应用;其中,所述终点检测模块启动路径对应的启动时间点优先于目标应用的启动时间点。
启动路径写入模块,用于将预置的终点检测模块启动路径写入系统配置相应位置的启动注册表。
所述终点检测模块还包括:
启动路径删除模块,用于将写入系统启动注册表中的终点检测模块启动路径进行删除。
优选的,在检测记录子模块中获取T2时包括:
根据所获得的当前时间点Tpoint2,调用系统API函数gettickcount计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2。
优选的,检测记录子模块包括:
时间点获取子单元一,用于在系统登录后,启动终点检测模块,获取系统当前时间点Tpoint2;
时间段计算子单元一,用于并根据所获得的当前时间点Tpoint2,调用系统API函数gettickcount计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2。
优选的,检测记录子模块包括:
启动子单元,用于在开机加电后,根据预置在注册表中的终点检测模块启动位置,启动终点检测模块;其中,注册表中所述终点检测模块所在启动位置优先于目标应用所在启动位置;
监控子单元,用于监控目标应用是否启动;
获取计算子单元,用于当一目标应用启动,则获取该目标应用当前时间点Tpoint2;计算从系统开机加电开始到所述目标应用当前启动时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件。
优选的,在监控子单元中通过如下方式监控目标应用是否启动:
获取监控名单中各目标应用的进程名称或者界面句柄,轮询监控系统进程是否启动了监控名单中各目标应用的进程名称或者界面句柄。
优选的,获取目标应用的界面句柄时包括:
通过调用FindWindow函数轮询监控并获取系统进程中属于监控名单的界面句柄,和/或者通过调用spy++函数轮询监控并获取系统进程中属于监控名单的界面句柄。
本申请还公开了一种不同系统环境关机时间测试方法,包括:
步骤S1,在初始操作系统环境下,获取该系统的系统重启时间点Tpoint1,以及重启后的参考时间点Tpoint2,得到从系统开机加电开始到所述当前时间点Tpoint2的时间段T2;然后,计算Tpoint2-Tpoint1-T2获得第一关机时间
步骤S2,安装待测试软件或硬件;
步骤S3,在安装了待测试软件或硬件的操作系统环境下,获取该系统的系统重启时间点Tpoint1,以及重启后的参考时间点Tpoint2,得到从系统开机加电开始到所述当前时间点Tpoint2的时间段T2;然后,计算Tpoint2-Tpoint1-T2获得第二关机时间;
步骤S4,比较第一关机时间和第二关机时间,以确定所述待测试软件或硬件是否延缓了系统关机时间。
本申请根据某款软件或硬件安装前后系统准确的关机时间的对比,可以客观的了解该款软件是否影响到系统的关机时间。
比如,对于本系统在软件或者硬件安装使用前后测试比较过程可如下:
1)安装至少一个通用的软件,如QQ,旺旺等IM软件,或者办公软件,并设置这些软件开机后启动,安装完毕后GHOST(备份)系统,作为环境备份。
2)自动重新开机,系统登陆后,启动本系统,实时等待关机命令,一旦获得开机命令,则做时间点打点获得TPoint1,并关机,关机后重启,本系统再次启动后获得本系统启动后的一时间点,以及获得加电到本系统启动后的所述时间点TPoint2的时间段T2。
3)通过公式T1=TPoint2-TPoint1-T2,计算出关机时间。
4)自动重复循环N次,最后计算出每次关机的平均时间。
5)GHOST系统,安装某大型软件或影响关机速度的硬件。
6)自动重新开机,系统登陆后,启动本系统,实时等待关机命令,一旦获得开机命令,则做时间点打点获得TPoint1,并关机,关机后重启,本系统再次启动后获得本系统启动后的一时间点,以及获得加电到本系统启动后的所述时间点TPoint2的时间段T2。
7)通过公式TPoint2-TPoint1-T2=T1,计算出关机时间。
8)同理,循环N次,最后计算出每次关机的平均时间。
对比4)和8)的时间,由此检测了某软件或硬件是否延缓了系统的关机的时间。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本申请所提供的一种关机时间检测方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (13)

1.一种关机时间检测的方法,其特征在于,包括:
步骤110,重启系统,并记录系统重启时间点Tpoint1,并根据检测数据存储路径存入记录文件;
步骤120,系统重启后,获取系统的一个时间点Tpoint2,计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件;
步骤130,计算Tpoint2-Tpoint1-T2获得关机时间T1;
步骤140,将获得的关机时间进行分析处理或展示;
其中,过如下步骤获取时间点Tpoint2和T2:
步骤S11,在开机加电后,根据预置在注册表中的终点检测模块启动位置,启动终点检测模块;其中,注册表中所述终点检测模块所在启动位置优先于目标应用所在启动位置;
步骤S12,监控目标应用是否启动;
步骤S13,当一目标应用启动,则获取该目标应用当前时间点Tpoint2;计算从系统开机加电开始到所述目标应用当前启动时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件。
2.根据权利要求1所述的方法,其特征在于,步骤140之前还包括:
若当前系统重启次数小于预置重启次数,则根据重启路径调用重启执行程序进行系统重启;
若当前系统重启次数等于预置重启次数,则根据记录文件中的记录计算平均关机时间。
3.根据权利要求1所述的方法,其特征在于,获取T2时:
根据所获得的当前时间点Tpoint2,调用系统API函数gettickcount计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2。
4.根据权利要求1或3所述的方法,其特征在于,通过如下步骤获取T2:
并根据所获得的当前时间点Tpoint2,调用系统API函数gettickcount计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2。
5.根据权利要求4所述的方法,其特征在于,通过如下方式监控目标应用是否启动:
获取监控名单中各目标应用的进程名称或者界面句柄,以轮询的方式监控系统进程是否启动了监控名单中各目标应用的进程名称或者界面句柄。
6.根据权利要求5所述的方法,其特征在于,目标应用的界面句柄的获取方法包括:
通过调用FindWindow函数以轮询的方式监控系统进程中属于监控名单的界面句柄,和/或者通过调用spy++函数以轮询的方式监控系统进程中属于监控名单的界面句柄。
7.一种关机时间检测的装置,其特征在于,包括:
初始启动记录模块,用于重启系统,并记录系统重启时间点Tpoint1,并根据检测数据存储路径存入记录文件;
终点检测模块,包括:
检测记录子模块,用于系统重启后,获取系统的一个时间点Tpoint2,计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件;
关机时间计算子模块,计算Tpoint2-Tpoint1-T2获得关机时间T1;
处理子模块,将获得的关机时间进行分析处理或展示;
其中,检测记录子模块包括:
启动子单元,用于在开机加电后,根据预置在注册表中的终点检测模块启动位置,启动终点检测模块;其中,注册表中所述终点检测模块所在启动位置优先于目标应用所在启动位置;
监控子单元,用于监控目标应用是否启动;
获取计算子单元,用于当一目标应用启动,则获取该目标应用当前时间点Tpoint2;计算从系统开机加电开始到所述目标应用当前启动时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件。
8.根据权利要求7所述的装置,其特征在于,所述终点检测模块还包括:
重启判断子模块,若当前系统重启次数小于预置重启次数,则根据重启路径调用重启执行程序进行系统重启;
平均时间计算子模块,若当前系统重启次数等于预置重启次数,则根据记录文件中的记录计算平均关机时间。
9.根据权利要求7所述的装置,其特征在于,在检测记录子模块中获取T2时包括:
根据所获得的当前时间点Tpoint2,调用系统API函数gettickcount计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2。
10.根据权利要求7所述的装置,其特征在于,检测记录子模块包括:
时间点获取子单元一,用于在系统登录后,启动终点检测模块,获取系统当前时间点Tpoint2;
时间段计算子单元一,用于并根据所获得的当前时间点Tpoint2,调用系统API函数gettickcount计算从系统开机加电开始到所述当前时间点Tpoint2的时间段T2。
11.根据权利要求7所述的装置,其特征在于,在监控子单元中通过如下方式监控目标应用是否启动:
获取监控名单中各目标应用的进程名称或者界面句柄,以轮询的方式监控系统进程是否启动了监控名单中各目标应用的进程名称或者界面句柄。
12.根据权利要求11所述的装置,其特征在于,获取目标应用的界面句柄时包括:
通过调用FindWindow函数以轮询的方式监控系统进程中属于监控名单的界面句柄,和/或者通过调用spy++函数以轮询的方式监控系统进程中属于监控名单的界面句柄。
13.一种不同系统环境关机时间测试方法,其特征在于,包括:
在初始操作系统环境下,获取该系统的系统重启时间点Tpoint1,以及重启后的参考时间点Tpoint2,得到从系统开机加电开始到所述当前时间点Tpoint2的时间段T2;然后,计算Tpoint2-Tpoint1-T2获得第一关机时间
安装待测试软件或硬件;
在安装了待测试软件或硬件的操作系统环境下,获取该系统的系统重启时间点Tpoint1,以及重启后的参考时间点Tpoint2,得到从系统开机加电开始到所述当前时间点Tpoint2的时间段T2;然后,计算Tpoint2-Tpoint1-T2获得第二关机时间;
比较第一关机时间和第二关机时间,以确定所述待测试软件或硬件是否延缓了系统关机时间;
其中,过如下步骤获取时间点Tpoint2和T2:
步骤S11,在开机加电后,根据预置在注册表中的终点检测模块启动位置,启动终点检测模块;其中,注册表中所述终点检测模块所在启动位置优先于目标应用所在启动位置;
步骤S12,监控目标应用是否启动;
步骤S13,当一目标应用启动,则获取该目标应用当前时间点Tpoint2;计算从系统开机加电开始到所述目标应用当前启动时间点Tpoint2的时间段T2,并根据检测数据存储路径存入记录文件。
CN201110445077.6A 2011-12-27 2011-12-27 一种关机时间检测方法和装置 Expired - Fee Related CN102591769B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110445077.6A CN102591769B (zh) 2011-12-27 2011-12-27 一种关机时间检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110445077.6A CN102591769B (zh) 2011-12-27 2011-12-27 一种关机时间检测方法和装置

Publications (2)

Publication Number Publication Date
CN102591769A CN102591769A (zh) 2012-07-18
CN102591769B true CN102591769B (zh) 2015-01-21

Family

ID=46480464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110445077.6A Expired - Fee Related CN102591769B (zh) 2011-12-27 2011-12-27 一种关机时间检测方法和装置

Country Status (1)

Country Link
CN (1) CN102591769B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981955A (zh) * 2012-11-29 2013-03-20 浪潮电子信息产业股份有限公司 一种基于Linux系统的自动连续重启的方法
CN103150247A (zh) * 2013-03-15 2013-06-12 腾讯科技(深圳)有限公司 一种关机耗时的获取方法及装置
CN103488557B (zh) * 2013-08-28 2016-03-30 北京奇虎科技有限公司 一种计算机操作系统开机时间的获取方法和装置
CN105320601A (zh) * 2015-12-02 2016-02-10 北京奇虎科技有限公司 一种用于应用程序的测试方法及装置
CN105740125B (zh) * 2016-01-29 2018-03-30 四川秘无痕信息安全技术有限责任公司 获取Android应用程序启动次数和时间的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58144266A (ja) * 1982-02-19 1983-08-27 Nec Corp プログラム実行時間計測装置
CN100505796C (zh) * 2004-11-24 2009-06-24 中兴通讯股份有限公司 一种手机显示时间的方法
CN101436154B (zh) * 2007-11-14 2012-05-30 鸿富锦精密工业(深圳)有限公司 计算机主板开关机测试系统及方法
CN101620561B (zh) * 2008-07-04 2011-12-07 宏碁股份有限公司 监测计算机系统效能的方法

Also Published As

Publication number Publication date
CN102591769A (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
CN102591770B (zh) 一种目标应用启动时间检测方法和装置
CN102591769B (zh) 一种关机时间检测方法和装置
US8621477B2 (en) Real-time monitoring of job resource consumption and prediction of resource deficiency based on future availability
US20190220345A1 (en) Forecasting workload transaction response time
US20080052677A1 (en) System and method for mitigating repeated crashes of an application resulting from supplemental code
US20080127067A1 (en) Method and system for timing code execution in a korn shell script
CN104737134A (zh) 用于操作系统无关的硬件验证的系统和方法
US20090307347A1 (en) Using Transaction Latency Profiles For Characterizing Application Updates
US10108474B2 (en) Trace capture of successfully completed transactions for trace debugging of failed transactions
US7392149B2 (en) Automatic software testing
US20200044944A1 (en) User interface with expected response times of commands
CN107329914A (zh) 一种基于Linux系统检测硬盘乱序的方法及装置
CN109684149A (zh) 一种NVMe硬盘的硬件信息监控方法、装置及设备
CN106649018A (zh) 一种带扩展柜的存储系统稳定性的测试方法
US20140122694A1 (en) Systems and methods for determining desktop readiness using interactive measures
CN109376073B (zh) 一种测试环境记忆及恢复方法
US8261245B2 (en) Method and system for associating profiler data with a reference clock
CN105446785A (zh) 卸载应用程序的方法及系统
CN116244186A (zh) 一种操作系统测试管理方法、装置与计算设备
US20230066698A1 (en) Compute instance warmup operations
CN115480970A (zh) 一种性能测试方法、装置、设备及存储介质
CN112306639B (zh) 一种虚拟桌面的测试方法及装置
CN112181853A (zh) 程序调试方法、装置及系统
TWI473469B (zh) 網路埠的偵測方法
EP2770439A1 (fr) Surveillance de mesure de performance d'une infrastructure informatique

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151022

Address after: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee after: Qizhi software (Beijing) Co.,Ltd.

Address before: The 4 layer 100016 unit of Beijing city Chaoyang District Jiuxianqiao Road No. 14 Building C

Patentee before: Qizhi software (Beijing) Co.,Ltd.

CB03 Change of inventor or designer information

Inventor after: Shen Chaohui

Inventor before: Shen Chaohui

COR Change of bibliographic data
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150121

Termination date: 20211227