專利名稱:測(cè)試進(jìn)程異常檢測(cè)方法以及自動(dòng)化測(cè)試控制裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域的自動(dòng)化測(cè)試技術(shù),尤其涉及一種用于測(cè)試嵌入式設(shè)備 的自動(dòng)化測(cè)試系統(tǒng)中的測(cè)試進(jìn)程異常檢查技術(shù)。
背景技術(shù):
近年來(lái)自動(dòng)化測(cè)試技術(shù)在數(shù)據(jù)通信領(lǐng)域得到了廣泛的應(yīng)用,很大程度上減少了手 工測(cè)試人員大量的重復(fù)勞動(dòng),同時(shí)也為縮減產(chǎn)品開發(fā)成本,縮短開發(fā)周期作出了很大貢獻(xiàn)。為了提高自動(dòng)化測(cè)試的效率,目前大部分自動(dòng)化測(cè)試系統(tǒng)都支持并行的運(yùn)行多個(gè) 測(cè)試進(jìn)程,每個(gè)測(cè)試進(jìn)程負(fù)責(zé)一組測(cè)試任務(wù)。比如有十個(gè)模塊,最大的一個(gè)模塊需要3個(gè)小 時(shí)測(cè)試完成,在設(shè)備資源允許的情況下,可以給每個(gè)模塊分配一個(gè)測(cè)試進(jìn)程來(lái)測(cè)試,并行執(zhí) 行十個(gè)測(cè)試進(jìn)程分別測(cè)試這十個(gè)模塊,就可以在短短3個(gè)小時(shí)左右完成所有的測(cè)試工作, 并給出測(cè)試結(jié)果報(bào)表。這和以往手工測(cè)試或者串行的自動(dòng)化測(cè)試方法相比,測(cè)試的效率提 高了許多倍。當(dāng)并行的執(zhí)行測(cè)試進(jìn)程時(shí),特別是在晚上,不可能靠人工來(lái)實(shí)時(shí)監(jiān)控每個(gè)進(jìn)程的 運(yùn)行情況,這樣會(huì)浪費(fèi)大量的人力,所以當(dāng)其中一個(gè)或者幾個(gè)進(jìn)程出現(xiàn)異常掛起了,但是進(jìn) 程并沒(méi)有退出,就會(huì)導(dǎo)致其資源不能及時(shí)釋放,影響設(shè)備利用率。同時(shí)由于未能及時(shí)的發(fā)現(xiàn) 這樣的情況,將會(huì)導(dǎo)致異常進(jìn)程所執(zhí)行的測(cè)試任務(wù)不能按時(shí)完成,影響測(cè)試進(jìn)度。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是,提供一種自動(dòng)化測(cè)試系統(tǒng)中能夠及時(shí)發(fā)現(xiàn)并處理異 常進(jìn)程的方法以及實(shí)現(xiàn)該方法的自動(dòng)化測(cè)試控制裝置。本發(fā)明為解決上述技術(shù)問(wèn)題所采用的技術(shù)方案是,測(cè)試進(jìn)程異常檢測(cè)方法,包括 步驟a、每個(gè)測(cè)試進(jìn)程啟動(dòng)時(shí),為每個(gè)測(cè)試進(jìn)程創(chuàng)建一個(gè)對(duì)應(yīng)的日志文件;測(cè)試進(jìn)程在 執(zhí)行測(cè)試時(shí)需實(shí)時(shí)更新所述日志文件;b、異常檢查進(jìn)程周期性檢查每個(gè)測(cè)試進(jìn)程對(duì)應(yīng)的日志文件是否更新超時(shí),如是, 則判定該測(cè)試進(jìn)程異常,刪除該測(cè)試進(jìn)程并釋放該測(cè)試進(jìn)程占用的資源;如否,則判定該測(cè) 試進(jìn)程正常。因出現(xiàn)異常而掛起的進(jìn)程,雖然失去了 CPU,但是由于沒(méi)有結(jié)束,仍然會(huì)占用內(nèi)存 和互斥資源。本發(fā)明通過(guò)對(duì)日志文件進(jìn)行檢測(cè),能間接了解到測(cè)試進(jìn)程是否正常運(yùn)行。因 出現(xiàn)異常而掛起的測(cè)試進(jìn)程無(wú)法在規(guī)定時(shí)間刷新其日志文件,所以對(duì)刷新超時(shí)的日志文件 所對(duì)應(yīng)的測(cè)試進(jìn)程進(jìn)行刪除,能即時(shí)釋放其占用的資源,從而提高資源利用率。具體的,步驟a中,在為測(cè)試進(jìn)程創(chuàng)建一個(gè)對(duì)應(yīng)的日志文件同時(shí),還對(duì)應(yīng)創(chuàng)建一個(gè) 測(cè)試進(jìn)程文件;所述測(cè)試進(jìn)程文件包括有測(cè)試進(jìn)程ID、測(cè)試進(jìn)程對(duì)應(yīng)的日志文件路徑及名 稱;步驟b中,異常檢查進(jìn)程周期性檢查每個(gè)測(cè)試進(jìn)程對(duì)應(yīng)的日志文件的具體步驟為bl、異常檢查獲取一個(gè)測(cè)試進(jìn)程文件;b2、判斷該測(cè)試進(jìn)程文件中的測(cè)試進(jìn)程ID是否存在,如是,進(jìn)入步驟b3,如否,刪 除當(dāng)前測(cè)試進(jìn)程文件返回步驟bl ;b3、從測(cè)試進(jìn)程文件中獲取該測(cè)試進(jìn)程對(duì)應(yīng)的日志文件路徑及名稱;b4、讀取該測(cè)試進(jìn)程對(duì)應(yīng)的日志文件,判斷該日志文件在規(guī)定時(shí)間內(nèi)是否被更新, 如否,刪除該測(cè)試進(jìn)程并釋放該測(cè)試進(jìn)程占用資源,并返回步驟bl ;如是,直接返回步驟 bl。進(jìn)一步的,為給日志文件確定一個(gè)合理的更新時(shí)間值,測(cè)試進(jìn)程文件還包括有最 大超時(shí)時(shí)間、測(cè)試必要等待時(shí)間;最大超時(shí)時(shí)間為,測(cè)試進(jìn)程運(yùn)行過(guò)程中,從一次指令發(fā)送到被測(cè)設(shè)備返回指令執(zhí) 行結(jié)果并寫日志文件所需的最長(zhǎng)時(shí)間;測(cè)試必要等待時(shí)間為,測(cè)試執(zhí)行過(guò)程中,根據(jù)測(cè)試需要,測(cè)試用例所安排等待的時(shí) 間;測(cè)試進(jìn)程在進(jìn)入必要等待之前會(huì)先將測(cè)試必要等待時(shí)間的時(shí)間值寫入對(duì)應(yīng)的測(cè)試進(jìn)程 文件中,在必要等待完成后把對(duì)應(yīng)測(cè)試進(jìn)程文件中的測(cè)試必要等待時(shí)間設(shè)置為0 ;步驟b4中,判斷該日志文件在規(guī)定時(shí)間內(nèi)是否被更新的具體方法是如當(dāng)前系統(tǒng) 時(shí)間減去最近一次日志文件刷新時(shí)間的結(jié)果大于測(cè)試進(jìn)程文件中最大超時(shí)時(shí)間與測(cè)試必 要等待時(shí)間之和,則判定日志文件在規(guī)定時(shí)間內(nèi)未被更新,否則,判定日志文件在規(guī)定時(shí)間 內(nèi)已被更新。具體的,日志文件的內(nèi)容包括向被測(cè)設(shè)備發(fā)送的測(cè)試指令、指令執(zhí)行結(jié)果、返回信 息的解析與處理結(jié)果。測(cè)試進(jìn)程占用資源包括被測(cè)設(shè)備、輔測(cè)設(shè)備、劃分拓?fù)渌璧腣LAN寸。自動(dòng)化測(cè)試控制裝置,包括控制模塊、測(cè)試進(jìn)程模塊、日志存儲(chǔ)模塊、異常檢查進(jìn) 程模塊;測(cè)試進(jìn)程模塊用于,運(yùn)行測(cè)試進(jìn)程,并在執(zhí)行測(cè)試時(shí)實(shí)時(shí)更新日志文件;控制模塊用于,啟動(dòng)測(cè)試進(jìn)程,為每個(gè)測(cè)試進(jìn)程對(duì)應(yīng)創(chuàng)建一個(gè)日志文件,并將日志 文件保存在日志存儲(chǔ)模塊中;啟動(dòng)異常檢查進(jìn)程;日志存儲(chǔ)模塊用于,存儲(chǔ)日志文件;異常檢查進(jìn)程模塊用于,運(yùn)行異常檢查進(jìn)程,周期性檢查日志存儲(chǔ)模塊每個(gè)測(cè)試 進(jìn)程對(duì)應(yīng)的日志文件是否更新超時(shí),如是,則判定該測(cè)試進(jìn)程異常,刪除該測(cè)試進(jìn)程并釋放 該測(cè)試進(jìn)程占用資源;如否,則判定該測(cè)試進(jìn)程正常。具體的,自動(dòng)化測(cè)試控制裝置還包括測(cè)試進(jìn)程文件存儲(chǔ)模塊;控制模塊還用于,在為測(cè)試進(jìn)程對(duì)應(yīng)創(chuàng)建一個(gè)日志文件同時(shí),還對(duì)應(yīng)創(chuàng)建一個(gè)測(cè) 試進(jìn)程文件,并將測(cè)試進(jìn)程文件保存在測(cè)試進(jìn)程文件存儲(chǔ)模塊中;測(cè)試進(jìn)程文件存儲(chǔ)模塊用于,存儲(chǔ)測(cè)試進(jìn)程文件;所述測(cè)試進(jìn)程文件包括有測(cè)試 進(jìn)程ID、測(cè)試進(jìn)程對(duì)應(yīng)的日志文件路徑及名稱;異常檢查進(jìn)程模塊還用于,通過(guò)讀取測(cè)試進(jìn)程文件中日志文件路徑及名稱,從而 在日志存儲(chǔ)模塊中獲取該測(cè)試進(jìn)程對(duì)應(yīng)的日志文件;當(dāng)判斷出測(cè)試進(jìn)程文件中的測(cè)試進(jìn)程 ID不存在,則刪除當(dāng)前測(cè)試進(jìn)程文件。
進(jìn)一步的,測(cè)試進(jìn)程文件還包括有最大超時(shí)時(shí)間、測(cè)試必要等待時(shí)間;測(cè)試進(jìn)程模塊還用于,測(cè)試進(jìn)程在進(jìn)入必要等待之前,將測(cè)試必要等待時(shí)間的時(shí) 間值寫入測(cè)試進(jìn)程文件存儲(chǔ)模塊中對(duì)應(yīng)的測(cè)試進(jìn)程文件中,在必要等待完成后,測(cè)試進(jìn)程 模塊將測(cè)試進(jìn)程文件存儲(chǔ)模塊中對(duì)應(yīng)測(cè)試進(jìn)程文件中的測(cè)試必要等待時(shí)間設(shè)置為0 ;異常檢查進(jìn)程模塊還用于,通過(guò)計(jì)算當(dāng)前系統(tǒng)時(shí)間減去最近一次日志文件刷新時(shí) 間的結(jié)果是否大于測(cè)試進(jìn)程文件中最大超時(shí)時(shí)間與測(cè)試必要等待時(shí)間之和,來(lái)判定日志文 件是否在規(guī)定時(shí)間內(nèi)更新,如是,判定日志文件在規(guī)定時(shí)間內(nèi)未被更新;如否,判定日志文 件在規(guī)定時(shí)間內(nèi)已被更新。本發(fā)明的有益效果是,能夠自動(dòng)、快速地檢測(cè)到異常測(cè)試進(jìn)程,終止異常進(jìn)程并釋 放相關(guān)資源,大大的提高了資源的利用率,在測(cè)試質(zhì)量不變的情況下最大程度保證自動(dòng)化 測(cè)試進(jìn)度。
圖1為實(shí)施例自動(dòng)化測(cè)試控制裝置示意圖;圖2為實(shí)施例異常檢查進(jìn)程和測(cè)試進(jìn)程之間的關(guān)系圖;圖3為實(shí)施例測(cè)試進(jìn)程處理流程圖;圖4為實(shí)施例異常檢查進(jìn)程處理流程圖。
具體實(shí)施例方式本發(fā)明自動(dòng)化測(cè)試控制裝置進(jìn)行異常檢查方法實(shí)施例的步驟如下a、啟動(dòng)異常檢查進(jìn)程;b、獲取一個(gè)測(cè)試進(jìn)程文件;C、從測(cè)試文件中獲取測(cè)試進(jìn)程ID并判斷測(cè)試進(jìn)程是否存在,如果不存在,則跳到 步驟i ;d、從測(cè)試文件中獲取測(cè)試進(jìn)程對(duì)應(yīng)的日志文件路徑及名稱;e、判斷測(cè)試進(jìn)程日志在規(guī)定時(shí)間內(nèi)是否被更新,如果沒(méi)有更新表明進(jìn)程異常,則 跳到步驟h;f、是否已經(jīng)檢查完所有的測(cè)試進(jìn)程文件,如果沒(méi)有,則跳到步驟b;g、等待下一個(gè)檢查周期到達(dá),然后跳到步驟b ;h、刪除測(cè)試進(jìn)程并釋放其所占資源;i、刪除當(dāng)前測(cè)試進(jìn)程文件,然后跳到步驟b。其中,異常檢查進(jìn)程是一個(gè)長(zhǎng)期運(yùn)行的進(jìn)程,該進(jìn)程定期的檢查當(dāng)前正在運(yùn)行的 測(cè)試進(jìn)程是否處于異常狀態(tài)。測(cè)試進(jìn)程文件是與每個(gè)測(cè)試進(jìn)程一一對(duì)應(yīng)的,在啟動(dòng)測(cè)試進(jìn) 程的時(shí)候生成,在測(cè)試進(jìn)程執(zhí)行測(cè)試的過(guò)程中根據(jù)需要實(shí)時(shí)更新測(cè)試進(jìn)程文件。每個(gè)測(cè)試 進(jìn)程文件中包含了以下內(nèi)容測(cè)試進(jìn)程ID、測(cè)試進(jìn)程日志文件路徑及名稱、最大超時(shí)時(shí)間、 測(cè)試必要等待時(shí)間。日志文件是在啟動(dòng)測(cè)試進(jìn)程的同時(shí)創(chuàng)建,并實(shí)時(shí)更新,該文件記錄了測(cè) 試執(zhí)行過(guò)程的所有詳細(xì)步驟,包括向設(shè)備發(fā)送的測(cè)試指令、指令執(zhí)行的結(jié)果、返回信息的 解析與處理結(jié)果等。步驟e中的判斷測(cè)試進(jìn)程日志在規(guī)定時(shí)間內(nèi)是否被更新的方法是如 當(dāng)前系統(tǒng)時(shí)間減去最近一次日志修改時(shí)間大于測(cè)試進(jìn)程文件中的最大超時(shí)時(shí)間與測(cè)試必
6要等待時(shí)間之和,則表示日志文件沒(méi)有在規(guī)定時(shí)間內(nèi)被更新。資源是指需要完成一組自動(dòng) 化測(cè)試所需的所有資源,這些測(cè)試進(jìn)程所占資源包括被測(cè)設(shè)備、輔測(cè)設(shè)備、劃分拓?fù)渌?的VLAN等。最大超時(shí)時(shí)間是指在測(cè)試執(zhí)行過(guò)程中執(zhí)行一次指令,然后等待被測(cè)設(shè)備返回指 令執(zhí)行結(jié)果并寫日志的最長(zhǎng)等待時(shí)間。在進(jìn)程正常的情況下,超過(guò)最長(zhǎng)等待時(shí)間進(jìn)程會(huì)將 失敗的原因?qū)懭肴罩疚募?,然后進(jìn)行后面的測(cè)試失敗處理,后面的處理過(guò)程都會(huì)記錄到日 志中。所以在測(cè)試必要等待時(shí)間為零的情況下,如果超過(guò)最大超時(shí)時(shí)間,日志文件還沒(méi)有更 新,就說(shuō)明進(jìn)程已處于異常狀態(tài)。測(cè)試必要等待時(shí)間是指在測(cè)試執(zhí)行過(guò)程中根據(jù)測(cè)試需要, 測(cè)試用例故意安排等待的時(shí)間,測(cè)試進(jìn)程在進(jìn)入必要等待之前會(huì)先將必要等待的時(shí)間值寫 入對(duì)應(yīng)的測(cè)試進(jìn)程文件中,在必要等待完成以后把對(duì)應(yīng)測(cè)試進(jìn)程文件中的測(cè)試必要等待時(shí) 間設(shè)置為0。為實(shí)現(xiàn)上述方法,如圖1所述的自動(dòng)化測(cè)試控制裝置,包括控制模塊、測(cè)試進(jìn)程模 塊、日志存儲(chǔ)模塊、異常檢查進(jìn)程模塊、測(cè)試進(jìn)程文件存儲(chǔ)模塊;控制模塊用于,啟動(dòng)測(cè)試進(jìn)程,為每個(gè)測(cè)試進(jìn)程對(duì)應(yīng)創(chuàng)建一個(gè)日志文件,并將日志 文件保存在日志存儲(chǔ)模塊中;在為測(cè)試進(jìn)程對(duì)應(yīng)創(chuàng)建一個(gè)日志文件同時(shí),還對(duì)應(yīng)創(chuàng)建一個(gè) 測(cè)試進(jìn)程文件,并將測(cè)試進(jìn)程文件保存在測(cè)試進(jìn)程文件存儲(chǔ)模塊中;啟動(dòng)異常檢查進(jìn)程。測(cè)試進(jìn)程模塊用于,運(yùn)行測(cè)試進(jìn)程,并在執(zhí)行測(cè)試時(shí)實(shí)時(shí)更新日志文件;測(cè)試進(jìn)程 在進(jìn)入必要等待之前,將測(cè)試必要等待時(shí)間的時(shí)間值寫入測(cè)試進(jìn)程文件存儲(chǔ)模塊中對(duì)應(yīng)的 測(cè)試進(jìn)程文件中,在必要等待完成后,測(cè)試進(jìn)程模塊將測(cè)試進(jìn)程文件存儲(chǔ)模塊中對(duì)應(yīng)測(cè)試 進(jìn)程文件中的測(cè)試必要等待時(shí)間設(shè)置為0 ;日志存儲(chǔ)模塊用于,存儲(chǔ)日志文件;測(cè)試進(jìn)程文件存儲(chǔ)模塊用于,存儲(chǔ)測(cè)試進(jìn)程文件;異常檢查進(jìn)程模塊用于,周期性地,通過(guò)讀取測(cè)試進(jìn)程文件中日志文件路徑及名 稱,從而在日志存儲(chǔ)模塊中獲取該測(cè)試進(jìn)程對(duì)應(yīng)的日志文件,并檢測(cè)每個(gè)測(cè)試進(jìn)程對(duì)應(yīng)的 日志文件是否更新超時(shí);當(dāng)判斷出測(cè)試進(jìn)程文件中的測(cè)試進(jìn)程ID不存在,則刪除當(dāng)前測(cè)試 進(jìn)程文件;通過(guò)計(jì)算當(dāng)前系統(tǒng)時(shí)間減去最近一次日志文件刷新時(shí)間的結(jié)果是否大于測(cè)試 進(jìn)程文件中最大超時(shí)時(shí)間與測(cè)試必要等待時(shí)間之和,來(lái)判定日志文件是否在規(guī)定時(shí)間內(nèi)更 新,如是,判定日志文件在規(guī)定時(shí)間內(nèi)未被更新;如否,判定日志文件在規(guī)定時(shí)間內(nèi)已被更 新。如圖2所示,異常檢查進(jìn)程和測(cè)試進(jìn)程之間的關(guān)系為測(cè)試進(jìn)程的作用是用來(lái)執(zhí) 行一組測(cè)試工作,啟動(dòng)測(cè)試進(jìn)程的同時(shí)就會(huì)創(chuàng)建一個(gè)與之唯一對(duì)應(yīng)的測(cè)試進(jìn)程文件,在測(cè) 試進(jìn)程執(zhí)行測(cè)試過(guò)程中,不斷的向測(cè)試文件進(jìn)程中更新測(cè)試進(jìn)程當(dāng)前的狀態(tài)信息。另一方 面異常檢查進(jìn)程是一個(gè)長(zhǎng)期運(yùn)行的守護(hù)進(jìn)程,它會(huì)定期的讀取當(dāng)前所有測(cè)試進(jìn)程文件中的 信息,并根據(jù)信息判斷測(cè)試進(jìn)程是否異常,如果發(fā)現(xiàn)異常則立即中斷異常的進(jìn)程,釋放出測(cè) 試占用的資源。下面分兩部分分別詳細(xì)說(shuō)明測(cè)試進(jìn)程和異常檢查進(jìn)程的處理流程。測(cè)試進(jìn)程處理詳細(xì)流程如圖3所示,首先啟動(dòng)一個(gè)測(cè)試進(jìn)程,并創(chuàng)建一個(gè)與之唯 一對(duì)應(yīng)的測(cè)試進(jìn)程文件,并在測(cè)試進(jìn)程文件中存入以下信息測(cè)試進(jìn)程ID、日志文件路徑 及名稱、最大超時(shí)時(shí)間(通??梢栽O(shè)置成一個(gè)固定值)、測(cè)試必要等待時(shí)間(根據(jù)測(cè)試需要, 在測(cè)試步驟中故意安排的等待時(shí)間,創(chuàng)建的時(shí)候該值為0)。然后測(cè)試進(jìn)程開始執(zhí)行測(cè)試步 驟,如果測(cè)試步驟中明確安排了等待時(shí)間為η秒,則在等待之前將測(cè)試進(jìn)程文件中的測(cè)試必要等待時(shí)間設(shè)置為η秒,然后測(cè)試進(jìn)程阻塞等待η秒,等待結(jié)束以后測(cè)試進(jìn)程將測(cè)試進(jìn)程 文件中的測(cè)試必要等待時(shí)間設(shè)置為0,然后測(cè)試進(jìn)程繼續(xù)執(zhí)行下面的步驟。如果后面的步驟 中碰到類似需要等待的地方,做相同的處理。測(cè)試進(jìn)程文件可以在測(cè)試進(jìn)程結(jié)束的時(shí)候由 測(cè)試進(jìn)程刪除,也可以由異常檢查進(jìn)程在輪詢的時(shí)候刪除。 異常檢查進(jìn)程詳細(xì)處理流程如圖4所示,首先啟動(dòng)異常檢查進(jìn)程,接下來(lái)進(jìn)行第 一次異常檢查。獲取第一個(gè)測(cè)試進(jìn)程文件,從文件中獲取測(cè)試進(jìn)程ID、日志文件路徑及名 稱、最大超時(shí)時(shí)間、測(cè)試必要等待時(shí)間。然后根據(jù)測(cè)試進(jìn)程ID判斷測(cè)試進(jìn)程是否存在,如果 不存在,則刪除測(cè)試進(jìn)程文件,檢查下一個(gè)測(cè)試進(jìn)程文件,如果存在,則判斷日志文件是否 更新超時(shí)。如果日志文件更新超時(shí),則可以斷定測(cè)試進(jìn)程異常,刪除測(cè)試進(jìn)程及對(duì)應(yīng)的測(cè)試 進(jìn)程文件,釋放對(duì)應(yīng)的測(cè)試資源(被占用的被測(cè)設(shè)備、輔測(cè)設(shè)備等資源),接下來(lái)檢查下一 個(gè)測(cè)試進(jìn)程文件。如果日志文件更新未超時(shí),則繼續(xù)以相同方法檢查下一個(gè)測(cè)試進(jìn)程文件, 直到所有的測(cè)試文件已經(jīng)檢查完一輪。然后阻塞異常檢查進(jìn)程,直到下一個(gè)異常檢查周期 到來(lái),再進(jìn)行下一輪異常檢查。判斷日志更新是否超時(shí)的具體方法為如果當(dāng)前系統(tǒng)時(shí)間與 日志文件最近修改時(shí)間的差值大于最大超時(shí)時(shí)間與測(cè)試必要等待時(shí)間之和,說(shuō)明日志文件 更新超時(shí),進(jìn)程出現(xiàn)異常。
權(quán)利要求
測(cè)試進(jìn)程異常檢測(cè)方法,其特征在于,包括步驟a、每個(gè)測(cè)試進(jìn)程啟動(dòng)時(shí),為每個(gè)測(cè)試進(jìn)程創(chuàng)建一個(gè)對(duì)應(yīng)的日志文件;測(cè)試進(jìn)程在執(zhí)行測(cè)試時(shí)需實(shí)時(shí)更新所述日志文件;b、異常檢查進(jìn)程周期性檢查每個(gè)測(cè)試進(jìn)程對(duì)應(yīng)的日志文件是否更新超時(shí),如是,則判定該測(cè)試進(jìn)程異常,刪除該測(cè)試進(jìn)程并釋放該測(cè)試進(jìn)程占用的資源;如否,則判定該測(cè)試進(jìn)程正常。
2.如權(quán)利要求1所述測(cè)試進(jìn)程異常檢測(cè)方法,其特征在于,步驟a中,在為測(cè)試進(jìn)程創(chuàng) 建一個(gè)對(duì)應(yīng)的日志文件同時(shí),還對(duì)應(yīng)創(chuàng)建一個(gè)測(cè)試進(jìn)程文件;所述測(cè)試進(jìn)程文件包括有測(cè) 試進(jìn)程ID、測(cè)試進(jìn)程對(duì)應(yīng)的日志文件路徑及名稱;步驟b中,異常檢查進(jìn)程周期性檢查每個(gè)測(cè)試進(jìn)程對(duì)應(yīng)的日志文件的具體步驟為 bl、異常檢查獲取一個(gè)測(cè)試進(jìn)程文件;b2、判斷該測(cè)試進(jìn)程文件中的測(cè)試進(jìn)程ID是否存在,如是,進(jìn)入步驟b3,如否,刪除當(dāng) 前測(cè)試進(jìn)程文件返回步驟bl ;b3、從測(cè)試進(jìn)程文件中獲取該測(cè)試進(jìn)程對(duì)應(yīng)的日志文件路徑及名稱; b4、讀取該測(cè)試進(jìn)程對(duì)應(yīng)的日志文件,判斷該日志文件在規(guī)定時(shí)間內(nèi)是否被更新,如 否,刪除該測(cè)試進(jìn)程并釋放該測(cè)試進(jìn)程占用資源,并返回步驟bl ;如是,直接返回步驟bl。
3.如權(quán)利要求2所述測(cè)試進(jìn)程異常檢測(cè)方法,其特征在于,所述測(cè)試進(jìn)程文件還包括 有最大超時(shí)時(shí)間、測(cè)試必要等待時(shí)間;所述最大超時(shí)時(shí)間為,測(cè)試進(jìn)程運(yùn)行過(guò)程中,從一次指令發(fā)送到被測(cè)設(shè)備返回指令執(zhí) 行結(jié)果并寫日志文件所需的最長(zhǎng)時(shí)間;所述測(cè)試必要等待時(shí)間為,測(cè)試執(zhí)行過(guò)程中,根據(jù)測(cè)試需要,測(cè)試用例所安排等待的時(shí) 間;測(cè)試進(jìn)程在進(jìn)入必要等待之前會(huì)先將測(cè)試必要等待時(shí)間的時(shí)間值寫入對(duì)應(yīng)的測(cè)試進(jìn)程 文件中,在必要等待完成后把對(duì)應(yīng)測(cè)試進(jìn)程文件中的測(cè)試必要等待時(shí)間設(shè)置為0 ;步驟b4中,判斷該日志文件在規(guī)定時(shí)間內(nèi)是否被更新的具體方法是如當(dāng)前系統(tǒng)時(shí)間 減去最近一次日志文件刷新時(shí)間的結(jié)果大于測(cè)試進(jìn)程文件中最大超時(shí)時(shí)間與測(cè)試必要等 待時(shí)間之和,則判定日志文件在規(guī)定時(shí)間內(nèi)未被更新,否則,判定日志文件在規(guī)定時(shí)間內(nèi)已 被更新。
4.如上述任意一項(xiàng)權(quán)利要求所述測(cè)試進(jìn)程異常檢測(cè)方法,其特征在于,所述日志文件 的內(nèi)容包括向被測(cè)設(shè)備發(fā)送的測(cè)試指令、指令執(zhí)行結(jié)果、返回信息的解析與處理結(jié)果。
5.如權(quán)利要求4所述測(cè)試進(jìn)程異常檢測(cè)方法,其特征在于,所述測(cè)試進(jìn)程占用資源包 括被測(cè)設(shè)備、輔測(cè)設(shè)備、劃分拓?fù)渌璧腣LAN等。
6.自動(dòng)化測(cè)試控制裝置,其特征在于,包括控制模塊、測(cè)試進(jìn)程模塊、日志存儲(chǔ)模塊、異 常檢查進(jìn)程模塊;所述測(cè)試進(jìn)程模塊用于,運(yùn)行測(cè)試進(jìn)程,并在執(zhí)行測(cè)試時(shí)實(shí)時(shí)更新日志文件; 所述控制模塊用于,啟動(dòng)測(cè)試進(jìn)程,為每個(gè)測(cè)試進(jìn)程對(duì)應(yīng)創(chuàng)建一個(gè)日志文件,并將日志 文件保存在日志存儲(chǔ)模塊中;啟動(dòng)異常檢查進(jìn)程; 所述日志存儲(chǔ)模塊用于,存儲(chǔ)日志文件;所述異常檢查進(jìn)程模塊用于,運(yùn)行異常檢查進(jìn)程,周期性檢查日志存儲(chǔ)模塊每個(gè)測(cè)試 進(jìn)程對(duì)應(yīng)的日志文件是否更新超時(shí),如是,則判定該測(cè)試進(jìn)程異常,刪除該測(cè)試進(jìn)程并釋放該測(cè)試進(jìn)程占用資源;如否,則判定該測(cè)試進(jìn)程正常。
7.如權(quán)利要求6所述自動(dòng)化測(cè)試控制裝置,其特征在于,還包括測(cè)試進(jìn)程文件存儲(chǔ)模塊;所述控制模塊還用于,在為測(cè)試進(jìn)程對(duì)應(yīng)創(chuàng)建一個(gè)日志文件同時(shí),還對(duì)應(yīng)創(chuàng)建一個(gè)測(cè) 試進(jìn)程文件,并將測(cè)試進(jìn)程文件保存在測(cè)試進(jìn)程文件存儲(chǔ)模塊中;所述測(cè)試進(jìn)程文件存儲(chǔ)模塊用于,存儲(chǔ)測(cè)試進(jìn)程文件;所述測(cè)試進(jìn)程文件包括有測(cè)試 進(jìn)程ID、測(cè)試進(jìn)程對(duì)應(yīng)的日志文件路徑及名稱;所述異常檢查進(jìn)程模塊還用于,通過(guò)讀取測(cè)試進(jìn)程文件中日志文件路徑及名稱,從而 在日志存儲(chǔ)模塊中獲取該測(cè)試進(jìn)程對(duì)應(yīng)的日志文件;當(dāng)判斷出測(cè)試進(jìn)程文件中的測(cè)試進(jìn)程 ID不存在,則刪除當(dāng)前測(cè)試進(jìn)程文件。
8.如權(quán)利要求7所述自動(dòng)化測(cè)試控制裝置,其特征在于,所述測(cè)試進(jìn)程文件還包括有 最大超時(shí)時(shí)間、測(cè)試必要等待時(shí)間;所述最大超時(shí)時(shí)間為,測(cè)試進(jìn)程過(guò)程中,從一次指令發(fā) 送到被測(cè)設(shè)備返回指令執(zhí)行結(jié)果并寫日志文件所需的最長(zhǎng)時(shí)間;所述測(cè)試必要等待時(shí)間 為,測(cè)試執(zhí)行過(guò)程中,根據(jù)測(cè)試需要,測(cè)試用例所安排等待的時(shí)間;所述測(cè)試進(jìn)程模塊還用于,測(cè)試進(jìn)程在進(jìn)入必要等待之前,將測(cè)試必要等待時(shí)間的時(shí) 間值寫入測(cè)試進(jìn)程文件存儲(chǔ)模塊中對(duì)應(yīng)的測(cè)試進(jìn)程文件中,在必要等待完成后,測(cè)試進(jìn)程 模塊將測(cè)試進(jìn)程文件存儲(chǔ)模塊中對(duì)應(yīng)測(cè)試進(jìn)程文件中的測(cè)試必要等待時(shí)間設(shè)置為0 ;所述異常檢查進(jìn)程模塊還用于,通過(guò)計(jì)算當(dāng)前系統(tǒng)時(shí)間減去最近一次日志文件刷新時(shí) 間的結(jié)果是否大于測(cè)試進(jìn)程文件中最大超時(shí)時(shí)間與測(cè)試必要等待時(shí)間之和,來(lái)判定日志文 件是否在規(guī)定時(shí)間內(nèi)更新,如是,判定日志文件在規(guī)定時(shí)間內(nèi)未被更新;如否,判定日志文 件在規(guī)定時(shí)間內(nèi)已被更新。
9.如上述任意一項(xiàng)權(quán)利要求所述自動(dòng)化測(cè)試控制裝置,其特征在于,所述日志文件的 內(nèi)容包括向被測(cè)設(shè)備發(fā)送的測(cè)試指令、指令執(zhí)行結(jié)果、返回信息的解析與處理結(jié)果。
10.如權(quán)利要求9所述自動(dòng)化測(cè)試控制裝置,其特征在于,所述測(cè)試進(jìn)程占用資源包括 被測(cè)設(shè)備、輔測(cè)設(shè)備、劃分拓?fù)渌璧腣LAN等。
全文摘要
本發(fā)明提供一種自動(dòng)化測(cè)試系統(tǒng)中能夠及時(shí)發(fā)現(xiàn)并處理異常進(jìn)程的方法以及實(shí)現(xiàn)該方法的自動(dòng)化測(cè)試控制裝置。測(cè)試進(jìn)程異常檢測(cè)方法,包括步驟a、每個(gè)測(cè)試進(jìn)程啟動(dòng)時(shí),為每個(gè)測(cè)試進(jìn)程創(chuàng)建一個(gè)對(duì)應(yīng)的日志文件;測(cè)試進(jìn)程在執(zhí)行測(cè)試時(shí)需實(shí)時(shí)更新所述日志文件;b、異常檢查進(jìn)程周期性檢查每個(gè)測(cè)試進(jìn)程對(duì)應(yīng)的日志文件是否更新超時(shí),如是,則判定該測(cè)試進(jìn)程異常,刪除該測(cè)試進(jìn)程并釋放該測(cè)試進(jìn)程占用的資源;如否,則判定該測(cè)試進(jìn)程正常。本發(fā)明通過(guò)對(duì)日志文件進(jìn)行檢測(cè),能間接了解到測(cè)試進(jìn)程是否正常運(yùn)行。
文檔編號(hào)G06F11/36GK101916224SQ20101025916
公開日2010年12月15日 申請(qǐng)日期2010年8月20日 優(yōu)先權(quán)日2010年8月20日
發(fā)明者董哲, 郭靜 申請(qǐng)人:邁普通信技術(shù)股份有限公司