一種復(fù)現(xiàn)bug的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機軟件工程領(lǐng)域,具體涉及一種復(fù)現(xiàn)BUG的系統(tǒng)及方法。
【背景技術(shù)】
[0002]在電腦系統(tǒng)或程序中,BUG常作為一些未被發(fā)現(xiàn)的缺陷或問題的統(tǒng)稱。在日常工作中,軟件測試人員經(jīng)常需要通過SecureCrt等軟件連接串口進行配置操作,如果要復(fù)現(xiàn)BUG,則測試人員必須反復(fù)在SecureCrt上下發(fā)命令才能出現(xiàn)。但是針對較多的設(shè)備或者較多的歷史操作步驟,測試人員要復(fù)現(xiàn)某個BUG時,需要反復(fù)比對操作的設(shè)備,以及每個設(shè)備操作過的命令和操作的時間等,這樣給BUG的復(fù)現(xiàn)帶來了極大的難度,并降低了 BUG復(fù)現(xiàn)的概率。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是提供一種復(fù)現(xiàn)BUG的系統(tǒng)及方法,通過軟件重現(xiàn)設(shè)備的歷史操作記錄,大大降低了人工復(fù)現(xiàn)BUG的難度,并且提高了 BUG重現(xiàn)的概率,以克服現(xiàn)有技術(shù)存在BUG復(fù)現(xiàn)的難度高、概率低的問題。
[0004]根據(jù)本發(fā)明的一個方面,提供一種復(fù)現(xiàn)BUG的系統(tǒng),包括:操作記錄存儲單元,用于開啟SecureCrt的操作記錄選項,記錄設(shè)備的操作記錄;操作記錄讀取單元,連接到所述操作記錄存儲單元,用于在復(fù)現(xiàn)設(shè)備BUG時讀取所述操作記錄存儲單元中存儲的與該設(shè)備相對應(yīng)的操作記錄,并將該設(shè)備的操作記錄發(fā)送到復(fù)現(xiàn)單元;以及復(fù)現(xiàn)單元,連接到所述操作記錄讀取單元,用于接收并分析所述操作記錄讀取單元發(fā)送的操作記錄,根據(jù)分析結(jié)果向?qū)?yīng)設(shè)備下發(fā)命令。
[0005]其中,在本發(fā)明中,所述操作記錄存儲單元用于開啟SecureCrt的操作記錄選項,根據(jù)設(shè)備的串口名將其操作記錄存放在相應(yīng)的文件夾內(nèi),所述文件夾內(nèi)至少含有一個log日志文件,每一個所述log日志文件記錄有對應(yīng)設(shè)備的操作記錄。
[0006]其中,在本發(fā)明中,所述復(fù)現(xiàn)單元包括:接收模塊,用于接收所述操作記錄讀取單元所發(fā)送的操作記錄;分析模塊,用于分析所述接收模塊所接收到的操作記錄;以及下發(fā)模塊,用于根據(jù)所述分析模塊所分析出的結(jié)果向相對應(yīng)的設(shè)備下發(fā)命令。
[0007]其中,在本發(fā)明中,所述分析模塊用于讀取操作記錄中記錄的對應(yīng)設(shè)備下發(fā)命令的時刻,并計算出每條命令下發(fā)的間隔時間。
[0008]其中,在本發(fā)明中,所述下發(fā)模塊用于選取下發(fā)命令的初始時間點,并根據(jù)所述分析模塊計算出的每條命令下發(fā)的間隔時間重新向?qū)?yīng)的設(shè)備的串口下發(fā)命令。
[0009]根據(jù)本發(fā)明的另一方面,提供一種復(fù)現(xiàn)BUG的方法,包括:步驟SI,開啟SecureCrt的操作記錄選項,記錄設(shè)備的操作記錄;步驟S2,讀取并發(fā)送已存儲的與設(shè)備相對應(yīng)的操作記錄;步驟S3,接收并分析所述設(shè)備的操作記錄,根據(jù)分析結(jié)果向該設(shè)備下發(fā)命令。
[0010]其中,在本發(fā)明中,所述步驟SI包括:開啟SecureCrt的操作記錄選項,根據(jù)設(shè)備的串口名將其操作記錄存放在相應(yīng)的文件夾內(nèi),所述文件夾內(nèi)至少含有一個log日志文件,每一個所述log日志文件記錄有對應(yīng)設(shè)備的操作記錄。
[0011]其中,在本發(fā)明中,所述步驟S3包括:步驟S31,接收所述設(shè)備的操作記錄;步驟S32,分析所述設(shè)備的操作記錄;步驟S33,根據(jù)分析結(jié)果向所述設(shè)備下發(fā)命令。
[0012]其中,在本發(fā)明中,所述步驟S32包括:讀取操作記錄中記錄的對應(yīng)設(shè)備下發(fā)命令的時刻,并計算出每條命令下發(fā)的間隔時間。
[0013]其中,在本發(fā)明中,所述步驟S33包括:選取下發(fā)命令的初始時間點,并根據(jù)步驟S32計算出的每條命令下發(fā)的間隔時間重新向?qū)?yīng)的設(shè)備的串口下發(fā)命令。
[0014]根據(jù)本發(fā)明的一種復(fù)現(xiàn)BUG的系統(tǒng)及方法,利用SecureCrt軟件重現(xiàn)設(shè)備的歷史操作記錄,在重現(xiàn)BUG時,通過提取設(shè)備的操作記錄的特征信息并進行重新計算,模擬了人工操作記錄的命令下發(fā)步驟,進而降低了人工復(fù)現(xiàn)BUG的難度,且提高了 BUG重現(xiàn)的概率。
【附圖說明】
[0015]圖1顯示了本發(fā)明優(yōu)選實施例的復(fù)現(xiàn)BUG系統(tǒng)的結(jié)構(gòu)示意圖;
[0016]圖2-圖4顯示了本發(fā)明優(yōu)選實施例中操作記錄的存儲狀態(tài)的示意圖;
[0017]圖5顯示了圖1中復(fù)現(xiàn)單元的結(jié)構(gòu)示意圖;
[0018]圖6顯示了本發(fā)明優(yōu)選實施例的復(fù)現(xiàn)BUG方法的流程圖;
[0019]圖7顯示了圖6中步驟S3的流程圖。
【具體實施方式】
[0020]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明了,下面結(jié)合【具體實施方式】并參照附圖,對本發(fā)明進一步詳細說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
[0021]現(xiàn)有技術(shù)中,軟件測試人員通常通過SecureCrt等軟件連接串口進行配置操作,如果要復(fù)現(xiàn)BUG,測試人員必須反復(fù)在SecureCrt上下發(fā)命令才能出現(xiàn)。針對較多的設(shè)備或者較多的歷史操作步驟,測試人員要復(fù)現(xiàn)某個BUG時,需要反復(fù)比對操作的設(shè)備,以及每個設(shè)備操作過的命令和操作的時間等,這樣給BUG的復(fù)現(xiàn)帶來了極大的難度,并降低了 BUG復(fù)現(xiàn)的概率。
[0022]與現(xiàn)有技術(shù)相比,本發(fā)明利用SecureCrt軟件重現(xiàn)設(shè)備的歷史操作記錄,即利用SecureCrt記錄日志信息,該日志信息包括操作時刻、連接設(shè)備的名字、以及具體下發(fā)的命令,通過軟件來進行歷史操作記錄的重現(xiàn),降低了人工復(fù)現(xiàn)BUG的難度,且提高了 BUG重現(xiàn)的概率。
[0023]圖1顯示了本發(fā)明優(yōu)選實施例的復(fù)現(xiàn)BUG系統(tǒng)的結(jié)構(gòu)示意圖。
[0024]如圖1所示,本發(fā)明優(yōu)選實施例的復(fù)現(xiàn)BUG系統(tǒng)包括:操作記錄存儲單元1、操作記錄讀取單元2以及復(fù)現(xiàn)單元3。
[0025]操作記錄存儲單元I用于開啟SecureCrt的操作記錄選項,記錄設(shè)備的操作記錄。
[0026]具體來說,操作記錄存儲單元I利用SecureCrt軟件實現(xiàn)對各個設(shè)備的操作記錄進行存儲,操作記錄存儲單元I會開啟SecureCrt的操作記錄選項,這樣SecureCrt會根據(jù)設(shè)備的串口名將其操作記錄存放在相應(yīng)的文件夾內(nèi),見圖2。其中,用于存儲操作記錄的文件夾內(nèi)至少含有一個log日志文件,見圖3 ;如圖4所示,每一個log日志文件記錄有對應(yīng)設(shè)備的操作記錄,這樣每個設(shè)備的歷史操作記錄都會被分類存儲,為復(fù)現(xiàn)BUG奠定了基礎(chǔ)。
[0027]操作記錄讀取單元2連接到操作記錄存儲單元I,用于在復(fù)現(xiàn)設(shè)備BUG時讀取操作記錄存儲單元I中存儲的與該設(shè)備相對應(yīng)的操作記錄,并將該設(shè)備的操作記錄發(fā)送到復(fù)現(xiàn)單元3。
[0028]具體來說,復(fù)現(xiàn)某個/多個設(shè)備的BUG時,操作記錄讀取單元2從操作記錄存儲單元I中讀取該設(shè)備的操作記錄,這里,操作記錄讀取單元2通過讀取需要復(fù)現(xiàn)BUG的設(shè)備的串口名來獲取存儲在操作記錄存儲單元I中的相應(yīng)的操作記錄,并在獲取操作記錄的信息后將其發(fā)到復(fù)現(xiàn)單元3,由復(fù)現(xiàn)單元3對其進行分析。
[0029]復(fù)現(xiàn)單元3,連接到操作記錄讀取單元2,用于接收并分析操作記錄讀取單元2發(fā)送的操作記錄,根據(jù)分析結(jié)果向?qū)?yīng)設(shè)備下發(fā)命令。
[0030]具體來說,復(fù)現(xiàn)單元3的結(jié)構(gòu)如圖5所示,包括接收模塊31、分析模塊32和下發(fā)模塊33。
[0031]接收模塊31用于接收所述操作記錄讀取單元2所發(fā)送的操作記錄。
[0032]分析模塊32用于分析接收模塊31所接收到的操作記錄。具體地,分析模塊32用于讀取操作記錄中記錄的對應(yīng)設(shè)備下發(fā)命令的時刻,并計算出每條命令下發(fā)的間隔時間,如圖4中前4條命令的下發(fā)時間分別為09:04:03、09:04:05、09:04:05和09:04:06,那么這四條命令的間隔時間為2S、0和1S。