TW202139009A - 測試真實資料之方法及電腦可讀媒介 - Google Patents

測試真實資料之方法及電腦可讀媒介 Download PDF

Info

Publication number
TW202139009A
TW202139009A TW109111499A TW109111499A TW202139009A TW 202139009 A TW202139009 A TW 202139009A TW 109111499 A TW109111499 A TW 109111499A TW 109111499 A TW109111499 A TW 109111499A TW 202139009 A TW202139009 A TW 202139009A
Authority
TW
Taiwan
Prior art keywords
test
stratification
layer
sampling
function
Prior art date
Application number
TW109111499A
Other languages
English (en)
Other versions
TWI755702B (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 TW109111499A priority Critical patent/TWI755702B/zh
Publication of TW202139009A publication Critical patent/TW202139009A/zh
Application granted granted Critical
Publication of TWI755702B publication Critical patent/TWI755702B/zh

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本發明係提供一種測試真實資料之方法,係於執行大型軟體系統之雙軌或回歸測試時,先以分層抽樣的方式進行真實資料的測試並根據抽樣測試結果估計真實資料母體正確率,再針對分層錯誤比例高於臨界值的分層進行不抽樣的全案例測試,因此能夠提高篩選測試案例的效率、加快測試速度、避免測試大量資料的高負載問題、維持測試結果的等價性及確保測試案例的測試涵蓋度。本發明另提供一種用以測試真實資料之方法的電腦可讀媒介。

Description

測試真實資料之方法及電腦可讀媒介
本發明係關於軟體系統之測試技術,特別是關於對大型軟體系統之真實資料(production data)進行雙軌或回歸測試之方法及電腦可讀媒介。
在習知技術中,對軟體系統進行雙軌或回歸測試常使用真實資料(production data)做為測試案例之資料來源。在進行雙軌或回歸測試時,使用真實資料具有維持測試結果之等價性(parity)及降低遺漏重要缺陷之測試的風險等優點。然而,當針對大型軟體系統進行雙軌或回歸測試時,由於資料量龐大,使用真實資料進行雙軌或回歸測試將造成高負載,並且難以預估使用龐大的真實資料做為測試案例是否具有理想的測試涵蓋度。
因此,如何在進行雙軌或回歸測試時,縮減測試大型軟體系統所使用之真實資料並維持測試結果之等價性及確保測試案例的測試涵蓋度,係為本技術領域之重要課題之一。
為解決上述之問題,本發明提出一種測試真實資料之方法,包括:選擇待測試之軟體系統適用之歷史輸入資料及對應之歷史輸出資料為母體;藉由屬性標籤函式辨識該歷史輸入資料中的測試案例;將該母體依據各該測試案例的種類分層以取得該母體之分層;對各該母體之分層進行抽樣測試以取得測試結果;以及依據該抽樣測試之測試結果計算該母體之錯誤信賴限。
在前述之方法中,該屬性標籤函式係根據該軟體系統之功能函數及其對應之變數值域範圍所定義者。
在前述之方法中,該母體係依據該功能函數及該變數值域範圍隨該軟體系統之版本而變化之時間區間所選擇者。
在前述之方法中,該測試案例係包括主鍵及屬性標籤組合,且將該母體依據各該測試案例的種類分層之步驟係將該歷史輸入資料中具有相同之該屬性標籤組合之測試案例分至同一該母體之分層。
在前述之方法中,該對各該母體之分層進行抽樣測試之步驟係包括下列子步驟:設定該分層之樣本大小;根據該所設定之樣本大小從該分層抽取對應數量之該測試案例並儲存於抽樣案例庫中;以該抽樣案例庫中的測試案例執行該軟體系統並輸出測試輸出檔;比對該測試輸出檔與該歷史輸出資料,以根據比對結果產製分析報告;以及根據該比對結果計算該分層之分層錯誤比例,其中,該分層錯誤比例係該分層中之測試案例為測試錯誤者之筆數佔該樣本大小的比例。
在前述之方法中,該設定該分層之樣本大小之方式係包括:當該分層包含之該主鍵的數量大於或等於中央極限定理預設值時,該樣本大小係設定為該中央極限定理預設值,而當該分層包含之該主鍵的數量小於該中央極限定理預設值時,該樣本大小係設定為該分層之該主鍵的數量。
在前述之方法中,該抽樣測試係用於計算各該分層之分層錯誤比例,且依據該抽樣測試之測試結果計算該母體之錯誤信賴限之步驟係包括下列子步驟:分別根據各該分層之分層錯誤比例計算各該分層之錯誤信賴限;以及將各該分層之錯誤信賴限匯總為該母體之錯誤信賴限。
在前述之方法中,復包括:對該分層之該錯誤比例超過預設值者進行全案例測試,以將測試失敗之測試案例輸出為測試失敗列表。
本發明復提供一種電腦可讀媒介,應用於計算裝置或電腦中,係儲存有指令,以執行前述之測試真實資料之方法。
綜上所述,本發明之測試真實資料之方法及電腦可讀媒介在執行大型軟體系統之雙軌或回歸測試時,不需要把全部的真實資料一一測試,而是以分層抽樣的方式進行真實資料的測試並根據抽樣測試結果估計真實資料母體正確率,再針對分層錯誤比例高於臨界值的分層進行不抽樣的全案例測試,因此能夠提高篩選測試案例的效率、加快測試速度、避免測試大量資料的高負載問題、維持測試結果的等價性及確保測試案例的測試涵蓋度。
S101~S108:步驟
圖1係揭示本發明之測試真實資料之方法的步驟流程圖;
圖2係揭示本發明之測試真實資料之方法的階段示意圖;
圖3係揭示本發明之測試真實資料之方法的階段示意圖;
圖4係揭示本發明之測試真實資料之方法的階段示意圖;
圖5係揭示本發明之測試真實資料之方法的階段示意圖;
圖6係揭示本發明之測試真實資料之方法的階段示意圖;
圖7係揭示本發明之測試真實資料之方法的階段示意圖;
圖8係揭示本發明之測試真實資料之方法的階段示意圖;
圖9係揭示本發明之測試真實資料之方法的階段示意圖;
圖10係揭示本發明之測試真實資料之方法的實施例示意圖;
圖11係揭示本發明之測試真實資料之方法的實施例示意圖;
圖12係揭示本發明之測試真實資料之方法的實施例示意圖;
圖13係揭示本發明之測試真實資料之方法的實施例示意圖;以及
圖14係揭示本發明之測試真實資料之方法的實施例示意圖。
以下藉由特定的實施例說明本案之實施方式,熟習此項技藝之人士可由本文所揭示之內容輕易地瞭解本案之其他優點及功效。本說明書所附圖式所繪示之結構、比例、大小等均僅用於配合說明書所揭示之內容,以供熟悉此技藝之人士之瞭解與閱讀,非用於限定本案可實施之限定條件,故任何修飾、改變或調整,在不影響本案所能產生之功效及所能達成之目的下,均應仍落在本案所揭示之技術內容得能涵蓋之範圍內。
如圖1所示,本發明之測試真實資料之方法主要包括以下步驟:
步驟S101:定義屬性標籤;
步驟S102:提取母體;
步驟S103:計算母體中各主鍵之屬性標籤組合;
步驟S104:將母體分層;
步驟S105:進行各分層之抽樣;
步驟S106:執行測試以計算各分層之錯誤率信賴限;
步驟S107:計算母體之錯誤率信賴限;以及
步驟S108:根據抽樣測試結果進行分層之全案例測試。
另外,本發明還提供一種用於測試真實資料之電腦可讀媒介,係應用於具有處理器(例如,CPU、GPU等)及/或記憶體的計算裝置或電腦中,且儲存有指令,並可利用此計算裝置或電腦透過處理器及/或記憶體執行此電腦可讀媒介,以於執行此電腦可讀媒介時執行上述之各步驟。
更進一步地,上述之步驟S101至S108係可搭配圖2至圖9的實施階段示意圖清楚了解,係如以下所詳述。
在本實施例中,步驟S101主要用於定義真實資料(Production Data)中關聯至主鍵(pk)的所有可能之屬性標籤(AT,Attribute Tag)的名稱、內容及其判斷函式,其中,本文所述之真實資料係軟體系統過去在執行時使用之歷史輸入資料及歷史輸出資料,並且歷史輸入資料可包括複數個主鍵(pk)及其對應的屬性資料。步驟S101主要包括如圖2所示之三步驟。
如圖2所示,步驟S101的步驟一係根據欲測試之軟體系統的設計文件撰寫用於辨識屬性標籤之條件判斷規則。詳細來說,可以是根據設計文件區別出軟體系統之各種功能函數及其變數值域範圍,進而撰寫成用於辨識各種功能函數的條件判斷規則(例如,圖2步驟一所示之條件判斷規則1至n),此處之功能函數即代表欲辨識之屬性標籤的內容。以電信固網帳務系統為例,在分析設計文件後可找出用於處理例如業務種類、流程狀態、記錄各類資料之觸發事件等作業之功能函數及其變數值域範圍,並可根據此分析結果撰寫出用於辨識上述功能函數的條件判斷規則。
在一實施例中,步驟一產生條件判斷規則的方式可以是由使用者透過計算裝置或電腦操作前述之電腦可讀媒介完成、由電腦可讀媒介自動分析設計文件而生成,或是其他合適作法,本發明並不以此為限。
步驟S101的步驟二係用於賦予步驟一撰寫之條件判斷規則對應之功能函數的屬性標籤名稱(例如,代表前述之各種功能函數的屬性標籤名稱)。例如,步驟一撰寫之條件判斷規則1至條件判斷規則n對應之功能函數的屬性標籤名稱可表示為AT1,AT2,...,ATn,並且可以SAT表示為所有屬性標籤(ATi,i=1,...,n)的集合。
在一實施例中,步驟二復包括檢查機制,係用於確認屬性標籤名稱集合SAT是否足以映射到軟體系統全部的功能函數。例如,檢查機制可比對設計文件中的所有功能函數是否皆有對應的屬性標籤名稱及條件判斷規則,若存在功能函數沒有對應之屬性標籤名稱或條件判斷規則的情況下,則重複進行步驟一及步驟二,直到通過檢查機制為止。
在另一實施例中,前述之步驟二及其檢查機制係可由使用者透過計算裝置或電腦操作前述之電腦可讀媒介完成、由電腦可讀媒介接收步驟一之結果後自動執行,或是其他合適作法,本發明並不以此為限。
步驟S101之步驟三係將步驟一產生之條件判斷規則(例如,條件判斷規則1至條件判斷規則n)撰寫為計算裝置或電腦可執行之用於標示屬性標籤之屬性標籤函式(例如,屬性標籤函式1至屬性標籤函式n)。透過此屬性標籤函式,可在將真實資料輸入本發明之方法或電腦可讀媒介後標示出各主鍵相關的屬性標籤(如屬性標籤集合SAT中的任一或一些者),其實施方式係如圖3及圖4所示。
在圖3及圖4所示之屬性標籤函式的示意圖中,可將歷史輸入資料中與一主鍵(pk)相關的屬性資料交由屬性標籤函式(例如,1至n)進行判斷,符合任一屬性標籤函式之條件判斷規則的屬性資料會被標示為此主鍵(pk)的屬性標籤(例如,1至n)。此處應當理解的是,主鍵(pk)與屬性標籤可以是一對多的關係,並且當歷史輸入資料中含有多個主鍵時(如圖4所示之pk:1至pk:n),各個主鍵皆會經屬性標籤函式判斷而被賦予各自的屬性標籤(如圖4所示之pk:1至pk:n及其各自的屬性標籤)的組合。
當步驟S101之步驟一至步驟三皆完成後,欲測試之軟體系統即完成屬性標籤之名稱、內容及屬性標籤函式之定義。然而應當理解的是,對應於軟體系統的功能函數或對應之變數值域範圍的改變(例如,軟體系統的版本更新造成功能函數之新增、刪減或條件判斷規則之改變的情況),本發明之方法或電腦可讀媒介亦會重新執行步驟S101以更新功能函數對應之屬性標籤名稱及屬性標籤函式的定義。
請回到圖1,本發明之方法或電腦可讀媒介係於步驟S102選擇適當時間範圍(例如,以軟體系統執行版本更新的時間作為選擇基準)的真實資料(包含歷史輸入資料及歷史輸出資料)作為執行雙軌或回歸測試之母體。此處選用之真實資料的時間範圍需與步驟S101定義之屬性標籤之名稱、內容及屬性標籤函式適用的時間範圍相符,舉例來說,在軟體系統於某一版本更新後造成功能函數對應之屬性標籤名稱及屬性標籤函式改變的情況下,則本發明之方法或電腦可讀媒介將不會選擇此版本更新以前的真實資料作為母體,以免造成所執行之測試無法完整映射軟體系統之功能函數的情形。此外,當步驟S102選定適當之母體後,亦會記錄母體中包含之所有主鍵(pk)及主鍵之總數量(亦稱為母數θ)。
接續於步驟S103,本發明之方法或電腦可讀媒介係將選擇之母體中的歷史輸入資料以步驟S101定義之屬性標籤函式替各主鍵(pk)標示屬性標籤。如圖3及圖4所示之實施方式,經步驟S103處理後之各主鍵(例如,pk:1至pk:n)將會得到各自的屬性標籤組合CAT',其中,C AT'
Figure 109111499-A0101-12-0008-20
S AT ,並且每一種標籤組合CAT'皆可被視為一種測試案例。
接續於步驟S104,本發明之方法或電腦可讀媒介係根據每個主鍵(pk:1至pk:n)的屬性標籤組合CAT'將母體進行分層,此時,具有相同內容之屬性標籤組合CAT'的主鍵(pk)將會被分到同一分層,屬性標籤組合CAT'相異之主鍵(pk)則會被分到互不重疊的相異分層。在一實施例中,步驟S104區分出的各分層例如可以Sj,j=1,2,...,J表示,並且還可小記各分層包含之主鍵(pk)的數量θj,j=1,2,...,J。在另一實施例中,步驟S104還可將各分層Sj代表之測試案例(即,屬性標籤組合CAT')依據其數量(即,對應之主鍵數量θj)整理成累積分布圖,以作為母體之測試案例的數量分布曲線(Distribution),進而輔助了解母體的測試涵蓋度。步驟S104之實施方式例如圖5及圖6所示。
圖5係圖示母體在步驟S104處被分層的示意圖,其中,各分層(即,各類測試案例)的面積大小即代表其所包含之主鍵(pk)數量的占比,然而,依據步驟S104進行分層的真實狀況(即,實際找出之屬性標籤組合的種類數量),母體可能被分為比圖5中所示更少或更多的分層。
圖6係圖示母體在步驟S104處被分層後呈現之母體測試案例(屬性標籤組合CAT')的數量分布曲線示意圖,其係將母體各分層代表之測試案例依據數量大小排序並累加至記錄完所有母體中的測試案例為止。
請回到圖1,在完成母體之分層後,本發明之方法或電腦可讀媒介係於步驟S105處對各分層之測試案例進行隨機抽樣。在此步驟中,進行隨機抽樣前會先預設每個分層(例如,層1至層n)預計抽樣之樣本大小nj,j=1,2,...,J,nj的數值係以中央極限定理為基準設置(例如,大於或等於30的值,在本實施例中係預設為34),以確保抽樣後進行測試的成功次數抽樣分配(Distribution of the Number of Successes)會趨近於常態分配,俾使母體之各分層完成測試後的整合結果更趨近於真實資料的實際狀況。另外,根據各分層包含的主鍵數量θj,還會依據以下抽樣規則設定各分層的實際抽樣之樣本大小nj
規則一:當分層的主鍵數量θj大於預設之樣本大小nj,則樣本大小nj維持預設值(例如,34),且此分層在進行隨機抽樣時將會挑選nj數量的測試案例進行測試。
規則二:當分層的主鍵數量θj小於nj時,則表示此分層之測試案例不足以形成常態分配的態樣,故針對此分層的抽樣將以不抽樣的全案例測試的方式(即,將樣本大小nj改為此分層之主鍵數量θj)進行。
圖7係圖示步驟S105進行各分層之隨機抽樣的示意圖,係圖示各分層(例如,層1至層n)的測試案例被隨機抽樣後送往標籤組合抽樣案例庫中。
在完成各分層之隨機抽樣後,本發明之方法或電腦可讀媒介係接續於步驟S106將前述步驟S105抽樣之測試案例執行測試,以計算各分層的錯誤信賴限,其主要流程係如圖8所示。
在圖8的局部流程示意圖中,標籤組合抽樣案例庫中的測試案例係如前述步驟S103至S105的方法產生,亦即,先將選定之母體的歷史輸入資料以屬性標籤函式判斷並找出各主鍵(pk)的屬性標籤組合,再依據各屬性標籤組合將母 體分層後進行隨機抽樣,以將抽樣之測試案例存入標籤組合抽樣案例庫中。之後,步驟S106係將標籤組合抽樣案例庫中的測試案例拿來執行待測試的軟體系統,並將執行結果存為測試輸出檔,接著將此測試輸出檔與母體的歷史輸出資料進行比對,此時與歷史輸出資料相符的測試案例(即,測試成功之測試案例)將會被產製為測試通過案例標籤組合類型分析報告,而與歷史輸出資料不符的測試案例(即,測試失敗之測試案例)將會被標記並產製為測試失敗案例標籤組合類型分析報告。
步驟S106還會將測試失敗的測試案例計算出各分層的錯誤率信賴限,其計算方法為:計算各分層測試失敗之測試案例的數量佔有抽樣之樣本大小nj的比例為分層錯誤比例
Figure 109111499-A0101-12-0010-21
,其中,j=1,2,...,J。接著,根據下列之情況判斷各分層的95%信賴限:
情況一、若是n j
Figure 109111499-A0101-12-0010-22
5且n j (1-
Figure 109111499-A0101-12-0010-51
)
Figure 109111499-A0101-12-0010-39
5,則此分層Sj的測試結果會近似於 常態分佈,故95%信賴限L j U j
Figure 109111499-A0101-12-0010-4
,且L j
Figure 109111499-A0101-12-0010-24
U j
情況二、若非情況一的情形,則可知此分層的
Figure 109111499-A0101-12-0010-25
係最大概似估計量 (MLE),故此分層Sj的95%信賴限為
Figure 109111499-A0101-12-0010-3
接續於步驟S106,本發明之方法或電腦可讀媒介復於步驟S107匯總母體的錯誤率信賴限,其計算公式如下:
Figure 109111499-A0101-12-0010-1
其中,θ係代表主鍵之母數;θj係代表分層之主鍵數量;並且
Figure 109111499-A0101-12-0011-36
Figure 109111499-A0101-12-0011-42
係代表母體的95%信賴限,此95%信賴限係可用於估計母體之正確率。
最後於步驟S108處,本發明之方法或電腦可讀媒介係根據測試失敗之測試案例所屬的分層執行不抽樣的全案例測試,以提升測試精準度。其詳細流程係如圖9所示。
圖9的繪示內容係接續於圖8,其中,所示第一次測試作業係代表步驟S106所執行之測試作業,其輸出之比對結果係交由步驟S108判斷需進行不抽樣的全案例測試(即,第二次測試作業)的分層,舉例來說,可設定當分層Sj的分層錯誤機率
Figure 109111499-A0101-12-0011-38
大於某臨界值時才被選為不抽樣的全案例測試(第二次測試作業)的對象,此時,完成第二次測試作業的分層中的失敗測試案例會於步驟S108中產製為測試報告(測試失敗列表),以提供使用者調閱並進行後續的軟體系統修正作業。
由上述可知,藉由執行圖1之步驟流程,軟體系統的管理者在執行雙軌或回歸測試時,不需要把全部的真實資料一一測試,而是以分層抽樣的方式進行真實資料的測試並根據抽樣測試結果估計真實資料母體正確率,再針對分層錯誤比例高於臨界值的分層進行不抽樣的全案例測試,因此能夠提高篩選測試案例的效率、加快測試速度、避免測試大量資料的高負載問題、維持測試結果的等價性及確保測試案例的測試涵蓋度。
圖10至圖14係本發明之方法或電腦可讀媒介之實施例示意圖。本實施例係以一電信固網帳務系統作為雙軌或回歸測試之對象,而圖10係為分析此電信固網帳務系統之設計文件(如前述圖1之步驟S101)後得到之與光纖業務相關的所有屬性標籤,包括與電路型別(功能函數)相關之屬性標籤「0001_FTTB經 濟型」、與使用狀態相關之屬性標籤「2113_拆機」及與屬性標籤異動相關之屬性標籤「1001_無異動」等。此處應理解的是,圖10內容僅為電信固網帳務系統之所有屬性標籤的部分擷取內容,其屬性標籤是可根據設計文件無限窮舉,以達到完全映射此系統之所有功能函數的目的。
圖11係圖示本發明之方法或電腦可讀媒介依所提取之母體分類出主鍵(pk)之屬性標籤組合(如圖1之步驟S103)的示意圖。假設所取用之母體為107年10月第一週期的出帳資料(簡稱10710C1),則圖11內容係此出帳資料中所有註冊於電信固網帳務系統下之設備之設備編號(即主鍵(pk))及對應標示的屬性標籤組合內容。圖11僅為此出帳資料經整理後的部分擷取內容,然而,此出帳資料中包含之主鍵(pk)及其屬性標籤組合之數量可能極為龐大,例如,本實施例中主鍵之母數θ(即,設備總數量)可達到170萬筆。
圖12係圖示本發明之方法或電腦可讀媒介將母體(10710C1)分層後整理之屬性標籤組合累加示意圖(如圖1之步驟S104)。在圖12中,每一種屬性標籤組合係一種測試案例,且具有相同屬性標籤組合的設備編號(主鍵)係被分到同一分層(例如,Sj,j=1,2,...,J),並依據分層中的設備總數(例如,θj,j=1,2,...,J)由大到小累加並記錄母體的累計百分比。
圖12之內容還可轉換為如圖13所示之母體(10710C1)的數量分布曲線示意圖。在此可以清楚看出,母體的各分層之測試案例數量係呈現指數分布(Exponential Distribution),且透過此數量分布曲線示意圖,可輔助了解母體的測試涵蓋度。
圖14係揭示將分層後之母體(10710C1)執行分層抽樣測試的流程圖。如前述圖1之步驟S103至S107的流程,母體(10710C1)經標籤屬性函式標示並 依據各主鍵(pk)分層後,假設得到母體之各分層為Sj,j=1,2,...,J、各分層之設備數量為θj,j=1,2,...,J、且預設每個分層提取之樣本大小nj為34筆,則分層Sj之設備數量θj大於34者可進行34筆測試案例的隨機抽樣,而分層之設備數量θj小於34者則直接進行不抽樣的全案例測試。接著,每一分層抽樣出的測試案例係被儲存至10710C1標籤組合抽樣案例資料庫中,以用於執行待測之電信固網帳務系統並輸出測試輸出檔(第一次測試)。
如先前所述,測試輸出檔係用於跟母體(10710C1)之出帳輸出資料比對以產出測試失敗案例標籤組合類型報告或測試通過案例標籤組合類型分析報告。在本實施例中,假設比對得出母體(10710C1)抽樣測試中有2035筆失敗的測試案例,此匹測試案例係被予以標記並計算為各分層的分層錯誤比例
Figure 109111499-A0101-12-0013-26
,j=1,2,...,J(即,失敗測試案例的筆數佔抽樣樣本大小nj的比例)。
各分層的分層錯誤比例
Figure 109111499-A0101-12-0013-43
係用於計算各分層的95%信賴限。在本實施例中,母體(10710C1)中95%信賴限為常態分布(即,前述之情況一:n j
Figure 109111499-A0101-12-0013-50
5且n j (1-
Figure 109111499-A0101-12-0013-29
)
Figure 109111499-A0101-12-0013-30
5的情形)之分層總共有53個,且95%信賴限為最大概似估計量(即,前述之情況二的情形)之分層總共有3060個,且其中的188個分層之分層錯誤比例pj係大於0,則母體(10710C1)匯總的95%信賴限則可表示為:
Figure 109111499-A0101-12-0013-5
,其中,本實施例計算出的
Figure 109111499-A0101-12-0014-31
Figure 109111499-A0101-12-0014-32
分別為3.60%及3.07%,亦即,本電信固網帳務系統真正的錯誤率有95%的機率是介於3.60%及3.07%之間,與本實施例中母體真正的錯誤率p=3.17%是相符合的,故此95%信賴限可進一步用於估計母體之正確率。
最後,可針對母體(10710C1)中分層錯誤比例
Figure 109111499-A0101-12-0014-48
超過預設值的分層(例如,前述分層錯誤比例
Figure 109111499-A0101-12-0014-47
大於0的188個分層)進行不抽樣的全案例測試(第二次測試),以盡量找出此些分層中所有失敗的測試案例,以提升測試精準度。舉例來說,本實施例於第一次測試中僅抽樣測試母體(10710C1)中6%的測試案例,並在針對分層錯誤比例pj大於0的188個分層進行第二次測試後,共找出53222筆失敗的測試案例,達到了母體(10710C1)實際的失敗測試案例數量(例如,1,700,000 * 3.17%=53,8901筆)的98.76%,十分趨近於對整個母體(10710C1)作不抽樣的全案例測試的測試涵蓋度。由此可知,本發明之方法及電腦可讀媒介不僅能大幅減少執行測試時需耗費之資源及時間,還能在少量測試下維持大型軟體系統之測試結果的等價性。
綜上所述,本發明之測試真實資料之方法及電腦可讀媒介在執行大型軟體系統之雙軌或回歸測試時,不需要把全部的真實資料一一測試,而是以分層抽樣的方式進行真實資料的測試並根據抽樣測試結果估計真實資料母體的正確率,再針對分層錯誤比例高於臨界值的分層進行不抽樣的全案例測試,因此能夠提高篩選測試案例的效率、加快測試速度、避免測試大量資料的高負載問題、維持測試結果的等價性及確保測試案例的測試涵蓋度。
上述實施形態僅例示性說明本發明之原理、特點及其功效,並非用以限制本發明之可實施範疇,任何熟習此項技藝之人士均可在不違背本發明之精神及範疇下,對上述實施形態進行修飾與改變。任何運用本發明所揭示內 容而完成之等效改變及修飾,均仍應為申請專利範圍所涵蓋。因此,本發明之權利保護範圍,應如申請專利範圍所列。
S101~S108:步驟

Claims (9)

  1. 一種測試真實資料之方法,包括:
    選擇待測試之軟體系統適用之歷史輸入資料及對應之歷史輸出資料為母體;
    藉由屬性標籤函式辨識該歷史輸入資料中的測試案例;
    將該母體依據各該測試案例的種類分層以取得該母體之分層;
    對各該母體之分層進行抽樣測試以取得測試結果;以及
    依據該抽樣測試之測試結果計算該母體之錯誤信賴限。
  2. 如請求項1所述之方法,其中,該屬性標籤函式係根據該軟體系統之功能函數及其對應之變數值域範圍所定義者。
  3. 如請求項2所述之方法,其中,該母體係依據該功能函數及該變數值域範圍隨該軟體系統之版本而變化之時間區間所選擇者。
  4. 如請求項1所述之方法,其中,該測試案例係包括主鍵及屬性標籤組合,且將該母體依據各該測試案例的種類分層之步驟係將該歷史輸入資料中具有相同之該屬性標籤組合之測試案例分至同一該母體之分層。
  5. 如請求項4所述之方法,其中,該對各該母體之分層進行抽樣測試之步驟係包括下列子步驟:
    設定該分層之樣本大小;
    根據該所設定之樣本大小從該分層抽取對應數量之該測試案例並儲存於抽樣案例庫中;
    以該抽樣案例庫中的測試案例執行該軟體系統並輸出測試輸出檔;
    比對該測試輸出檔與該歷史輸出資料,以根據比對結果產製分析報告;以及
    根據該比對結果計算該分層之分層錯誤比例,其中,該分層錯誤比例係該分層中之測試案例為測試錯誤之筆數佔該樣本大小的比例。
  6. 如請求項5所述之方法,其中,該設定該分層之樣本大小之方式係包括:
    當該分層包含之該主鍵的數量大於或等於中央極限定理預設值時,該樣本大小係設定為該中央極限定理預設值,而當該分層包含之該主鍵的數量小於該中央極限定理預設值時,該樣本大小係設定為該分層之該主鍵的數量。
  7. 如請求項1所述之方法,其中,該抽樣測試係用於計算各該分層之分層錯誤比例,且依據該抽樣測試之測試結果計算該母體之錯誤信賴限之步驟係包括下列子步驟:
    分別根據各該分層之分層錯誤比例計算各該分層之錯誤信賴限;以及
    將各該分層之錯誤信賴限匯總為該母體之錯誤信賴限。
  8. 如請求項7所述之方法,復包括:對該分層之該錯誤比例超過預設值者進行全案例測試,以將測試失敗之測試案例輸出為測試失敗列表。
  9. 一種電腦可讀媒介,應用於計算裝置或電腦中,係儲存有指令,以執行如請求項1至8所述之方法。
TW109111499A 2020-04-06 2020-04-06 測試真實資料之方法及電腦可讀媒介 TWI755702B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW109111499A TWI755702B (zh) 2020-04-06 2020-04-06 測試真實資料之方法及電腦可讀媒介

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109111499A TWI755702B (zh) 2020-04-06 2020-04-06 測試真實資料之方法及電腦可讀媒介

Publications (2)

Publication Number Publication Date
TW202139009A true TW202139009A (zh) 2021-10-16
TWI755702B TWI755702B (zh) 2022-02-21

Family

ID=79600933

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109111499A TWI755702B (zh) 2020-04-06 2020-04-06 測試真實資料之方法及電腦可讀媒介

Country Status (1)

Country Link
TW (1) TWI755702B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103608682B (zh) * 2011-05-05 2017-01-18 安派科生物医学科技有限公司 肿瘤细胞检测仪
US8971843B2 (en) * 2011-09-30 2015-03-03 Amana Future, Llc Communication tracking and billing system
TW201514688A (zh) * 2013-10-07 2015-04-16 Chunghwa Telecom Co Ltd 運用帳務異動資料篩選出帳品管之驗證案例之方法
TWI539298B (zh) * 2015-05-27 2016-06-21 國立成功大學 具取樣率決定機制的量測抽樣方法 與其電腦程式產品
TWI733017B (zh) * 2018-04-03 2021-07-11 中華電信股份有限公司 電腦裝置及其測試推算方法
TWI676942B (zh) * 2018-05-16 2019-11-11 中華電信股份有限公司 應用於帳務領域之批次執行的加速測試方法與系統
CN109960653A (zh) * 2019-02-18 2019-07-02 天津五八到家科技有限公司 回归测试方法、装置、设备和存储介质

Also Published As

Publication number Publication date
TWI755702B (zh) 2022-02-21

Similar Documents

Publication Publication Date Title
Fan et al. The impact of mislabeled changes by szz on just-in-time defect prediction
Huang et al. Revisiting supervised and unsupervised models for effort-aware just-in-time defect prediction
Theisen et al. Approximating attack surfaces with stack traces
US8799859B2 (en) Augmented design structure matrix visualizations for software system analysis
CN111459799A (zh) 一种基于Github的软件缺陷检测模型建立、检测方法及系统
WO2019056720A1 (zh) 自动化测试用例管理方法、装置、设备及存储介质
Theisen et al. Risk-based attack surface approximation: how much data is enough?
US20120173498A1 (en) Verifying Correctness of a Database System
CN105159827A (zh) 一种面向gui软件的可靠性加速测试方法
US20180232299A1 (en) Composing future tests
US9734042B1 (en) System, method, and computer program for automated parameterized software testing
CN107168868A (zh) 一种基于采样和集成学习的软件更改缺陷预测方法
Ghazarian Characterization of functional software requirements space: The law of requirements taxonomic growth
CN111752833A (zh) 一种软件质量体系准出方法、装置、服务器及存储介质
Zhao et al. A large-scale empirical study of real-life performance issues in open source projects
CN108399284A (zh) 一种基于偏差约减的大数据交易模型分析与修复方法
TW202139009A (zh) 測試真實資料之方法及電腦可讀媒介
Fournier et al. Automatic cause detection of performance problems in web applications
CN106844218B (zh) 一种基于演化切片的演化影响集预测方法
Aggarwal Software code analysis using ensemble learning techniques
CN113342651A (zh) 一种用于测试用例缺陷与用例模糊关联关系的恢复方法
CN114328265A (zh) 一种软件安全性分析方法及系统
CN113342632A (zh) 仿真数据自动化处理方法、装置、电子设备及存储介质
Ostrand et al. Predicting bugs in large industrial software systems
CN107402920A (zh) 确定关系数据库表关联复杂度的方法和装置