專利名稱:基于串口通信的機頂盒測試方法和系統的制作方法
技術領域:
本發明涉及機頂盒的測試系統,尤其涉及一種基于串口通信的機頂盒測試方法和系統。
背景技術:
隨著數字電視業務的日益發展,機頂盒的功能日趨復雜,客戶對機頂盒產品質量的要 求也越來越高,因此,軟件產品的質量測試和控制正逐漸成為軟件企業生存與發展的核心。
目前,測試人員對機頂盒產品的測試主要依靠人工進行,測試人員根據客戶需求,通 過手動操作遙控器的方式,按照需求規格書驗證機頂盒的各項功能是否正常。有時根據需 要,也會將機頂盒置于某個特定節目下進行連續播放,進行長時間的老化測試。也有一些 自動測試方法用于測試過程中,但這些方法大多是由軟件工程師,根據某個項目的具體環 境和情況,編寫一些特定的測試用例,有針對性地進行一些簡單的自動測試。
分析上述現有測試方法,發現存在如下幾個缺點采用較多的手動測試方法,其測試 強度和靈活性都具有較大的局限性,即使采用了長時間的老化測試策略,也僅僅是針對節 目播放功能而進行的一種靜態測試,這種手動測試方法在測試強度方面是遠遠不夠的,不 易于發現軟件中存在的潛在缺陷,而且,其測試效率不高;現有的一些自動測試方法,對 操作人員具有一定的技術要求,其可移植性和實際操作的靈活性也存在較多的弊端。
因此,針對機頂盒的功能測試,開發出一種具有較強的獨立性和操作性,與機頂盒軟 件各功能模塊之間的耦合度較小,比較容易集成到基于各種方案的機頂盒軟件工程中的測 試方法是業內亟待解決的一個技術難題。
發明內容
為解決上述現有技術中存在的問題,本發明提出一種基于串口通信的機頂盒測試方法 和系統,該測試方案具有較強的獨立性和操作性,而且,比較容易集成到基于各種方案的 機頂盒軟件系統中。
本發明采取的技術方案是提出一種基于串口通信的機頂盒測試方法,該方法包括下列 步驟
a. 在計算機上創建一個獨立的監控線程,用于監控、處理串口輸入命令,完成自動測 試任務;
b. 在計算機上創建一個首尾相接的環形隊列,并確定起始位置,用于存放輸入的測試 〈曰息;
c. 啟動機頂盒,使其初始化并通過一個串口與計算機通信;
d. 測試人員通過操作遙控器,設定測試項目,串口監控線程記錄所輸入的按鍵鍵值和 按鍵時刻,對測試人員所設定的測試項目進行實時跟隨,形成一個放置在環形隊列中的測 試路徑;
e. 通過串口輸入"自動測試開始"的命令,監控線程收到并確認該命令后,便從環形隊
3列的隊頭位置開始,對整個隊列的各個節點進行順序掃描,并計算相鄰兩個節點之間的按 鍵時差,以一定的時間間隔,將掃描到的按鍵值有序的送入機頂盒系統中;
f. 機頂盒系統監測按鍵輸入的測試信息,根據接收到的不同測試信息,對測試人員所 設定的測試路徑進行自動再現,響應、交互并運行相應的功能模塊;
g. 通過串口向計算機屏幕輸出測試結果。
本發明還提出一種基于串口通訊的機頂盒測試系統,包括
按鍵讀取模塊,用于接收測試人員通過遙控器輸入的指令,包括設定的測試項目、測 試參數;
測試隊列生成模塊,對測試人員所設定的測試項目進行實時跟隨,形成一個放置在環 形隊列中的測試路徑;
機頂盒系統交互模塊,根據設定的測試路徑完成測試項目; 調試信息輸出模塊,用于輸出測試結果;
監控線程模塊,用于監控、處理串口輸入命令,完成自動測試任務; 以及與機頂盒連接的串口通訊模塊。
與現有技術相比,本發明提出的測試方法和系統可以很方便的移植到基于各種平臺下 的機頂盒軟件系統中,測試人員只需要通過串口輸入幾個簡單的命令,就可以按照測試人 員預先設定的測試路徑,在無人干預的情況下完成高強度地的自動測試,使用方便,操作 靈活,大大提高了工作效率;當異常情況發生時,串口輸出的調試信息,有助于工程師發 現、定位并解決軟件中存在的問題,為提高機頂盒系統的性能和穩定性奠定了基礎。
圖1是本發明方法的工作流程; 圖2是本發明系統的結構示意圖。
具體實施例方式
為了更加清楚地了解本發明的技術方案及優點,以下結合附圖對本發明的較佳實施例 進行詳細說明。
為了即能夠達到測試效果、減少對待測試軟件的影響、提高實際測試操作的靈活性, 又能及時捕捉到軟件中存在的錯誤信息和位置,方便軟件工程師發現并解決問題,本發明 借助串口通信方式,基于測試人員輸入的串口命令,對測試人員通過遙控器所設定的測試 路徑進行實時追蹤并記錄。當檢測到測試人員輸入的自動測試啟動命令后,本發明對其預 先設定的路徑及操作動作進行循環、真實模仿,從而可按照測試人員事先設定好的測試路 徑和操作方式,實現高仿真、高強度地自動測試。通常,在軟件開發過程中,軟件工程師 在各個功能模塊、函數接口以及內存管理等可能出現警告、異常以及錯誤情況的地方添加 了串口打印調試信息。因此,在整個自動測試過程中,當異常情況發生時,上述警告、異
常以及錯誤信息會通過串口輸出到計算機的屏幕上,從而軟件工程師可以通過分析這些串 口打印信息,準確判斷并定位軟件設計過程中出現問題的原因及位置,從而可以對其進行 及時的修改、改進和完善。
如圖1所示,本發明提出的方法包括下列步驟-a. 在計算機上創建一個獨立的監控線程,用于^:控、處理串口輸入命令,完成自動測
試任務;
b. 在計算機上創建一個首尾相接的環形順序隊列,并確定起始位置,用于存放測試輸 入的按鍵信息;
c. 啟動機頂盒,使其初始化并通過一個串口與計算機通信,該串口通信用的特征參數 通常配置為波特率115200,數據位8位,停止位l,奇偶校驗無;
d. 機頂盒啟動后,通過串口輸出幫助提示信息,測試人員需要根據提示信息對要測試 的路徑進行設定,當測試人員輸入追蹤開始命令"KeylnputTraceStart",監控線程收到該命 令后,便在后臺捕獲測試人員輸入的按鍵鍵值,并記錄當前按鍵動作發生的時刻,將這些 信息作為一個節點存入環形隊列中,測試人員每次輸入一個鍵值,監控線程就會將對應的 按鍵信息推入環形隊列中。直到測試人員輸入追蹤結束命令"KeylnputTraceEnd",通知串 口監控線程測試路徑已設定完畢,監控線程將終止向環形隊列中存放按鍵信息,并將最后 一次輸入的按鍵位置作為對尾,然后將對頭和對尾進行握手相接,形成一個封閉的環形隊 列;
e. 測試人員通過串口輸入自動測試開始命令"AutoTestStart",監控線程收到并確認該命 令后,便從環形隊列的隊頭位置開始,對整個隊列的各個節點進行順序掃描,并計算相鄰 兩個節點之間的按鍵時差,以一定的時間間隔,將掃描到的按鍵值有序的送入機頂盒系統 中,從而使機頂盒可以按照測試人員設定的路徑,進行測試;
f. 機頂盒系統監測按鍵輸入信息,根據接收到的不同按鍵信息,分別進行響應、交互 并運行相應的功能模塊;
g. 在機頂盒測試過程中,或測試結束時,通過串口向計算機屏幕輸出測試結果,當發 生警告、異常以及錯誤情況時,相應的提示信息通過串口輸出到計算機屏幕上。
當測試結束時,軟件工程師通過分析串口打印出的軟件調試信息,可以定位并解決機 頂盒軟件中存在的缺陷。
如圖2所示,本發明提出的系統包括
按鍵讀取模塊,用于接收測試人員通過遙控器輸入的指令,包括設定的測試項目、測 試參數;
測試隊列生成模塊,對測試人員所設定的測試項目進行實時跟隨,形成一個放置在環 形隊列中的測試路徑;
機頂盒系統測試交互輸出模塊,用于輸出測試結果; 監控線程模塊,用于監控、處理串口輸入命令,完成自動測試任務; 以及與機頂盒連接的串口通訊模塊。
本發明所闡述的自動測試方法和系統,可以很方便的移植到基于各種平臺下的機頂盒 軟件系統中,并可按照測試人員所設定的不同路徑,完成高強度地的自動測試。本發明使 用方便,操作靈活,大大提高了工作效率,當異常情況發生時,串口輸出的調試信息,有 助于工程師發現、定位并解決軟件中存在的問題,為提高機頂盒系統的性能和穩定性奠定 了基礎。
權利要求
1、一種基于串口通信的機頂盒測試方法,其特征在于包括下列步驟a.在計算機上創建一個獨立的監控線程,用于監控、處理串口輸入命令,完成自動測試任務;b.在計算機上創建一個首尾相接的環形隊列,并確定起始位置,用于存放輸入的測試信息;c.啟動機頂盒,使其初始化并通過一個串口與計算機通信;d.測試人員通過操作遙控器,設定測試項目,串口監控線程記錄所輸入的按鍵鍵值和按鍵時刻,對測試人員所設定的測試項目進行實時跟隨,形成一個放置在環形隊列中的測試路徑;e.通過串口輸入“自動測試開始”的命令,監控線程收到并確認該命令后,便從環形隊列的隊頭位置開始,對整個隊列的各個節點進行順序循環掃描,并以一定的時間間隔,將掃描到的按鍵值有序的送入機頂盒系統中;f.機頂盒系統監測按鍵輸入的測試信息,根據接收到的不同測試信息,對測試人員所設定的測試路徑進行自動再現,響應、交互并運行相應的功能模塊;g.通過串口向計算機屏幕輸出測試結果。
2、 根據權利要求1所述的方法,其特征在于,所述串口通信的特征參數配置為波特率 115200,數據位8位,停止位l,奇偶校驗無。
3、 根據權利要求1所述的方法,其特征在于步驟d中的設定測試項目按下列步驟進行 測試人員輸入"追蹤開始"命令,監控線程收到該命令后,便在后臺捕獲測試人員輸入的按鍵 鍵值,并記錄當前按鍵動作發生的時刻,將這些信息作為一個節點存入環形隊列中,測試人 員每次輸入一個鍵值,監控線程就會將對應的按鍵信息推入環形隊列中,直到測試人員輸入 "追蹤結束"命令,通知串口監控線程測試路徑已設定完畢,監控線程將終止向環形隊列中存 放按鍵信息,并將最后一次輸入的按鍵位置作為隊尾,然后將隊頭和隊尾進行握手相接,形 成一個封閉的環形隊列。
4、 根據權利要求1所述的方法,其特征在于還包括步驟h軟件工程師通過分析串口打 印出的軟件測試結果,調試機頂盒軟件。
5、 一種基于串口通訊的機頂盒測試系統,其特征在于包括按鍵讀取模塊,用于接收測試人員通過遙控器輸入的指令,包括設定的測試項目、測試 參數;測試隊列生成模塊,對測試人員所設定的測試項目進行實時跟隨,形成一個放置在環形隊列中的測試路徑;機頂盒系統交互模塊,根據設定的測試路徑完成測試項目; 調試信息輸出模塊,用于輸出測試結果;監控線程模塊,用于監控、處理串口輸入命令,完成自動測試任務; 以及與機頂盒連接的串口通訊模塊。
全文摘要
一種基于串口通信的機頂盒測試方法和系統,其方法有a.建獨立的監控線程b.建首尾相接的環形隊列,存放輸入的測試信息c.啟動機頂盒,并初始化通過一串口與計算機通信d.參考串口輸出幫助提示信息,通過操作遙控器設定測試項目,串口監控線程記錄所輸入的按鍵鍵值和按鍵時刻,形成測試路徑放置在環形隊列中e.通過串口輸入“自動測試開始”的命令,監控線程收到并確認該命令后,對整個隊列的各節點進行順序循環掃描,并將掃描到的按鍵值按計算的時間間隔有序的送入機頂盒系統中f.機頂盒系統監測按鍵輸入的測試信息,由收到的不同測試信息,對測試人員設定的測試路徑運行相應的功能模塊g.由串口向計算機屏幕輸出測試結果。本發明可自動測試,操作簡單,有助于發現軟件中存在的隱藏缺陷,提高產品的穩定性。
文檔編號H04N17/00GK101646100SQ20091010938
公開日2010年2月10日 申請日期2009年8月21日 優先權日2009年8月21日
發明者超 田 申請人:深圳創維數字技術股份有限公司