基帶軟件的自動化測試方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機(jī)軟件測試領(lǐng)域,具體而言,涉及基帶軟件的自動化測試方法及 裝置。
【背景技術(shù)】
[0002] 近幾年來,隨著計算機(jī)技術(shù)的提高,使得軟件行業(yè)對軟件的質(zhì)量要求也越來越高, 即達(dá)到了一個新的標(biāo)準(zhǔn),這一新的標(biāo)準(zhǔn)的實(shí)施使得對軟件測試更加重視,即通過對軟件的 測試找出軟件的問題所在,并對所在的問題進(jìn)行不斷修復(fù)和完善,以得到高質(zhì)量的軟件。
[0003] 傳統(tǒng)的軟件測試,即人工對軟件進(jìn)行測試,但是人工測試存在費(fèi)時費(fèi)力且效率低 下,并且人工測試易產(chǎn)生主觀錯誤等缺陷。為了解決傳統(tǒng)的軟件測試的上述缺陷,相關(guān)技術(shù) 提供了自動化軟件測試技術(shù),自動化軟件測試技術(shù)能夠通過自動化測試工具或其他手段, 按照軟件測試工程時的預(yù)訂計劃對待測模塊進(jìn)行自動測試,其能夠減輕人工測試的勞動 量,減少人為錯誤的發(fā)生,從而達(dá)到提高軟件質(zhì)量的目的。
[0004] 其中,自動化測試具有很多優(yōu)點(diǎn),比如它可以很大的節(jié)省人力,節(jié)省時間,特別是 對于產(chǎn)品型的軟件,每發(fā)布一個新版本,其大部分功能和上一個版本相似,這樣自動化測試 就極大的解放了人力;自動化測試能夠完全自動的運(yùn)行,可以在晚上和周末執(zhí)行測試,這樣 就節(jié)省了時間;同時自動化測試能夠完成人工不易控制的工作,比如采集CPU占有率信息 等。
[0005] 具體的,相關(guān)技術(shù)提供了一種自動化軟件測試技術(shù),使用當(dāng)前市面上使用較 多的自動化測試工具,如QTP(quicktest Professional,軟件功能自動測試工具), WinRunner (企業(yè)級的功能測試工具)、QA Run(應(yīng)用的功能測試工具)以及Test Partner 等,來執(zhí)行重復(fù)的手動測試,用以檢測應(yīng)用程序是否能夠達(dá)到預(yù)期的功能及正常運(yùn)行。這些 自動化測試工具結(jié)合預(yù)訂計劃基本上都實(shí)現(xiàn)了自動化測試,達(dá)到了省時、省力、效率高以及 方便靈活的優(yōu)點(diǎn);但是,這些自動化測試工具也存在著一定的局限性和缺點(diǎn),例如它們適用 于特定的軟件環(huán)境,工具腳本維護(hù)起來比較麻煩,例如,QTP對環(huán)境要求很高,使用QTP時, 需要把實(shí)時監(jiān)控軟件和殺毒軟件關(guān)閉;WinRunner使用的腳本主要是基于類C的TSL,在學(xué) 習(xí)上會有一定難度;TestPantner收費(fèi)昂貴等。
[0006] 為了解決當(dāng)前市面上使用較多的自動化測試工具的上述問題,相關(guān)技術(shù)還提供了 另一種自動化軟件測試技術(shù),即使用實(shí)時操作系統(tǒng)預(yù)設(shè)操作系統(tǒng)自身帶有自動化測試環(huán)境 BSP VTS(board support package validation test suite)板級支持包測試工具)來執(zhí)行 重復(fù)的手動測試,用以檢測應(yīng)用程序是否能夠達(dá)到預(yù)期的功能及正常運(yùn)行。但是,VTS的測 試方式自身存在著諸多缺點(diǎn),比如,測試代碼的實(shí)現(xiàn)比較復(fù)雜、需要更改多處的代碼才能完 成代碼移植、測試用例的添加或者測試用例刪除過程比較繁瑣。
[0007] 發(fā)明人在研宄中發(fā)現(xiàn),現(xiàn)有技術(shù)中的兩種自動化測試技術(shù)均存在相應(yīng)的問題(如 適用的軟件環(huán)境單一和測試過程中的操作復(fù)雜繁瑣),針對上述存在的問題,目前尚未提出 有效的解決方案。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的目的在于提供基帶軟件的自動化測試方法及裝置,能夠適應(yīng)較多種的軟 件環(huán)境,簡化了測試的操作步驟,提高了測試效率。
[0009] 第一方面,本發(fā)明實(shí)施例提供了一種基帶軟件的自動化測試方法,包括:
[0010] 接收用戶選擇的被測試模塊及各模塊對應(yīng)的測試用例;
[0011] 根據(jù)測試用例的函數(shù)名和/或函數(shù)參數(shù),生成測試指示數(shù)據(jù);
[0012] 向監(jiān)測模塊發(fā)送測試指示數(shù)據(jù),以便監(jiān)測模塊將其對測試指示數(shù)據(jù)進(jìn)行解析得到 的數(shù)據(jù)內(nèi)容發(fā)送給被測試模塊以及根據(jù)接收的被測試模塊反饋的執(zhí)行對應(yīng)的測試用例后 的執(zhí)行結(jié)果生成具有第一固定格式的字符串;
[0013] 接收監(jiān)測模塊發(fā)送的具有第一固定格式的字符串,字符串?dāng)y帶有標(biāo)識測試用例的 執(zhí)行是否成功的數(shù)據(jù)值;
[0014] 根據(jù)具有第一固定格式的字符串,判斷測試用例是否通過。
[0015] 結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第一種可能的實(shí)施方式,其中,所 述基帶軟件的自動化測試方法還包括:
[0016] 獲取發(fā)送測試指示數(shù)據(jù)到接收該測試指示數(shù)據(jù)對應(yīng)的反饋?zhàn)址畷r所用的測試 時間;
[0017] 在檢測到測試時間小于或等于第一預(yù)設(shè)時間時,判定測試用例執(zhí)行正常,并根據(jù) 具有第一固定格式的字符串判斷測試用例是否通過;以及,
[0018] 在檢測到測試時間大于第一預(yù)設(shè)時間時,判定測試用例執(zhí)行異常,并向監(jiān)測模塊 發(fā)送下一個測試指示數(shù)據(jù)。
[0019] 結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第二種可能的實(shí)施方式,其中,向 監(jiān)測模塊發(fā)送測試指示數(shù)據(jù),包括:
[0020] 向監(jiān)測模塊發(fā)送詢問被測試模塊是否正常啟動的請求命令;
[0021] 在接收到監(jiān)測模塊發(fā)送的攜帶被測試模塊正常啟動的反饋信息時,向監(jiān)測模塊發(fā) 送測試指示數(shù)據(jù)。
[0022] 結(jié)合第一方面的第一種可能的實(shí)施方式或者第一方面的第二種可能的實(shí)施方式, 本發(fā)明實(shí)施例提供了第一方面的第三種可能的實(shí)施方式,其中,根據(jù)具有第一固定格式的 字符串,判斷測試用例是否通過,包括:
[0023] 在字符串中查找第一預(yù)設(shè)標(biāo)識字段,獲取第一預(yù)設(shè)標(biāo)識字段上的第一數(shù)據(jù)值;
[0024] 判斷第一數(shù)據(jù)值與第一預(yù)設(shè)數(shù)據(jù)值是否相匹配;
[0025] 在檢測到第一數(shù)據(jù)值與第一預(yù)設(shè)數(shù)據(jù)值相匹配時,判定測試用例執(zhí)行成功;以及,
[0026] 在檢測到第一數(shù)據(jù)值與第一預(yù)設(shè)數(shù)據(jù)值不匹配時,判定測試用例執(zhí)行失敗。
[0027] 結(jié)合第一方面的第三種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第四種 可能的實(shí)施方式,其中,所述基帶軟件的自動化測試方法還包括:
[0028] 每隔第二預(yù)設(shè)時間接收監(jiān)測模塊發(fā)送的具有第二預(yù)設(shè)格式的心跳包;其中,第二 預(yù)設(shè)格式與第一預(yù)設(shè)格式不同;
[0029] 在心跳包中查找第二預(yù)設(shè)標(biāo)識字段,獲取第二預(yù)設(shè)標(biāo)識字段上的第二數(shù)據(jù)值;
[0030] 判斷第二數(shù)據(jù)值與第二預(yù)設(shè)數(shù)據(jù)值是否相匹配;
[0031] 在檢測到第二數(shù)據(jù)值與第二預(yù)設(shè)數(shù)據(jù)值相匹配時,向監(jiān)測模塊發(fā)送測試指示數(shù) 據(jù);以及,
[0032] 在檢測到第二數(shù)據(jù)值與第二預(yù)設(shè)數(shù)據(jù)值不匹配時,停止測試。
[0033] 結(jié)合第一方面的第四種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第五種 可能的實(shí)施方式,其中,所述基帶軟件的自動化測試方法還包括:
[0034] 實(shí)時顯示測試過程中用戶選擇的所有測試用例的測試進(jìn)度以及已完成測試的所 述測試用例所占的比例;
[0035] 分別統(tǒng)計當(dāng)前已完成測試的測試成功的測試用例數(shù)量、測試失敗的測試用例數(shù)量 以及測試異常的測試用例數(shù)量,并根據(jù)統(tǒng)計結(jié)果分別計算測試成功、測試失敗以及測試異 常的測試用例數(shù)量所占據(jù)的比例;
[0036] 實(shí)時顯示測試成功、測試失敗以及測試異常的測試用例數(shù)量所占據(jù)的比例。
[0037] 結(jié)合第一方面的第五種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第六種 可能的實(shí)施方式,其中,所述基帶軟件的自動化測試方法還包括:
[0038] 將接收的監(jiān)測模塊發(fā)送的被測試模塊執(zhí)行測試用例時的運(yùn)行日志進(jìn)行記錄和保 存。
[0039] 第二方面,本發(fā)明實(shí)施例還提供了一種基帶軟件的自動化測試方法,包括:
[0040] 接收測試工具發(fā)送的測試指示數(shù)據(jù),測試指示數(shù)據(jù)包括測試用例的函數(shù)名和/或 函數(shù)參數(shù);
[0041] 對接收的測試指示數(shù)據(jù)進(jìn)行解析,得到數(shù)據(jù)內(nèi)容;
[0042] 將解析得到的數(shù)據(jù)內(nèi)容發(fā)送給被測試模塊;
[0043] 接收被測試模塊反饋的執(zhí)行對應(yīng)的測試用例后的執(zhí)行結(jié)果;
[0044] 根據(jù)測試用例的執(zhí)行結(jié)果生成具有第一固定格式的字符串,字符串?dāng)y帶有標(biāo)識測 試用例執(zhí)行是否成功的數(shù)據(jù)值;
[0045] 向測試工具發(fā)送具有第一固定格式的字符串,以便測試工具根據(jù)數(shù)據(jù)值判斷測試 用例是否通過。
[0046] 第三方面,本發(fā)明實(shí)施例還提供了一種基帶軟件的自動化測試裝置,包括:
[0047] 第一接收單元,用于接收用戶選擇的被測試模塊及各模塊對應(yīng)的測試用例;
[0048] 測試指示數(shù)據(jù)生成單元,用于根據(jù)第一接收單元接收的測試用例的函數(shù)名和/或 函數(shù)參數(shù),生成測試指示數(shù)據(jù);
[0049] 第一發(fā)送單元,用于向監(jiān)測模塊發(fā)送生成單元生成的測試指示數(shù)據(jù),以便監(jiān)測模 塊將其對測試指示數(shù)據(jù)進(jìn)行解析得到的數(shù)據(jù)內(nèi)容發(fā)送給被測試模塊以及根據(jù)接收的被測 試模塊反饋的執(zhí)行對應(yīng)的測試用例后的執(zhí)行結(jié)果生成具有第一固定格式的字符串;
[0050] 第二接收單元,用于接收監(jiān)測模塊發(fā)送的具有第一固定格式的字符串,字符串?dāng)y 帶有標(biāo)識測試用例的執(zhí)行是否成功的數(shù)據(jù)值;
[0051] 判斷單元,用于根據(jù)第二接收單元的具有第一固定格式的字符串,判斷測試用例 是否通過。
[0052] 第四方面,本發(fā)明實(shí)施例還提供了一種基帶軟件的自動化測試裝置,