TWI695285B - 基於系統程式架構之迴歸測試方法及系統 - Google Patents

基於系統程式架構之迴歸測試方法及系統 Download PDF

Info

Publication number
TWI695285B
TWI695285B TW108103301A TW108103301A TWI695285B TW I695285 B TWI695285 B TW I695285B TW 108103301 A TW108103301 A TW 108103301A TW 108103301 A TW108103301 A TW 108103301A TW I695285 B TWI695285 B TW I695285B
Authority
TW
Taiwan
Prior art keywords
test
regression
module
model
regression test
Prior art date
Application number
TW108103301A
Other languages
English (en)
Other versions
TW202029022A (zh
Inventor
呂宗晉
鍾宜芳
劉賀任
Original Assignee
中華電信股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中華電信股份有限公司 filed Critical 中華電信股份有限公司
Priority to TW108103301A priority Critical patent/TWI695285B/zh
Application granted granted Critical
Publication of TWI695285B publication Critical patent/TWI695285B/zh
Publication of TW202029022A publication Critical patent/TW202029022A/zh

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本發明係關於一種基於系統程式架構之迴歸測試方法及系統,特別是應用於系統迴歸測試模組搭配自動化測試模組,利用此方法對系統修改或新增新功能的程式碼進行自動化的迴歸測試,再依據迴歸測試的結果計算品質指標,不僅針對需求變動頻繁的系統,提高迴歸測試之效率,降低時間人力及企業營運成本之效果,也提供系統品質量化指標的依據,強化營運系統品質。

Description

基於系統程式架構之迴歸測試方法及系統
本發明是一種迴歸測試方法及系統,尤其是一種用於系統品質量化指標的基於系統程式架構之自動化迴歸測試方法及系統。
既有的依據測試關鍵字產生測試案例之測試案例生成系統、方法及其電腦程式產品,如中華民國專利公開號第201640382A號所述,其提供一種依據測試關鍵字產生測試案例之測試案例生成系統、方法及其電腦程式產品。前述之生成系統係分析測試關鍵字以提供對應之複數個測試步驟,並將該等測試步驟作為步驟關聯圖之節點,並再依據該等節點之測試步驟屬性形成一軟體測試案例。
既有的軟體測試系統、方法及其非暫態電腦可讀取紀錄媒體,如中華民國專利公告號第I571737號所述,其利用處理單元根據輸入輸出參數及內部運作參數之數值範圍及參數型態,藉由機率模型建立待測軟體所包含之函式間之參數變化組合的參數變化機率,以由產生包含測試參數的測試個案,以達成待測軟體所需之參數預測。
既有的變動資料庫環境中之迴歸測試系統與方法,如中華民國專利公告號第I519946號所述,其利用動態抽樣條件組成模組針對抽樣條件和抽樣條件權重值進行設定,針對測試案例自動化進行抽樣測試,透過結果比對模組進行驗證比對,滿足抽樣條件的測試案例才納入抽樣資料保存模組,而該方法特點為可自動化抽取測試案例,於系統資訊模型變動時進行自動化處理資料填補,以維持測試案例的有效性、正確性,減少案例重抽所花費時間,並確保迴歸執行的完整性及正確性。
既有的應用新案例回饋於自動化軟體驗證之系統及其方法,如中華民國專利公告號第I536287號所述,其係利用屬性自我學習模組及現存於驗證案例庫之案例,並透過自動化驗證模組:由計算驗證人員輸入的每一個測試屬性權重值。案例智能篩選模組:由屬性關聯模組依照權重值找出的現有案例和候選案例進行運算並比對,比對結果不一致即為新案例。案例回饋模組間:找出該新案例與現有該驗證案例庫中不同的新測試屬性,並將案例存至該驗證案例庫。透過這些模組的互動,讓案例能自動延伸及自我發掘產生新型態案例,更可自動將案例資訊存回驗證案例庫的一種方法。
既有的美國專利公開號第2018/0173616 A1號,其係利用在程式碼當中埋入特殊的中斷點(BreakPoint),當程式執行當下發生問題,可透過所觸發的中斷點回應的訊息,快速的知道程式發生的問題點,進而可快速處理後續與修復程式。
然而,前述既有技術仍有缺點如下:既有技術未考慮線上障 礙與實際對應的程式關聯分析預測以及功能需求與實際對應的程式之間的關聯性,且既有技術未能提供動態調整迴歸測試模型,皆須輸入抽樣條件或權重值來設定,也未提供測試品質的量化指標做為測試結果的依據。
為了維持線上系統的穩定性,測試工作的涵蓋除了廣度之外,也必須要有一定的深度,但廣度與深度的調整,通常得受限於有限的時間、人力與成本上。本專利提供以系統程式當中的關鍵字作為分析的依據,建立起樹狀關聯結構,藉此可提供營運團隊快速找尋相關障礙與對應的測試案例,強化測試達成精準測試的目的。
為達前述目的,本發明係提供一種基於系統程式架構之迴歸測試方法,包括:藉由系統需求分析模組,分析歸類系統需求並將經分析歸類之該系統需求儲存於需求資料庫中;藉由系統功能分析模組,對經分析歸類之該系統需求及系統功能檔案執行對映(mapping)關聯並儲存於系統架構資料庫中,其中,若沒有對映關聯,則新增測試案例並建立迴歸測試模型,若有對映關聯,則執行下一步驟;藉由迴歸測試分析模組,對經分析歸類之該系統需求及該測試案例執行對映關聯,其中,若沒有對映關聯,則新增該測試案例並建立該迴歸測試模型,若有對映關聯,則修改該迴歸測試模型;藉由自動化測試模組,自動化執行該迴歸測試模型並儲存執行結果於測試案例資料庫中;藉由障礙建立分析模組,設定障礙特徵;藉由關鍵字搜尋模組,搜尋系統專案資料夾中的該障礙特徵的關鍵字及查 詢包括該關鍵字的檔案;根據該關鍵字搜尋模組所查詢的該檔案,從該系統架構資料庫中查詢參考該檔案的該測試案例,以輸入該測試案例於該迴歸測試模型,透過該自動化測試模組自動化執行該迴歸測試模型,俾計算該迴歸測試模型的該迴歸測試覆蓋率並儲存該執行結果及該迴歸測試覆蓋率於該測試案例資料庫中。
在前述之方法中,該系統需求包括系統功能、系統頁面、資料庫模組、可行性、及/或影響範圍。
在前述之方法中,該設定障礙特徵包括障礙等級、障礙原因、障礙說明、系統功能、系統需求、障礙原功能名稱、測試案例編號、重測次數、及/或該關鍵字。
在前述之方法中,該關鍵字搜尋模組所查詢的包括該關鍵字的檔案經轉換為相應程式功能名稱。
在前述之方法中,該自動化測試模組自動化執行該迴歸測試模型以計算迴歸測試覆蓋率、正確測試案例比例、羅吉斯迴歸勝算、及/或品質指標。
在前述之方法中,該障礙建立分析模組根據所設定之該障礙特徵以分析造成障礙的該關鍵字。
在前述之方法中,更包括:重複執行該障礙建立分析模組、該關鍵字搜尋模組且透過該自動化測試模組自動化執行該迴歸測試模型直至完成該迴歸測試方法。
在前述之方法中,透過計算該迴歸測試模型的該測試覆蓋率 以得到平均測試覆蓋率,並透過羅吉斯迴歸模型以計算羅吉斯迴歸勝算,且計算該羅吉斯迴歸勝算及正確測試案例比例以得到該迴歸測試方法的品質指標。
本發明更提供一種基於系統程式架構之迴歸測試系統,包括:系統需求分析模組,用以分析歸類系統需求並將經分析歸類之該系統需求儲存於需求資料庫中;系統功能分析模組,用以對經分析歸類之該系統需求及系統功能檔案執行對映(mapping)關聯並儲存於系統架構資料庫中;迴歸測試分析模組,用以對經分析歸類之該系統需求及測試案例執行對映關聯;自動化測試模組,用以自動化執行迴歸測試模型並儲存執行結果於測試案例資料庫中;障礙建立分析模組,用以設定障礙特徵;以及關鍵字搜尋模組,用以搜尋系統專案資料夾中的該障礙特徵的關鍵字及查詢包括該關鍵字的檔案;其中,根據該關鍵字搜尋模組所查詢的該檔案,從該系統架構資料庫中查詢參考該檔案的該測試案例,以輸入該測試案例於該迴歸測試模型,透過該自動化測試模組自動化執行該迴歸測試模型,俾計算該迴歸測試模型的該迴歸測試覆蓋率並儲存該執行結果及該迴歸測試覆蓋率於該測試案例資料庫中。
在前述之系統中,該系統需求包括系統功能、系統頁面、資料庫模組、可行性、及/或影響範圍。
在前述之系統中,該設定障礙特徵包括障礙等級、障礙原因、障礙說明、系統功能、系統需求、障礙原功能名稱、測試案例編號、重測次數、及/或該關鍵字。
在前述之系統中,該關鍵字搜尋模組所查詢的包括該關鍵字的檔案經轉換為相應程式功能名稱。
在前述之系統中,該自動化測試模組自動化執行該迴歸測試模型以計算迴歸測試覆蓋率、正確測試案例比例、羅吉斯迴歸勝算、及/或品質指標。
在前述之系統中,該障礙建立分析模組根據所設定之該障礙特徵以分析造成障礙的該關鍵字。
在前述之系統中,該迴歸測試模型的該測試覆蓋率經計算以得到平均測試覆蓋率,並藉由羅吉斯迴歸模型以計算羅吉斯迴歸勝算,透過計算該羅吉斯迴歸勝算及正確測試案例比例以得到迴歸測試的品質指標。
藉由本發明,可提供營運團隊針對上線系統功能服務品質之精進,透過本發明所建立的自動化迴歸測試模型,以關鍵字查詢系統功能所新增或修改之程式碼,並透過系統程式架構關聯,從系統需求功能及使用者的角度,進行自動化迴歸測試,查找其他可能發生邊際效益(side effect)的測試案例,針對查找出來的障礙,再重複透過系統程式架構關聯,以關鍵字查詢其他可能發生障礙的系統功能進行測試,以達到線上系統障礙熱區迴歸測試,並收集迴歸測試的結果,透過羅吉斯迴歸統計模型,計算迴歸測試的品質指標,提供量化指標作為上線準則的依據,強化營運系統品質,降低時間人力及企業營運成本之效果,也可降低程式上線之障礙發生率,進而避免企業在營運及形象上遭受質疑。
本發明透過迴歸分析測試模組,可降低系統修改後線上發生的障礙次數,有效地確保舊有系統程式功能的正確性,提升系統品質之效果;提供有效率的迴歸測試模型,降低測試案例的重測次數,同時保有一定的系統品質;經由自動化測試模組,降低迴歸測試與系統複測時耗費的時間與成本,在有限的資源下強化營運系統品質,降低時間人力及企業營運成本之效果;依據迴歸測試結果的測試覆蓋率,透過建立的統計模型計算每次迴歸測試的品質指標,以量化的指標呈現系統測試品質,可作為後續系統上線準則的依據,也可以透過測試覆蓋率預測系統品質,作為自我審視系統測試品質重要的指標。
1‧‧‧關鍵字搜尋模組
10‧‧‧障礙資料庫
11‧‧‧關鍵字查詢元件
12‧‧‧關鍵字轉換元件
2‧‧‧系統架構資料庫
3‧‧‧系統需求分析模組
31‧‧‧需求分析元件
32‧‧‧需求歸類元件
33‧‧‧需求轉換元件
4‧‧‧需求資料庫
5‧‧‧系統功能分析模組
6‧‧‧迴歸分析測試模組
61‧‧‧迴歸測試分析元件
62‧‧‧迴歸測試建立元件
7‧‧‧測試案例資料庫
8‧‧‧自動化測試模組
81‧‧‧自動化測試元件
82‧‧‧測試結果分析元件
9‧‧‧障礙建立分析模組
91‧‧‧障礙設定元件
92‧‧‧障礙歸類元件
93‧‧‧障礙轉換元件
1-1~1-3‧‧‧測試案例
A‧‧‧羅吉斯迴歸曲線
B‧‧‧實際觀察值
Control1~Control7‧‧‧控制項
Function1~Function7‧‧‧系統功能
Model1~Model7‧‧‧資料庫模組
View1~View7‧‧‧系統頁面
S401~S418‧‧‧步驟
S501~S517‧‧‧步驟
請參閱有關本發明之詳細說明及其附圖,將可進一步瞭解本發明之技術內容及其目的功效;有關附圖為:
第1圖為本發明之迴歸測試系統的系統架構圖。
第2圖為第1圖之進一步元件架構圖。
第3圖為本發明之系統架構樹狀圖。
第4圖為本發明之系統功能需求提案流程圖。
第5圖為本發明之系統線上障礙提案流程圖。
第6圖為本發明之迴歸模型情境流程示意圖。
第7A-7B、8A-8B圖為本發明之樹狀架構流程示意圖。
第9A-9B圖為本發明之測試覆蓋率示意圖。
第10圖為羅吉斯函數分布圖。
請參閱第1圖所示,本發明提供一種基於系統程式架構之迴歸測試系統,其係以系統程式架構為基礎,應用關鍵字查詢程式功能及系統需求對應關係,建立自動化迴歸測試模型,透過本發明的方法可對擁有潛在風險的系統功能進行更有效的迴歸測試並獲得量化的品質指標,該迴歸測試系統包括:搜尋包含關鍵字的程式功能之關鍵字搜尋模組1、用於儲存系統架構之系統架構資料庫2、用於分析系統功能及系統需求之系統需求分析模組3、用於收集彙整系統需求及系統功能之需求資料庫4、用於分析關鍵字、系統需求及系統功能檔案之系統功能分析模組5、用於分析及建立迴歸模型之迴歸分析測試模組6、用於儲存測試案例之測試案例資料庫7、用於建立自動化測試執行之自動化測試模組8、依據測試結果分析障礙進行障礙歸類之障礙建立分析模組9、以及用於儲存測試障礙之障礙資料庫10。
請參閱第2圖所示,本系統各個模組之間的元件架構如下,配合參閱第3圖之樹狀圖及第4圖之系統功能需求提案流程圖,當步驟S401功能需求提案後,藉由步驟S402判斷其是否符合提案規範,若否,則執行步驟S418功能需求結案,反之,進行步驟S403以執行需求分析元 件31判定系統需求所涵蓋的系統功能(Function)、系統頁面(View)、控制項(Control)、資料庫模組(Model)、可行性與影響範圍後,進行步驟S404以執行需求歸類元件32,將需求分析後的結果與系統功能(Function)、系統頁面(View)、控制項(Control)、資料庫模組(Model)透過需求轉換元件33進行對應歸類,並執行步驟S405以存入需求資料庫4,再進行步驟S406以提取歸類的系統需求,並進行步驟S408執行系統功能分析模組5,步驟S407以判斷是否系統功能檔案對映(mapping),若有對應的系統功能檔案,則進行進行步驟S409判斷是否測試案例對映,若否,則進行步驟S410針對新的系統功能新增測試案例,並進入步驟S411建立迴歸測試模型。
步驟S408判斷是否測試案例對映是由步驟S412執行迴歸測試分析元件61對系統需求執行步驟S413存取測試案例資料庫7,針對該系統需求所對應的系統功能,取得相關測試案例,透過步驟S414執行迴歸測試建立元件62,執行步驟S411建立迴歸測試模型或步驟S415修改系統需求的迴歸測試模型,再透過步驟S416執行自動化測試元件81以針對迴歸測試模型進行自動化迴歸測試,而測試結果則透過步驟S417執行測試結果分析元件82計算該次迴歸測試的測試覆蓋率(計算方式及說明後續描述),加以分析並更新測試案例資料庫7,執行步驟S418功能需求結案以完成第一輪迴歸測試,如第6圖之情境流程示意圖的Circle 1。
當第一輪迴歸測試結果分析測試案例1-1發現障礙錯誤時,則需執行測試障礙提案流程,請參閱第5圖之測試障礙提案流程圖,步驟S501測試障案提案,將先執行步驟S502以判斷是否符合提案規範,若否, 步驟S517障礙提案結案,若是,透過步驟S503執行障礙設定元件91建立障礙特徵,包含障礙等級、障礙原因、功能名稱、關鍵字…等,再透過步驟S504執行障礙歸類元件92根據障礙特徵設定元件91之設定實施歸類,由障礙轉換元件93執行步驟S505寫入障礙資料庫10之中。
執行步驟S506提取障礙關鍵字,依照障礙設定時輸入的障礙關鍵字,進行步驟S507以執行關鍵字查詢元件11,步驟S508存取系統架構資料庫以針對系統專案資料夾進行檔案的關鍵字查詢,找出包含關鍵字的檔案,依照查詢出來的程式功能檔名,接著由關鍵字轉換元件12,依照查詢出來的程式功能檔名,存取系統架構資料庫2,如第7A、7B圖之樹狀架構流程示意圖所示,透過障礙關鍵字查詢對應的程式Function1有障礙,透過系統架構確認Function1與Control1、Control2、Control3、Control5、Control6及View1、View2、View3、View5、View6相關,而前述的Control及View又被測試案例1-1、測試案例1-2、測試案例1-3、測試案例1-1、測試案例4-1及測試案例2-2所使用,步驟S509以判斷是否系統功能檔案對映,步驟S510修改系統需求的迴歸測試模型,若否,則進行步驟S511針對新的系統功能新增測試案例,並進入步驟S512建立迴歸測試模型,透過步驟S513執行自動化測試元件81以針對迴歸測試模型進行自動化迴歸測試,透過步驟S514執行迴歸測試建立元件62,將對應到的測試案例透過步驟S515納入迴歸測試模型存取於測試案例資料庫,再由自動化測試元件81針對迴歸測試模型進行自動化迴歸測試,最後由測試結果分析元件82計算第二輪迴歸測試的測試覆蓋率並透過步驟S516判斷測試結果是否通過,若是,執行步驟S517障案提案結案,若否,確認測試案例2-2執行 失敗,將測試結果更新測試案例資料庫7,完成第二輪迴歸測試,如第6圖情境流程示意圖的Circle 2。
當第二輪迴歸測試結果分析測試案例2-2有錯誤,則重複進行步驟S501測試障礙提案,透過障礙設定元件91建立障礙特徵,再透過障礙歸類元件92將其障礙進行歸類,由障礙轉換元件93寫入障礙資料庫10之中。
障礙設定並歸類完成後,啟動第三輪迴歸測試,依照障礙設定時輸入的障礙關鍵字啟動關鍵字查詢元件11,找出包含關鍵字的程式功能檔名,接著由關鍵字轉換元件12,依照查詢出來的程式功能檔名,存取系統架構資料庫2,如第8A-8B圖之樹狀架構流程示意圖所示,透過障礙關鍵字查詢對應的Function4有障礙,透過系統架構確認Function4與Control2、Control3、Control7、及View2、View3、View7相關,而前述的Control及View又被測試案例1-1、測試案例1-2、測試案例1-3及測試案例2-2所使用,因此透過迴歸測試建立元件62,將對應到的測試案例納入迴歸測試模型,再由自動化測試元件81針對迴歸測試模型進行自動化迴歸測試,最後由測試結果分析元件82計算其迴歸測試的測試覆蓋率將測試結果更新測試案例資料庫7,完成第三輪迴歸測試,如第6圖之情境流程示意圖的Circle 3,透過反覆的迴歸測試模型建立與自動化迴歸測試,直到測試案例無障礙產生即完成一輪的迴歸測試,迴歸測試完成後系統更新測試案例資料庫7,設定該輪迴歸測試至「無障礙發生事件」,如果後續有使用者提報舊有系統障礙,則更新該次迴歸測試為「有障礙發生事件」,以 此作為每輪迴歸測試品質的回饋。
每次迴歸測試皆可以透過測試結果分析元件82,計算迴歸測試覆蓋率(Regression Test Coverage,RTC)如下之公式1所示。以第三輪迴歸測試為例說明,Function4的障礙所進行的迴歸測試其測試覆蓋率為所有測試案例的總函式(Function)數量為21,而Function4的障礙其受測函式(Function)數量為測試案例1-1、1-2、1-3、2-2的函式(Function)數量為17(以受測的測試案例計算其參考到的函式(Function)數量,如第9A-9B圖之測試覆蓋率示意圖),再乘以100%,其測試覆蓋率約為81%,該測試覆蓋率81%可以作為Function4測試所需達到的品質指標。
迴歸測試完成後,透過測試結果分析元件取得每輪迴歸測試的測試覆蓋率(Regression Test Coverage,RTC)計算其平均值,以及取得正確測試案例比例(Case Coverage,CC),透過RTC及CC來計算品質指標(Quality Coverage,QC),如下列之公式2所示,由於測試覆蓋率與軟體品質呈現非線性的指數關係,如第10圖之羅吉斯函數分布圖,因此使用羅吉斯迴歸模型(Logistic Regression Model)中的羅吉斯迴歸曲線A來預測測試覆蓋率與軟體品質的實際觀察值B之間的關係,在此將軟體品質定義為迴歸測試時障礙的發生與否,當迴歸測試時障礙發生機率愈低,表示軟體品質好,反之則差,而羅吉斯迴歸勝算(Logistic Regression Odds,LRO)主要以平均迴歸測試覆蓋率(RTC)為自變數(X)對迴歸測試結果是否有障礙為依變數(Y),透過羅吉斯迴歸(Logistic Regression)建立模型,並計算出有利於依變數(Y)「迴歸測試結果沒有障礙發生」事件發生的勝算。
在羅吉斯迴歸中P(Y=1|X)為其事件發生的條件機率,即為「迴歸測試結果沒有障礙發生事件」的機率,其範圍必須在0到1之間,而P(yi=1|xi)為「第i次迴歸測試結果沒有障礙發生的條件機率」如下列之公式3所示,而α及β為迴歸係數,即為平均迴歸測試覆蓋率(RTC)一單位的變化,所導致迴歸測試結果是否有障礙的變化,而羅吉斯迴歸勝算(LRO)其公式為「迴歸測試結果沒有障礙發生事件」的機率除以「迴歸測試結果有障礙發生事件」的機率,如下列之公式4所示。
正確測試案例比例(Case Coverage,CC)如下列之公式5所示,在迴歸測試完成後,無障礙的測試案例數占全部測試案例數的比例,以上述而言,第一次迴歸測試結果中測試案例1-1有障礙錯誤,第二次迴歸測試結果中測試案例2-1有障礙錯誤,因此該輪的正確測試案比例為3/5(60%)。
Figure 108103301-A0305-02-0015-1
公式2:迴歸測試品質指標(QC)=羅吉斯迴歸勝算(LRO)X正確測試案例比例(CC) (2)
Figure 108103301-A0305-02-0015-3
Figure 108103301-A0305-02-0015-4
Figure 108103301-A0305-02-0015-6
在此次實驗中假設執行了六輪(circle)的迴歸測試,每一輪執行結果請參考下列的表1至表6:
Figure 108103301-A0101-12-0014-6
Figure 108103301-A0101-12-0014-7
Figure 108103301-A0101-12-0015-8
Figure 108103301-A0101-12-0015-9
Figure 108103301-A0101-12-0015-10
Figure 108103301-A0101-12-0016-11
Figure 108103301-A0101-12-0016-12
Figure 108103301-A0101-12-0016-13
Figure 108103301-A0101-12-0017-14
以下列的表7之卡方適合度檢定檢視第六輪執行之羅吉斯迴歸模型的適合度,其結果如下,適合度卡方值為2.325、df為1、P為0.127,則表示無法拒絕虛無假設「平均測試覆蓋率與迴歸測試結果有無障礙發生事件有明顯相關」,亦即該資料所求出的羅吉斯模型適合度合乎要求。
Figure 108103301-A0101-12-0017-15
當參數α=-7.912及β=0.111帶入公式(3),獲得以平均迴歸測試覆蓋率(RTC)預測「迴歸測試結果沒有障礙發生」的機率,如下列的公式6,透過公式6可以預測第七輪的「迴歸測試結果沒有障礙發生事件」的機率。
Figure 108103301-A0101-12-0017-16
本發明提供之迴歸測試方法,以第三次迴歸測試為例說明,其計算的測試覆蓋率為81%,相較於既有的迴歸測試方法,既有的迴歸測試方法為了減少迴歸測試的人力及時間成本,只針對發生障礙的測試案例 進行重測,其迴歸測試覆蓋率為所有測試案例的函式(Function)數量總數為21,除以有障礙發生的測試案例2-2受測函式(Function)數量為3,再乘以100%,其測試覆蓋率約為14%,相比較之下,既有的迴歸測試方法顯然有許多相關聯的函式(Function)並未測試,而影響迴歸測試品質。
本發明所提出來的方法,不僅將高度相關於障礙發生的功能都進行迴歸測試,避免全部測試所造成的人力與時間成本的花費,同時也於迴歸測試後提出品質指標的計算方式,用以量化迴歸測試品質,由上述六輪的迴歸測試可以觀察到,當品質指標(QC)越高則較無障礙發生事件。
本發明與其他既有技術相互比較時,更具有下列之優點:
1.本發明之迴歸測試透過關鍵字轉換元件以及需求轉換元件,將系統需求與系統功能建立關聯,產生需求與系統架構對應之樹狀圖,並建立迴歸測試模型,能以系統需求為出發點進行測試,使測試結果較貼近使用者需求。
2.本發明之迴歸測試透過自動化測試元件,將建立好的迴歸測試模型自動化執行對應的測試案例,節省營運團隊因應繁雜的迴歸測試所需花費的時間及人力成本。
3.本發明之迴歸測試透過障礙歸類元件以及關鍵字轉換元件,將功能障礙與系統程式架構建立關聯,透過迴歸測試分析元件對相關測試案例進行迴歸測試,藉由回饋障礙結果修正迴歸測試模型,遞減每次迴歸測試需測試的案例數量,修正以往只能針對有錯誤的測試案例進行重測,其迴歸測試覆蓋率較低且有限,而又不用花費100%測試覆蓋率的成本, 也能達到有效率且準確的迴歸測試。
4.本發明之迴歸測試透過測試結果分析元件,計算迴歸測試所達成的平均測試覆蓋率及正確測試案例比例,再透過統計模型計算出品質指標,作為系統品質量化準則,減少以往針對迴歸測試品質的疑慮,也提供系統測試能否上線的另一個指標。
上列詳細說明係針對本發明之一可行實施例之具體說明,惟該實施例並非用以限制本發明之專利範圍,凡未脫離本發明技藝精神所為之等效實施或變更,均應包含於本案之專利範圍中。
綜上所述,本案不但在技術思想上確屬創新,並能較習用物品增進上述多項功效,應以充分符合新穎性及進步性之法定發明專利要件,爰依法提出申請,懇請 貴局核准本件發明專利申請案,以勵發明,至感德便。
1‧‧‧關鍵字搜尋模組
2‧‧‧系統架構資料庫
3‧‧‧系統需求分析模組
4‧‧‧需求資料庫
5‧‧‧系統功能分析模組
6‧‧‧迴歸分析測試模組
7‧‧‧測試案例資料庫
8‧‧‧自動化測試模組
9‧‧‧障礙建立分析模組
10‧‧‧障礙資料庫

Claims (13)

  1. 一種基於系統程式架構之迴歸測試方法,包括:藉由系統需求分析模組,分析歸類系統需求並將經分析歸類之該系統需求儲存於需求資料庫中;藉由系統功能分析模組,對經分析歸類之該系統需求及系統功能檔案執行對映(mapping)關聯並儲存於系統架構資料庫中,其中,若沒有對映關聯,則新增測試案例並建立迴歸測試模型,若有對映關聯,則執行下一步驟;藉由迴歸測試分析模組,對經分析歸類之該系統需求以及該測試案例執行對映關聯,其中,若沒有對映關聯,則新增該測試案例並建立該迴歸測試模型,若有對映關聯,則修改該迴歸測試模型;藉由自動化測試模組,自動化執行該迴歸測試模型並儲存執行結果於測試案例資料庫中;藉由障礙建立分析模組,設定障礙特徵;藉由關鍵字搜尋模組,搜尋該障礙特徵的關鍵字及查詢包括該關鍵字的檔案;根據該關鍵字搜尋模組所查詢的該檔案,從該系統架構資料庫中查詢參考該檔案的該測試案例,以輸入該測試案例於該迴歸測試模型,透過該自動化測試模組自動化執行該迴歸測試模型,俾計算該迴歸測試模型的該迴歸測試覆蓋率並儲存該執行結果及該迴歸測試覆蓋率於該測試案例資料庫中, 其中,透過計算該迴歸測試模型的該迴歸測試覆蓋率以得到平均迴歸測試覆蓋率,並透過羅吉斯迴歸模型以計算羅吉斯迴歸勝算,且計算該羅吉斯迴歸勝算及正確測試案例比例以得到迴歸測試品質指標。
  2. 根據申請專利範圍第1項所述之方法,其中,該系統需求包括系統功能、系統頁面、資料庫模組、可行性、或影響範圍。
  3. 根據申請專利範圍第1項所述之方法,其中,該設定障礙特徵包括障礙等級、障礙原因、障礙說明、系統功能、系統需求、障礙原功能名稱、測試案例編號、重測次數、或該關鍵字。
  4. 根據申請專利範圍第1項所述之方法,其中,該關鍵字搜尋模組所查詢的包括該關鍵字的檔案經轉換為相應程式功能名稱。
  5. 根據申請專利範圍第4項所述之方法,其中,該自動化測試模組自動化執行該迴歸測試模型以計算該迴歸測試覆蓋率、該正確測試案例比例、該羅吉斯迴歸勝算、或該迴歸測試品質指標。
  6. 根據申請專利範圍第4項所述之方法,其中,該障礙建立分析模組根據所設定之該障礙特徵以分析造成障礙的該關鍵字。
  7. 根據申請專利範圍第1項所述之方法,更包括:重複執行該障礙建立分析模組、該關鍵字搜尋模組且透過該自動化測試模組自動化執行該迴歸測試模型直至完成該迴歸測試方法。
  8. 一種基於系統程式架構之迴歸測試系統,包括:系統需求分析模組,用以分析歸類系統需求並將經分析歸類之該系統需求儲存於需求資料庫中; 系統功能分析模組,用以對經分析歸類之該系統需求及系統功能檔案執行對映(mapping)關聯並儲存於系統架構資料庫中;迴歸測試分析模組,用以對經分析歸類之該系統需求及測試案例執行對映關聯;自動化測試模組,用以自動化執行迴歸測試模型並儲存執行結果於測試案例資料庫中;障礙建立分析模組,用以設定障礙特徵;以及關鍵字搜尋模組,用以搜尋該障礙特徵的關鍵字及查詢包括該關鍵字的檔案;其中,根據該關鍵字搜尋模組所查詢的該檔案,從該系統架構資料庫中查詢參考該檔案的該測試案例,以輸入該測試案例於該迴歸測試模型,透過該自動化測試模組自動化執行該迴歸測試模型,俾計算該迴歸測試模型的該迴歸測試覆蓋率並儲存該執行結果及該迴歸測試覆蓋率於該測試案例資料庫中,其中,該迴歸測試模型的該迴歸測試覆蓋率經計算以得到平均迴歸測試覆蓋率,並藉由羅吉斯迴歸模型以計算羅吉斯迴歸勝算,透過計算該羅吉斯迴歸勝算及正確測試案例比例以得到迴歸測試品質指標。
  9. 根據申請專利範圍第8項所述之系統,其中,該系統需求包括系統功能、系統頁面、資料庫模組、可行性、或影響範圍。
  10. 根據申請專利範圍第8項所述之系統,其中,該設定障礙特徵包括障礙等級、障礙原因、障礙說明、系統功能、系統需求、障礙原 功能名稱、測試案例編號、重測次數、或該關鍵字。
  11. 根據申請專利範圍第8項所述之系統,其中,該關鍵字搜尋模組所查詢的包括該關鍵字的檔案經轉換為相應程式功能名稱。
  12. 根據申請專利範圍第11項所述之系統,其中,該自動化測試模組自動化執行該迴歸測試模型以計算該迴歸測試覆蓋率、該正確測試案例比例、該羅吉斯迴歸勝算、或該迴歸測試品質指標。
  13. 根據申請專利範圍第11項所述之系統,其中,該障礙建立分析模組根據所設定之該障礙特徵以分析造成障礙的該關鍵字。
TW108103301A 2019-01-29 2019-01-29 基於系統程式架構之迴歸測試方法及系統 TWI695285B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108103301A TWI695285B (zh) 2019-01-29 2019-01-29 基於系統程式架構之迴歸測試方法及系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108103301A TWI695285B (zh) 2019-01-29 2019-01-29 基於系統程式架構之迴歸測試方法及系統

Publications (2)

Publication Number Publication Date
TWI695285B true TWI695285B (zh) 2020-06-01
TW202029022A TW202029022A (zh) 2020-08-01

Family

ID=72176100

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108103301A TWI695285B (zh) 2019-01-29 2019-01-29 基於系統程式架構之迴歸測試方法及系統

Country Status (1)

Country Link
TW (1) TWI695285B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685324B (zh) * 2021-01-21 2024-06-28 盛景智能科技(嘉兴)有限公司 一种生成测试方案的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200910832A (en) * 2007-08-16 2009-03-01 Chunghwa Telecom Co Ltd Method for performing automated recursion tests
TW201435584A (zh) * 2013-03-08 2014-09-16 Chunghwa Telecom Co Ltd 應用於回歸測試案例選擇之混合機率模型
CN104317719A (zh) * 2014-11-11 2015-01-28 浪潮电子信息产业股份有限公司 一种控制软件测试质量的方法
CN107015908A (zh) * 2017-03-31 2017-08-04 广州慧睿思通信息科技有限公司 一种计算机应用软件测试系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200910832A (en) * 2007-08-16 2009-03-01 Chunghwa Telecom Co Ltd Method for performing automated recursion tests
TW201435584A (zh) * 2013-03-08 2014-09-16 Chunghwa Telecom Co Ltd 應用於回歸測試案例選擇之混合機率模型
CN104317719A (zh) * 2014-11-11 2015-01-28 浪潮电子信息产业股份有限公司 一种控制软件测试质量的方法
CN107015908A (zh) * 2017-03-31 2017-08-04 广州慧睿思通信息科技有限公司 一种计算机应用软件测试系统及方法

Also Published As

Publication number Publication date
TW202029022A (zh) 2020-08-01

Similar Documents

Publication Publication Date Title
Huang et al. Revisiting supervised and unsupervised models for effort-aware just-in-time defect prediction
Fan et al. The impact of mislabeled changes by szz on just-in-time defect prediction
CN109240901B (zh) 性能分析方法、性能分析装置、存储介质和电子设备
Abarenkov et al. Protax‐fungi: a web‐based tool for probabilistic taxonomic placement of fungal internal transcribed spacer sequences
Jureczko et al. Towards identifying software project clusters with regard to defect prediction
Abdelmoez et al. Bug fix-time prediction model using naïve Bayes classifier
JP7125900B2 (ja) 複合的ダイアディック又はマルチプルなカウンターパーティ関係を発見するために使用される多次元再帰的学習プロセス及びシステム
WO2018028099A1 (zh) 搜索质量评估方法及装置
Pan et al. Refactoring software packages via community detection in complex software networks
JP2011503681A (ja) データ記録を一致させるシステムの分析のための方法およびシステム
US11237805B2 (en) Techniques for automatically detecting programming deficiencies
JP5866473B2 (ja) 自動化された予測的なタグ管理システム
CN114881343B (zh) 基于特征选择的电力系统短期负荷预测方法及装置
Gómez-Cabrera et al. Causes of time and cost overruns in construction projects: a scoping review
TWI695285B (zh) 基於系統程式架構之迴歸測試方法及系統
US20220374401A1 (en) Determining domain and matching algorithms for data systems
Murillo-Morera et al. Software Fault Prediction: A Systematic Mapping Study.
Huang et al. Reviewing rounds prediction for code patches
Ardimento et al. A text-based regression approach to predict bug-fix time
Schroeder et al. Predicting and evaluating software model growth in the automotive industry
Zhang et al. Predicting consistent clone change
Zhou et al. Predicting concurrency bugs: how many, what kind and where are they?
Wirawan et al. Application of data mining to prediction of timeliness graduation of students (a case study)
Pocock et al. Rapid assessment of the suitability of multi-species citizen science datasets for occupancy trend analysis
TW202328996A (zh) 超極端類別不平衡或資源約束下的代碼品質預測

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees