嵌入式模塊驅(qū)動功能測試系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種嵌入式模塊驅(qū)動功能測試方法,包括步驟:調(diào)用PC端測試工具進(jìn)行腳本配置,以配置被測API和用例;調(diào)用終端驅(qū)動功能測試函數(shù)來執(zhí)行完成配置的腳本;在終端驅(qū)動功能測試函數(shù)執(zhí)行腳本過程中將各個用例的執(zhí)行邏輯或測試結(jié)果發(fā)送至PC端測試工具;PC端測試工具對各個用例的執(zhí)行邏輯或測試結(jié)果進(jìn)行顯示和儲存。本發(fā)明還公開了一種嵌入式模塊驅(qū)動功能測試系統(tǒng)。本發(fā)明可根據(jù)測試輪次的需要和需要測試的API、用例在腳本中進(jìn)行配置,配置完成的腳本可在終端驅(qū)動功能測試函數(shù)中自動執(zhí)行,減輕了測試員的工作量且能提高工作效率,并且該終端驅(qū)動功能測試函數(shù)可對測試結(jié)果進(jìn)行自動比較并進(jìn)行判斷,避免了人工校驗出錯。
【專利說明】嵌入式模塊驅(qū)動功能測試系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及嵌入式系統(tǒng)的測試方法,尤其涉及一種嵌入式模塊驅(qū)動功能測試系統(tǒng)及方法。
【背景技術(shù)】
[0002]傳統(tǒng)模塊驅(qū)動功能的測試方法,一般是通過單獨編寫該模塊的測試程序為每個驅(qū)動接口設(shè)計一個測試函數(shù)、設(shè)置入口參數(shù)、執(zhí)行驅(qū)動接口、顯示出口及返回值,最后由人工確認(rèn)正確性。但如果測試時需要先執(zhí)行其它接口,則需要依次手動執(zhí)行多個接口,測試效率低,且人工校驗容易出錯。
【發(fā)明內(nèi)容】
[0003]本發(fā)明主要解決的技術(shù)問題是提供一種具有自動測試功能的嵌入式模塊驅(qū)動功能測試系統(tǒng)及方法。
[0004]為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是提供一種嵌入式模塊驅(qū)動功能測試系統(tǒng),包括:配置模塊,用于調(diào)用PC端測試工具進(jìn)行腳本配置,所述腳本配置包括配置被測API和配置用例;執(zhí)行模塊,用于調(diào)用終端驅(qū)動功能測試函數(shù)來執(zhí)行完成配置的腳本;反饋模塊,用于在所述終端驅(qū)動功能測試函數(shù)執(zhí)行腳本過程中將各個用例的執(zhí)行邏輯或測試結(jié)果發(fā)送至存儲模塊;存儲模塊,用于存儲所述反饋模塊發(fā)送的各個用例的執(zhí)行邏輯或測試結(jié)果;顯示模塊,用于顯示各個用例的執(zhí)行邏輯或測試結(jié)果。
[0005]其中,所述終端驅(qū)動功能測試函數(shù)包括API啟動測試執(zhí)行函數(shù)、API執(zhí)行函數(shù)和用例執(zhí)行函數(shù);所述執(zhí)行模塊具體包括:
[0006]第一執(zhí)行模塊,用于解析所述腳本以獲取被測AP1、用例編號,然后通知第二執(zhí)行模塊進(jìn)行操作;
[0007]第二執(zhí)行模塊,用于執(zhí)行所述API啟動測試執(zhí)行函數(shù),然后通知第三執(zhí)行模塊進(jìn)行操作;
[0008]第三執(zhí)行模塊,用于執(zhí)行所述API執(zhí)行函數(shù),然后通知第四執(zhí)行模塊進(jìn)行操作;
[0009]第四執(zhí)行模塊,用于執(zhí)行用例執(zhí)行函數(shù),然后通知第五執(zhí)行模塊進(jìn)行操作;
[0010]第五執(zhí)行模塊,用于判斷用例類型,然后通知第六執(zhí)行模塊進(jìn)行操作;
[0011]第六執(zhí)行模塊,用于根據(jù)用例類型初始化測試環(huán)境,然后通知第七執(zhí)行模塊進(jìn)行操作;
[0012]第七執(zhí)行模塊,用于執(zhí)行被測API,然后通知第八執(zhí)行模塊進(jìn)行操作;
[0013]第八執(zhí)行模塊,用于對測試結(jié)果進(jìn)行判斷,然后通知第九執(zhí)行模塊進(jìn)行操作;
[0014]第九執(zhí)行模塊,用于輸出測試結(jié)果并然后通知第一執(zhí)行模塊進(jìn)行操作。
[0015]本發(fā)明采用的另一個技術(shù)方案是:
[0016]提供一種嵌入式模塊驅(qū)動功能測試方法,包括步驟:調(diào)用PC端測試工具進(jìn)行腳本配置,以配置被測API和用例;調(diào)用終端驅(qū)動功能測試函數(shù)來執(zhí)行完成配置的腳本;在所述終端驅(qū)動功能測試函數(shù)執(zhí)行腳本過程中將各個用例的執(zhí)行邏輯或測試結(jié)果發(fā)送至PC端測試工具;PC端測試工具對所述各個用例的執(zhí)行邏輯或測試結(jié)果進(jìn)行顯示和儲存。
[0017]其中,所述終端驅(qū)動功能測試函數(shù)包括API啟動測試執(zhí)行函數(shù)、API執(zhí)行函數(shù)和用例執(zhí)行函數(shù),所述“調(diào)用終端驅(qū)動功能測試函數(shù)來執(zhí)行完成配置的腳本”具體包括步驟:
[0018]S1、解析所述腳本以獲取被測AP1、用例編號,然后進(jìn)入步驟S2 ;
[0019]S2、執(zhí)行所述API啟動測試執(zhí)行函數(shù),然后進(jìn)入步驟S3 ;
[0020]S3、執(zhí)行所述API執(zhí)行函數(shù),然后進(jìn)入步驟S4 ;
[0021]S4、執(zhí)行用例執(zhí)行函數(shù),然后進(jìn)入步驟S5 ;
[0022]S5、判斷用例類型,然后進(jìn)入步驟S6 ;
[0023]S6、根據(jù)用例類型初始化測試環(huán)境,然后進(jìn)入步驟S7 ;
[0024]S7、執(zhí)行被測API,然后進(jìn)入步驟S8 ;
[0025]S8、對測試結(jié)果進(jìn)行判斷,然后進(jìn)入步驟S9 ;
[0026]S9、輸出測試結(jié)果并返回步驟SI。
[0027]其中,在所述步驟S5中,判斷用例類型的方法包括手動、自動、人工。
[0028]本發(fā)明的有益效果是:與現(xiàn)有技術(shù)相比,本發(fā)明的一種嵌入式模塊驅(qū)動功能測試系統(tǒng)及方法,可根據(jù)測試輪次的需要和需要測試的AP1、用例在腳本中進(jìn)行配置,配置完成的腳本可在終端驅(qū)動功能測試函數(shù)中自動執(zhí)行,減輕了測試員的工作量且能提高工作效率,并且該終端驅(qū)動功能測試函數(shù)可根據(jù)需要對測試結(jié)果進(jìn)行自動比較并進(jìn)行判斷,避免了人工校驗出錯。
【專利附圖】
【附圖說明】
[0029]圖1是本發(fā)明一實施方式中一種嵌入式模塊驅(qū)動功能測試系統(tǒng)的結(jié)構(gòu)框圖;
[0030]圖2是本發(fā)明一實施方式中一種嵌入式模塊驅(qū)動功能測試方法的執(zhí)行流程圖;
[0031]圖3是圖2中步驟S2的具體的執(zhí)行流程圖。
[0032]主要元件符號說明:
[0033]10、配置模塊;20、執(zhí)行模塊;30、反饋模塊;40、存儲模塊;50、顯示模塊。
【具體實施方式】
[0034]為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、構(gòu)造特征、所實現(xiàn)目的及效果,以下結(jié)合實施方式并配合附圖詳予說明。
[0035]請參閱圖1,圖1為嵌入式模塊驅(qū)動功能測試系統(tǒng),該嵌入式模塊驅(qū)動功能測試系統(tǒng)包括配置模塊10、執(zhí)行模塊20、反饋模塊30、存儲模塊40和顯示模塊50。
[0036]配置模塊10,用于調(diào)用PC端測試工具進(jìn)行腳本配置,所述腳本配置包括配置被測API和配置用例。
[0037]執(zhí)行模塊20,用于調(diào)用終端驅(qū)動功能測試函數(shù)來執(zhí)行完成配置的腳本。
[0038]反饋模塊30,用于在所述終端驅(qū)動功能測試函數(shù)執(zhí)行腳本過程中將各個用例的執(zhí)行邏輯或測試結(jié)果發(fā)送至存儲模塊40。
[0039]存儲模塊40,用于存儲所述反饋模塊30發(fā)送的各個用例的執(zhí)行邏輯或測試結(jié)果。
[0040]顯示模塊50,用于顯示各個用例的執(zhí)行邏輯或測試結(jié)果。[0041]其中,所述終端驅(qū)動功能測試函數(shù)包括API啟動測試執(zhí)行函數(shù)、API執(zhí)行函數(shù)和用例執(zhí)行函數(shù)。所述執(zhí)行模塊20包括第一執(zhí)行模塊、第二執(zhí)行模塊、第三執(zhí)行模塊、第四執(zhí)行模塊、第五執(zhí)行模塊、第六執(zhí)行模塊、第七執(zhí)行模塊、第八執(zhí)行模塊、第九執(zhí)行模塊。
[0042]第一執(zhí)行模塊用于解析所述腳本以獲取被測AP1、用例編號,然后通知第二執(zhí)行模塊進(jìn)行操作。
[0043]第二執(zhí)行模塊用于執(zhí)行所述API啟動測試執(zhí)行函數(shù),然后通知第三執(zhí)行模塊進(jìn)行操作。
[0044]第三執(zhí)行模塊用于執(zhí)行所述API執(zhí)行函數(shù),然后通知第四執(zhí)行模塊進(jìn)行操作。
[0045]第四執(zhí)行模塊用于執(zhí)行用例執(zhí)行函數(shù),然后通知第五執(zhí)行模塊進(jìn)行操作。
[0046]第五執(zhí)行模塊用于判斷用例類型,然后通知第六執(zhí)行模塊進(jìn)行操作。
[0047]第六執(zhí)行模塊用于根據(jù)用例類型初始化測試環(huán)境,然后通知第七執(zhí)行模塊進(jìn)行操作。
[0048]第七執(zhí)行模塊用于執(zhí)行被測API,然后通知第八執(zhí)行模塊進(jìn)行操作。
[0049]第八執(zhí)行模塊用于對測試結(jié)果進(jìn)行判斷,然后通知第九執(zhí)行模塊進(jìn)行操作。
[0050]第九執(zhí)行模塊用于輸出測試結(jié)果然后通知第一執(zhí)行模塊進(jìn)行操作。
[0051]該嵌入式模塊驅(qū)動功能測試系統(tǒng)與現(xiàn)有技術(shù)相比,配置模塊可根據(jù)測試輪次的需要和需要測試的AP1、用例進(jìn)行腳本配置,配置完成的腳本可在終端驅(qū)動功能測試函數(shù)中自動執(zhí)行,減輕了測試員的工作量且能提高工作效率,并且該終端驅(qū)動功能測試函數(shù)可根據(jù)需要對測試結(jié)果進(jìn)行自動比較并進(jìn)行判斷,避免了人工校驗出錯。
[0052]請參閱圖2,圖2是本發(fā)明一實施方式中一種嵌入式模塊驅(qū)動功能測試方法的執(zhí)行流程圖。該供嵌入式模塊驅(qū)動功能測試的腳本化配置方法包括步驟:
[0053]步驟S1、調(diào)用PC端測試工具進(jìn)行腳本配置,以配置被測API和用例;
[0054]步驟S2、調(diào)用終端驅(qū)動功能測試函數(shù)來執(zhí)行完成配置的腳本;
[0055]步驟S3、在終端驅(qū)動功能測試函數(shù)執(zhí)行腳本過程中將各個用例的執(zhí)行邏輯或測試結(jié)果發(fā)送至PC端測試工具;
[0056]步驟S4、PC端測試工具對各個用例的執(zhí)行邏輯或測試結(jié)果進(jìn)行顯示和儲存。
[0057]其中,在步驟S3中,所述執(zhí)行邏輯包括測試用例各個步驟的日志信息、測試數(shù)據(jù)信息等,所述測試結(jié)果包括測試成功、失敗、失敗原因、被測試API執(zhí)行時間等。
[0058]在本實施方式中,所述終端驅(qū)動功能測試函數(shù)包括API啟動測試執(zhí)行函數(shù)、API執(zhí)行函數(shù)和用例執(zhí)行函數(shù)。其中,所述API啟動測試執(zhí)行函數(shù)用于實現(xiàn)根據(jù)獲取到的被測API名字找到該API的執(zhí)行函數(shù);所述API執(zhí)行函數(shù)用于實現(xiàn)根據(jù)用例編號找到該用例的用例執(zhí)行函數(shù);所述用例執(zhí)行函數(shù)用于根據(jù)用例設(shè)計說明,實現(xiàn)具體用例編號的用例執(zhí)行準(zhǔn)備,包括該用例的API入口數(shù)據(jù)、測試結(jié)果返回值,并返回用例類型。
[0059]請參閱圖3,圖3是圖2中步驟S2的具體執(zhí)行流程圖。所述步驟S2具體包括步驟:
[0060]S201、解析所述腳本以獲取被測AP1、用例編號,然后進(jìn)入步驟S202 ;
[0061]S202、執(zhí)行所述API啟動測試執(zhí)行函數(shù),然后進(jìn)入步驟S203 ;
[0062]S203、執(zhí)行所述API執(zhí)行函數(shù),然后進(jìn)入步驟S204 ;
[0063]S204、執(zhí)行用例執(zhí)行函數(shù),然后進(jìn)入步驟S205 ;[0064]S205、判斷用例類型,然后進(jìn)入步驟S206 ;
[0065]S206、根據(jù)用例類型初始化測試環(huán)境,然后進(jìn)入步驟S207 ;
[0066]S207、執(zhí)行被測API,然后進(jìn)入步驟S208 ;
[0067]S208、對測試結(jié)果進(jìn)行判斷,然后進(jìn)入步驟S209 ;
[0068]S209、輸出測試結(jié)果并返回步驟S201。
[0069]其中,在所述步驟S205中,判斷用例類型的方法包括手動、自動、人工,通過所述用例執(zhí)行函數(shù)返回值進(jìn)行判斷,每個用例執(zhí)行函數(shù)要標(biāo)注用例類型。不同的判斷方法對應(yīng)不同的用例類型,手動:測試執(zhí)行需要通過人為手動操作完成,測試結(jié)果程序自動完成,例如磁卡模塊讀卡API測試需要手動完成刷卡,再通過程序自動比較磁卡數(shù)據(jù)是否正確;自動:測試執(zhí)行及測試結(jié)果通過程序自動完成;人工:測試執(zhí)行及測試結(jié)果需要人為操作,例如攝像頭模塊拍照API,需要人為的選擇拍攝對象,再人為的對照片進(jìn)行判斷是否正確。
[0070]其中,所述步驟S208中,對測試結(jié)果的判斷內(nèi)容包括:判斷API返回值、出口參數(shù)、API執(zhí)行后實現(xiàn)的功能等。例如,Modem撥號API,在正常環(huán)境下?lián)芴朅PI執(zhí)行后要返回O表示撥號成功,通過與服務(wù)器進(jìn)行數(shù)據(jù)交換結(jié)果,來判斷撥號是否真的成功。
[0071]在實際工作中,嵌入式模塊驅(qū)動功能測試系統(tǒng)用于文件系統(tǒng)、參數(shù)管理、Pinpad、IC卡、射頻卡、磁卡、打印設(shè)備、Modem通訊設(shè)備、無線通訊設(shè)備、以太網(wǎng)、WIF1、GPS、藍(lán)牙、數(shù)碼管、攝像頭等各種驅(qū)動模塊的驅(qū)動功能測試,下面以Pinpad模塊為例來進(jìn)一步具體說明本發(fā)明的實施方式。
[0072]Pinpad模塊包含了下載密鑰、下載卡號、計算MAC、輸入密碼等功能API,實際測試時,有三種情況:
[0073]1、模塊首輪測試,進(jìn)行模塊詳細(xì)測試,根據(jù)該模塊測試用例類型,PC端測試工具進(jìn)行腳本配置,即制作自動測試腳本、手動測試腳本;自動測試腳本中填寫Pinpad模塊所有API,每個API執(zhí)行的用例編號填寫I (I表示該API所有自動用例編號);手動測試腳本中填寫Pinpad模塊所有API,每個API執(zhí)行的用例編號填寫2 (2表示該API所有手動用例編號);腳本完成配置生成測試腳本后,通過PC端測試工具將腳本送到被測設(shè)備中調(diào)用終端驅(qū)動功能測試函數(shù)來執(zhí)行;執(zhí)行過程中的日志信息、測試數(shù)據(jù)和測試結(jié)果發(fā)送至PC端測試工具進(jìn)行實時顯示,測試結(jié)束后,測試人員將測試結(jié)果導(dǎo)出,生成測試報告;
[0074]2、模塊第二輪測試,按測試原則,第二輪仍要進(jìn)行模塊詳細(xì)測試,這時直接使用第I輪生成的測試腳本進(jìn)行執(zhí)行測試;
[0075]3、模塊第三輪以后的測試,按測試原則第三輪開始,沒有問題的API可不進(jìn)行詳細(xì)測試,這時測試腳本配置為:沒問題的AP1:API名+某一用例編號(調(diào)用性測試),有問題的ΑΡΙ+0 (O表示該API所有自動用例編號),接著進(jìn)行測試執(zhí)行;重現(xiàn)問題或缺陷驗證時,測試腳本配置為有問題的API+有問題的用例編號,可快速的進(jìn)行問題重現(xiàn)或缺陷驗證。
[0076]自動類型的測試用例,還可以在下班后或周末等非工作時間進(jìn)行測試執(zhí)行,提高了測試效率,并節(jié)約了測試人員執(zhí)行時間。
[0077]以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
【權(quán)利要求】
1.一種嵌入式模塊驅(qū)動功能測試系統(tǒng),其特征在于,包括: 配置模塊,用于調(diào)用PC端測試工具進(jìn)行腳本配置,所述腳本配置包括配置被測API和配置用例; 執(zhí)行模塊,用于調(diào)用終端驅(qū)動功能測試函數(shù)來執(zhí)行完成配置的腳本; 反饋模塊,用于在所述終端驅(qū)動功能測試函數(shù)執(zhí)行腳本過程中將各個用例的執(zhí)行邏輯或測試結(jié)果發(fā)送至存儲模塊; 存儲模塊,用于存儲所述反饋模塊發(fā)送的各個用例的執(zhí)行邏輯或測試結(jié)果; 顯示模塊,用于顯示各個用例的執(zhí)行邏輯或測試結(jié)果。
2.根據(jù)權(quán)利要求1所述的嵌入式模塊驅(qū)動功能測試系統(tǒng),其特征在于:所述終端驅(qū)動功能測試函數(shù)包括API啟動測試執(zhí)行函數(shù)、API執(zhí)行函數(shù)和用例執(zhí)行函數(shù); 所述執(zhí)行模塊具體包括: 第一執(zhí)行模塊,用于解析所述腳本以獲取被測AP1、用例編號,然后通知第二執(zhí)行模塊進(jìn)行操作; 第二執(zhí)行模塊,用于執(zhí)行所述API啟動測試執(zhí)行函數(shù),然后通知第三執(zhí)行模塊進(jìn)行操作; 第三執(zhí)行模塊,用于執(zhí)行所述API執(zhí)行函數(shù),然后通知第四執(zhí)行模塊進(jìn)行操作; 第四執(zhí)行模塊,用于執(zhí)行用例執(zhí)行函數(shù),然后通知第五執(zhí)行模塊進(jìn)行操作; 第五執(zhí)行模塊,用于判斷用例類型,然后通知第六執(zhí)行模塊進(jìn)行操作; 第六執(zhí)行模塊,用于根據(jù)用例類型初始化測試環(huán)境,然后通知第七執(zhí)行模塊進(jìn)行操作; 第七執(zhí)行模塊,用于執(zhí)行被測API,然后通知第八執(zhí)行模塊進(jìn)行操作; 第八執(zhí)行模塊,用于對測試結(jié)果進(jìn)行判斷,然后通知第九執(zhí)行模塊進(jìn)行操作; 第九執(zhí)行模塊,用于輸出測試結(jié)果并然后通知第一執(zhí)行模塊進(jìn)行操作。
3.一種嵌入式模塊驅(qū)動功能測試方法,其特征在于,包括步驟: 調(diào)用PC端測試工具進(jìn)行腳本配置,以配置被測API和用例; 調(diào)用終端驅(qū)動功能測試函數(shù)來執(zhí)行完成配置的腳本; 在所述終端驅(qū)動功能測試函數(shù)執(zhí)行腳本過程中將各個用例的執(zhí)行邏輯或測試結(jié)果發(fā)送至PC端測試工具; PC端測試工具對所述各個用例的執(zhí)行邏輯或測試結(jié)果進(jìn)行顯示和儲存。
4.根據(jù)權(quán)利要求3所述的嵌入式模塊驅(qū)動功能測試方法,其特征在于:所述終端驅(qū)動功能測試函數(shù)包括API啟動測試執(zhí)行函數(shù)、API執(zhí)行函數(shù)和用例執(zhí)行函數(shù),所述“調(diào)用終端驅(qū)動功能測試函數(shù)來執(zhí)行完成配置的腳本”具體包括步驟: S1、解析所述腳本以獲取被測AP1、用例編號,然后進(jìn)入步驟S2; S2、執(zhí)行所述API啟動測試執(zhí)行函數(shù),然后進(jìn)入步驟S3; S3、執(zhí)行所述API執(zhí)行函數(shù),然后進(jìn)入步驟S4; S4、執(zhí)行用例執(zhí)行函數(shù),然后進(jìn)入步驟S5; S5、判斷用例類型,然后進(jìn)入步驟S6; S6、根據(jù)用例類型初始化測試環(huán)境,然后進(jìn)入步驟S7; S7、執(zhí)行被測API,然后進(jìn)入步驟S8;`58、對測試結(jié)果進(jìn)行判斷,然后進(jìn)入步驟S9; ` 59、輸出測試結(jié)果并返回步驟SI。
5.根據(jù)權(quán)利要求4所述的嵌入式模塊驅(qū)動功能測試的腳本化配置方法,其特征在于:在所述步驟S5中,判斷用例類型`的方`法包括手動、自動、人工。
【文檔編號】G06F11/26GK103559114SQ201310561572
【公開日】2014年2月5日 申請日期:2013年11月12日 優(yōu)先權(quán)日:2013年11月12日
【發(fā)明者】林晉安, 林亮 申請人:福建聯(lián)迪商用設(shè)備有限公司