本發(fā)明涉及支付終端嵌入式軟件測試工作量統(tǒng)計,特別是一種支付終端嵌入式軟件測試工作量統(tǒng)計系統(tǒng)。
背景技術(shù):
現(xiàn)有的支付終端嵌入式軟件測試需要對所有功能模塊進行單元、壓力、交叉、性能、兼容性、可靠性、易用性等測試,即使已經(jīng)有了一套比較完整的測試用例和測試標準提供測試執(zhí)行,但由于嵌入式系統(tǒng)地復(fù)雜性、測試人員工作效率差異、被測試版本的健壯性差異等原因一直沒有一種比較精準而高效的方法來統(tǒng)計完成潛入式軟件測試所需要的測試時間。
IT行業(yè)現(xiàn)有的統(tǒng)計測試工作量方法有:Ad-hoc方法、開發(fā)時間的百分比法、類比法(經(jīng)驗值法或歷史數(shù)據(jù)法)、WBS(work breakdown structure)估算法等,但這些方法存在:需要依賴開發(fā)工作量、統(tǒng)計結(jié)果差異大、效率不高、誤差較大、度量依據(jù)不夠(因無數(shù)據(jù)支撐而無法說服上級主管)、靈活度不夠等缺陷。為解決上訴問題,本發(fā)明提供了一種易用可行的、精細化的、有足夠數(shù)據(jù)支持的適用于嵌入式軟件系統(tǒng)的測試工作量統(tǒng)計的方法;并且該方法可以根據(jù)新增的測試需求靈活的擴展。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種支付終端嵌入式軟件測試工作量統(tǒng)計系統(tǒng),以克服現(xiàn)有技術(shù)中存在的缺陷。
為實現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種支付終端嵌入式軟件測試工作量統(tǒng)計系統(tǒng),該系統(tǒng)分別與若干臺搭載有待測試軟件的支付終端配合,包括:一測試任務(wù)劃分模塊、一單元測試用例控制模塊、一綜合測試用例控制模塊、一單元測試模塊、一綜合測試模塊、一時間統(tǒng)計模塊、一任務(wù)次數(shù)統(tǒng)計模塊、一數(shù)據(jù)上傳單元以及一總測試工作量統(tǒng)計單元;所述測試任務(wù)劃分模塊分別與所述單元測試用例控制模塊以及所述綜合測試用例控制模塊相連,所述單元測試用例控制模塊與所述單元測試模塊相連,所述綜合測試用例控制模塊與所述綜合測試模塊相連,所述時間統(tǒng)計模塊分別與所述單元測試模塊以及所述綜合測試模塊相連,所述任務(wù)次數(shù)統(tǒng)計模塊分別與所述單元測試模塊以及所述綜合測試模塊相連,所述數(shù)據(jù)上傳單元分別與所述時間統(tǒng)計模塊、所述任務(wù)次數(shù)統(tǒng)計模塊以及所述總測試工作量統(tǒng)計單元相連;所述測試任務(wù)劃分模塊將待測試軟件進行功能劃分,并將劃分結(jié)果分別傳輸至所述單元測試用例控制模塊以及所述綜合測試用例控制模塊;所述單元測試用例控制模塊以及綜合測試用例控制模塊根據(jù)劃分結(jié)果分別獲取對應(yīng)的測試用例,并將對應(yīng)的測試用例傳輸至所述單元測試模塊與所述綜合測試模塊;所述單元測試模塊以及所述綜合測試模塊分別通過測試用例對搭載該待測試軟件的支付終端進行測試,所述時間統(tǒng)計模塊以及所述任務(wù)次數(shù)統(tǒng)計模塊分別統(tǒng)計執(zhí)行時間以及測試執(zhí)行次數(shù),并經(jīng)所述數(shù)據(jù)上傳單元上傳至所述總測試工作量統(tǒng)計單元,進而獲取總測試工作量。
在本發(fā)明一實施例中,所述測試任務(wù)劃分模塊根據(jù)所述待測試軟件功能模塊組成、預(yù)設(shè)測試要求以及待測試軟件搭載的硬件類型對所述待測試軟件進行功能劃分,獲取該帶測試軟件中的功能模塊;所述功能模塊包括:無線模塊、wifi模塊、以太網(wǎng)模塊、藍牙模塊、接觸式IC卡模塊、非接觸式卡模塊以及文件系統(tǒng)。
在本發(fā)明一實施例中,所述單元測試用例控制模塊與所述單元測試用例數(shù)據(jù)庫相連,所述綜合測試用例控制模塊與所述綜合測試用例數(shù)據(jù)庫相連,所述單元測試用例控制模塊根據(jù)獲取的功能模塊從所述單元測試用例數(shù)據(jù)庫調(diào)用對應(yīng)的單元測試用例;所述綜合測試用例控制模塊根據(jù)獲取的功能模塊從所述綜合測試用例數(shù)據(jù)庫調(diào)用對應(yīng)的綜合測試用例。
在本發(fā)明一實施例中,所述單元測試用例數(shù)據(jù)庫中存儲有下列單元測試用例:alg測試例、app測試例、asyn測試例、eth測試例、fs測試例、icc測試例、kb測試例、mag測試例、port測試例、ppp測試例及prnt測試例;所述綜合測試用例數(shù)據(jù)庫存儲有下列綜合測試用例:打印性能/壓力測試例、MDM性能/壓力測試例、ETH性能/壓力測試例、無線性能/壓力測試例、IC性能/壓力測試例、磁卡性能/壓力測試例、安全性能/壓力測試例、fsys性能/壓力測試例、串口性能/壓力測試例及RTC綜合測試。
在本發(fā)明一實施例中,所述時間統(tǒng)計模塊統(tǒng)計單元測試用例單次執(zhí)行時間以及綜合測試用例單次執(zhí)行時間;所述任務(wù)次數(shù)統(tǒng)計模塊統(tǒng)計單元測試用例執(zhí)行次數(shù)以及綜合測試用例執(zhí)行次數(shù)。
在本發(fā)明一實施例中,所述總測試工作量統(tǒng)計單元分別統(tǒng)計如下工作量:單元測試工作量D,綜合測試工作量Z,待測試軟件測試次數(shù)C,搭載該待測試軟件的支付終端數(shù)量S,預(yù)計工作量L1,預(yù)計工作日T1,BUG的數(shù)量L2,單個BUG定位或復(fù)現(xiàn)的時間T2,BUG定位時間T3,總測試工作量L2以及總測試工作日T4。
在本發(fā)明一實施例中,所述單元測試工作量D根據(jù)所述時間統(tǒng)計模塊統(tǒng)計的每個單元測試用例的單次執(zhí)行時間以及執(zhí)行次數(shù)計算;所述綜合測試工作量根據(jù)所述時間統(tǒng)計模塊統(tǒng)計的每個綜合測試用例的單次執(zhí)行時間以及執(zhí)行次數(shù)計算;所述待測試軟件測試次數(shù)C根據(jù)預(yù)設(shè)測試要求確定;所述預(yù)計工作量L1通過如下方式計算:
;
預(yù)計工作日T1通過如下方式計算:
;
所述BUG的數(shù)量L2根據(jù)千行代碼缺陷率估算或根據(jù)實際測試結(jié)果獲??;
所述單個BUG定位或復(fù)現(xiàn)的時間T2為一預(yù)設(shè)平均值;
所述BUG定位時間T3通過如下方式計算:
;
所述總測試工作量L2通過如下方式計算:
;
所述總測試工作日T4通過如下方式計算:
。
在本發(fā)明一實施例中,還包括一測試用例執(zhí)行記錄單元,該單元分別與所述單元測試用例控制模塊以及所述綜合測試用例控制模塊相連,獲取調(diào)用的單元測試用例與綜合測試用例,記錄參與測試的單元測試用例與綜合測試用例。
在本發(fā)明一實施例中,還包括一與所述總測試工作量統(tǒng)計單元以及所述測試用例執(zhí)行記錄單元相連的表格生成單元;所述表格生成單元根據(jù)單元測試用例、單元測試用例執(zhí)行情況、執(zhí)行時間以及測試執(zhí)行次數(shù)生成一單元測試表;所述表格生成單元根據(jù)綜合測試用例、綜合測試用例執(zhí)行情況、執(zhí)行時間以及測試執(zhí)行次數(shù)生成一綜合測試表;所述表格生成單元根據(jù)所述總測試工作量統(tǒng)計的單元生成一總測試工作量統(tǒng)計表。
相較于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:
1.將測試過程中用例執(zhí)行的時間量化、并綜合考慮到了測試范圍、重復(fù)測試、BUG處理等因素對測試工作量的影響,能夠客觀且較精確的預(yù)估出更加準確的測試工作量??梢杂迷跍y試開始前對新任務(wù)的工作量評估,通過評估軟件支持的模塊來填寫Y或者N,通過確認模塊硬件配置的數(shù)量來填寫單個模塊測試執(zhí)行次數(shù),然后由該表格自動計算出執(zhí)行一輪測試所需要的理論時間,為測試工作的安排提供依據(jù)。
2.提供的量化結(jié)果可以為項目經(jīng)理安排測試計劃、控制項目進度等提供了重要數(shù)據(jù)依據(jù):該表格中的單個功能模塊測試時間是由測試程序自動計算得出后輸出到表格的,它代表每個功能模塊測試的理論時間,再結(jié)合實際任務(wù)確定參與測試的模塊、模塊測試次數(shù)等信息就可以比較準確的計算出完成某個具體測試任務(wù)所需要的理論時間,該情況下得到的表格可以作為制定測試計劃的數(shù)據(jù)依據(jù)。
3.統(tǒng)計結(jié)果還可以用來對測試人員的工作效率進行初步評估,并為測試人員考核依據(jù)等:測試工作完成后,測試人員可以根據(jù)實際測試的版本個數(shù),發(fā)現(xiàn)的BUG數(shù)量,定位BUG需要的平均時間等信息,對表格進行補充,計算出一個更準確的理論時間,測試主管可以根據(jù)該理論時間和測試人員實際消耗的時間進行比較,評估測試人員的工作效率等。
附圖說明
圖1為本發(fā)明中支付終端嵌入式軟件測試工作量統(tǒng)計系統(tǒng)的系統(tǒng)原理圖。
圖2為本發(fā)明一實施例中單元測試表。
圖3為本發(fā)明一實施例中綜合測試表。
圖4為本發(fā)明一實施例中總測試工作量統(tǒng)計表。
具體實施方式
下面結(jié)合附圖,對本發(fā)明的技術(shù)方案進行具體說明。
結(jié)合對日常測試工作和測試流程的分析,嵌入式軟件測試可以先把整個系統(tǒng)根據(jù)功能劃分成獨立的模塊,然后再按照模塊進行單元測試(指功能測試)和綜合測試(除功能測試以外的測試,包含:壓力、交叉、兼容性、易用性測試等)。因此根據(jù)劃分好的功能模塊將嵌入式軟件系統(tǒng)的測試用例集也進行同樣的劃分,并在測試代碼中增加統(tǒng)計時間,通過運行測試用例分別統(tǒng)計每個模塊單元測試用例和綜合測試測試執(zhí)行的執(zhí)行時間。然后將測試的時間上送到PC上的 EXCEL表格中。根據(jù)實際任務(wù)分析單個模塊需要測試的次數(shù)(測試的次數(shù)根據(jù)版本測試的次數(shù)、硬件次數(shù)決定),再結(jié)合發(fā)現(xiàn)的BUG數(shù)量、定位BUG的時間等多個因素來建立計算總測試工作量的數(shù)學(xué)模型。最后根據(jù)數(shù)學(xué)模型使用excel表格來統(tǒng)計測試工作量。
本發(fā)明提供了一種支付終端嵌入式軟件測試工作量統(tǒng)計系統(tǒng),如圖1所示,該系統(tǒng)搭載在一PC端,且分別與若干臺搭載有待測試軟件的支付終端配合,包括:一測試任務(wù)劃分模塊、一單元測試用例控制模塊、一綜合測試用例控制模塊、一單元測試模塊、一綜合測試模塊、一時間統(tǒng)計模塊、一任務(wù)次數(shù)統(tǒng)計模塊、一數(shù)據(jù)上傳單元以及一總測試工作量統(tǒng)計單元;測試任務(wù)劃分模塊分別與單元測試用例控制模塊以及綜合測試用例控制模塊相連,單元測試用例控制模塊與單元測試模塊相連,綜合測試用例控制模塊與綜合測試模塊相連,時間統(tǒng)計模塊分別與單元測試模塊以及綜合測試模塊相連,任務(wù)次數(shù)統(tǒng)計模塊分別與單元測試模塊以及綜合測試模塊相連,數(shù)據(jù)上傳單元分別與時間統(tǒng)計模塊、任務(wù)次數(shù)統(tǒng)計模塊以及總測試工作量統(tǒng)計單元相連;測試任務(wù)劃分模塊將待測試軟件進行功能劃分,并將劃分結(jié)果分別傳輸至單元測試用例控制模塊以及綜合測試用例控制模塊;單元測試用例控制模塊以及綜合測試用例控制模塊根據(jù)劃分結(jié)果分別獲取對應(yīng)的測試用例,并將對應(yīng)的測試用例傳輸至單元測試模塊與綜合測試模塊;單元測試模塊以及綜合測試模塊分別通過測試用例對搭載該待測試軟件的支付終端進行測試,時間統(tǒng)計模塊以及任務(wù)次數(shù)統(tǒng)計模塊分別統(tǒng)計執(zhí)行時間以及測試執(zhí)行次數(shù),并經(jīng)數(shù)據(jù)上傳單元上傳至總測試工作量統(tǒng)計單元,進而獲取總測試工作量。
進一步的,在本實施例中,測試任務(wù)劃分模塊根據(jù)待測試軟件功能模塊組成、預(yù)設(shè)測試要求以及待測試軟件搭載的硬件類型對待測試軟件進行功能劃分,獲取該帶測試軟件中的功能模塊;功能模塊包括:無線模塊、wifi模塊、以太網(wǎng)模塊、藍牙模塊、接觸式IC卡模塊、非接觸式卡模塊以及文件系統(tǒng)等。
進一步的,在本實施例中,單元測試用例控制模塊與單元測試用例數(shù)據(jù)庫相連,綜合測試用例控制模塊與綜合測試用例數(shù)據(jù)庫相連,單元測試用例控制模塊根據(jù)獲取的功能模塊從單元測試用例數(shù)據(jù)庫調(diào)用對應(yīng)的單元測試用例;綜合測試用例控制模塊根據(jù)獲取的功能模塊從綜合測試用例數(shù)據(jù)庫調(diào)用對應(yīng)的綜合測試用例。
進一步的,在本實施例中,單元測試用例數(shù)據(jù)庫中存儲有下列單元測試用例:alg測試例、app測試例、asyn測試例、eth測試例、fs測試例、icc測試例、kb測試例、mag測試例、port測試例、ppp測試例以及prnt測試例;綜合測試用例數(shù)據(jù)庫存儲有下列綜合測試用例:打印性能/壓力測試例、MDM性能/壓力測試例、ETH性能/壓力測試例、無線性能/壓力測試例、IC性能/壓力測試例、磁卡性能/壓力測試例、安全性能/壓力測試例、fsys性能/壓力測試例、串口性能/壓力測試例以及RTC綜合測試。
進一步的,在本實施例中,時間統(tǒng)計模塊統(tǒng)計單元測試用例單次執(zhí)行時間以及綜合測試用例單次執(zhí)行時間;任務(wù)次數(shù)統(tǒng)計模塊統(tǒng)計單元測試用例執(zhí)行次數(shù)以及綜合測試用例例執(zhí)行次數(shù)。
進一步的,在本實施例中,總測試工作量統(tǒng)計單元分別統(tǒng)計如下工作量:單元測試工作量D,綜合測試工作量Z,待測試軟件測試次數(shù)C,搭載該待測試軟件的支付終端數(shù)量S,預(yù)計工作量L1,預(yù)計工作日T1,BUG的數(shù)量L2,單個BUG定位或復(fù)現(xiàn)的時間T2,BUG定位時間T3,總測試工作量L2以及總測試工作日T4。
單元測試工作量D根據(jù)時間統(tǒng)計模塊統(tǒng)計的每個單元測試用例的單次執(zhí)行時間以及執(zhí)行次數(shù)計算;綜合測試工作量Z根據(jù)時間統(tǒng)計模塊統(tǒng)計的每個綜合測試用例的單次執(zhí)行時間以及執(zhí)行次數(shù)計算;總執(zhí)行時間是單次時間和執(zhí)行次數(shù)的乘積,也即總執(zhí)行時間=單次執(zhí)行時間*執(zhí)行次數(shù),上述單元測試工作量D以及綜合測試工作量Z為每個測試用例總執(zhí)行時間之和。
待測試軟件測試次數(shù)C根據(jù)預(yù)設(shè)測試要求確定;預(yù)計工作量L1通過如下方式計算:
;
預(yù)計工作日T1通過如下方式計算:
;
BUG的數(shù)量L2根據(jù)千行代碼缺陷率估算或根據(jù)實際測試結(jié)果獲??;
單個BUG定位或復(fù)現(xiàn)的時間T2為一預(yù)設(shè)平均值;
BUG定位時間T3通過如下方式計算:
;
總測試工作量L2通過如下方式計算:
;
總測試工作日T4通過如下方式計算:
。
進一步的,在本實施例中,還包括一測試用例執(zhí)行記錄單元,該單元分別與單元測試用例控制模塊以及綜合測試用例控制模塊相連,獲取調(diào)用的單元測試用例與綜合測試用例,記錄參與測試的單元測試用例與綜合測試用例。
進一步的,在本實施例中,還包括一與總測試工作量統(tǒng)計單元以及測試用例執(zhí)行記錄單元相連的表格生成單元;表格生成單元根據(jù)單元測試用例、單元測試用例執(zhí)行情況、執(zhí)行時間以及測試執(zhí)行次數(shù)生成一單元測試表;表格生成單元根據(jù)綜合測試用例、綜合測試用例執(zhí)行情況、執(zhí)行時間以及測試執(zhí)行次數(shù)生成一綜合測試表;表格生成單元根據(jù)總測試工作量統(tǒng)計的單元生成一總測試工作量統(tǒng)計表。
單元測試表如圖2所示。第一列為單元測試項目;第二列“是否測試”的標志列來控制哪些模塊的測試時間需要被計算到某個實際測試任務(wù)的總工作時間中,當(dāng)填寫為“Y”時表示需要參與到總工作量統(tǒng)計中;第三列為每個單元測試用例執(zhí)行一次完整單元測試所需的時間;第四列為每個單元測試用例執(zhí)行次數(shù),支付終端設(shè)備同一個軟件模塊可能有多個硬件配置,測試過程中會遇到一個功能單元需要被多次測試情況,因此提供 “執(zhí)行次數(shù)”的屬性來記錄每個模塊測試執(zhí)行了幾次,例如:POS版本回歸測試過程中一個軟件版本可能工作在多種無線模塊上,假設(shè)要測試3種無線模塊硬件,則和無線模塊相關(guān)的功能ppp就需要被執(zhí)行3次,相應(yīng)的執(zhí)行次數(shù)就需填寫為3;第五列為一類單元測試用例總的執(zhí)行時間,也即一個單元測試用例多次測試的時間,該列值=單次執(zhí)行時間*執(zhí)行次數(shù)。如圖3所示,為綜合測試表。
如圖4所示為總測試工作量統(tǒng)計表。圖4中的“單元測試工作量”和“綜合測試工作量”使用圖2和圖3表格中的數(shù)據(jù)“執(zhí)行與否”列填寫為Y 的項目的測試時間計算得出?!鞍姹緶y試次數(shù)”表示:一個軟件可能需要被測試多輪,測試前根據(jù)測試任務(wù)實際情況填寫次數(shù)?!皽y試樣機次數(shù)”表示測試時同時使用多少臺測試設(shè)備,需根據(jù)實際情況填寫。“預(yù)計工作量”= (單元測試工作量+綜合測試工作量)*版本測試次數(shù)/(1+(測試樣機數(shù)-1)/2);“預(yù)計工作日”=“預(yù)計工作量”/60/6。測試出BUG時還需要記錄“BUG的數(shù)量”和“單個BUG定位或復(fù)現(xiàn)的時間”,“BUG的數(shù)量”根據(jù)千行代碼缺陷率估算或根據(jù)實際測試結(jié)果來填寫,“單個BUG定位或復(fù)現(xiàn)的時間”根據(jù)經(jīng)驗來取平均值,兩者相乘就得到“BUG定位時間”。最后,總測試工作量=預(yù)計測試工作量+BUG定位時間?!翱倻y試工作日”=“總測試工作量”/60/6。
以上是本發(fā)明的較佳實施例,凡依本發(fā)明技術(shù)方案所作的改變,所產(chǎn)生的功能作用未超出本發(fā)明技術(shù)方案的范圍時,均屬于本發(fā)明的保護范圍。