TW201512838A - 測試案例優先排序方法 - Google Patents

測試案例優先排序方法 Download PDF

Info

Publication number
TW201512838A
TW201512838A TW102135026A TW102135026A TW201512838A TW 201512838 A TW201512838 A TW 201512838A TW 102135026 A TW102135026 A TW 102135026A TW 102135026 A TW102135026 A TW 102135026A TW 201512838 A TW201512838 A TW 201512838A
Authority
TW
Taiwan
Prior art keywords
demand
test
file
analysis
test case
Prior art date
Application number
TW102135026A
Other languages
English (en)
Inventor
Hao-Ting Lin
Jia-Yan Zhan
Geng-Zhao Li
Original Assignee
Chunghwa Telecom Co Ltd
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 Chunghwa Telecom Co Ltd filed Critical Chunghwa Telecom Co Ltd
Priority to TW102135026A priority Critical patent/TW201512838A/zh
Publication of TW201512838A publication Critical patent/TW201512838A/zh

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

一種測試案例優先排序方法,主要係應用資料探勘技術管理、分析各相關文件建立規則,評估新需求可能造成的邊界效應,提高回歸測試的效率及文件內容的正確性,進而提昇軟體品質,並透過分析歷史程式異動清單和需求屬性的關係建立資料探勘規則,並演算出可能需求屬性集合,優先排序歷史測試案例提高回歸測試的效率,透過分析比對機制提供各相關文件內容修訂的判斷依據進而提昇內容正確性,以避免在需求新增及異動時配合撰寫的分析、開發及測試等等文件,因分析不完全或設計錯誤等疏失導致系統功能上線後產生功能缺陷之問題發生。

Description

測試案例優先排序方法
本發明係一種在軟體需求新增及異動時,透過分析比對提供各相關文件內容修訂的判斷依據進而提昇內容正確性的測試案例優先排序方法。
因應使用者需求的不斷新增及異動,軟體功能也隨之異動頻繁,相對應的文件亦需一併新增及修訂,如用來描述使用者對於系統功能的訴求的需求文件及用來描述因應需求文件而產生分析文件等。為了確保軟體品質,在軟體開發各階段,需確認各相關文件內容符合需求文件所述,除針對該需求設定相關測試案例外,為了檢驗軟體原有的功能亦能維持正常運作,需要透過回歸測試去驗證軟體功能仍具正確性,然而,隨著軟體系統功能越來越複雜,有限的時間內要執行測試案例越來越多的情況,維持一定的測試覆蓋率並有效率地執行測試案例視為一個重要議題。
美國專利US 20080126867A1,運用原先組件程式和異動程式組件交互比對,比對可能修改的程式模組範圍,並針對此修改模組的範圍去資料庫內選擇適合的測試案例確保軟體開發的品質,然而,此項專利僅著重在程式的覆蓋率,忽略了現實狀況,即使測試全部修改的相關程式使程式覆蓋率達到100%,還是無法確保軟體的舊有功能在程式修改後還可符合使用者的需求,另外,此專利也缺乏對於軟體研發流程相關文件的管理。
本發明之主要目的在於提供一種提高回歸測試的效率及文件內容的正確性,進而提昇軟體品質之測試案例優先排序方法。
本發明之次要目的在於提供一種在軟體需求新增及異動時,或測試活動進行前,透過分析比對機制提供各相關文件內容修訂的判斷依據進而提昇內容正確性之測試案例優先排序方法。
本發明之又一目的在於提供一種在測試活動進行中,優先排序歷史測試案例提高回歸測試效率測試案例優先排序方法。
為達上述目的,本發明之試案例優先排序方法,主要係建立一需求文件及一產生需求屬性追朔表,先利用資料探勘模型和演算法分析歷史程式異動清單和需求屬性的關係,確立資料探勘規則,再利用資料探勘規則推論此次程式異動清單的可能需求屬性集合SRA',然後將可能需求屬性集合SRA'和此次需求新增及異動的相關文件內容透過比對分析機制做比對,確認相關文件內的需求屬性追溯表包含的需求屬性集合SRA是否已有存在可能需求屬性集合SRA',再將SRA'和歷史的測試案例的SRA做交叉比對,產生優先排序的測試案例並執行回歸測試,最後於測試活動進行前重新檢視相關文件內容提昇正確性,並於測試活動進行中優先排序歷史測試案例提高回歸測試效率,以提昇軟體品質。
101‧‧‧建立需求文件
102‧‧‧產生需求屬性追朔表
103‧‧‧利用資料探勘技術及演算法分析演算出可能需求屬性集合SRA'
104‧‧‧將SRA'和此次需求新增及異動的相關文件內容透過比對分析機制做比對,確認相關文件內的需求屬性追溯表包含的SRA是否已有存在SRA'
105‧‧‧將SRA'和歷史的測試案例的SRA做交叉比對,產生優先排序的測試案例並執行回歸測試
21‧‧‧需求文件
211‧‧‧需求屬性集合SRA
22‧‧‧分析文件
221‧‧‧需求屬性集合SRA
23‧‧‧程式異動清單
231‧‧‧需求屬性集合SRA
24‧‧‧測試案例
241‧‧‧需求屬性集合SRA
第1圖 為本發明試案例優先排序方法之流程圖;第2圖 為本發明試案例優先排序方法之需求文件;第3圖 為本發明試案例優先排序方法之分析文件; 第4圖 為本發明試案例優先排序方法之程式異動清單;第5圖 為本發明試案例優先排序方法之測試案例。
請參閱第1圖,本發明之試案例優先排序方法,其係軟體系統因使用者需求而針對軟體的功能進行新增或修改,主要流程包括:
步驟一、建立需求文件101
步驟二、產生需求屬性追溯表102
步驟三、利用資料探勘技術及演算法分析演算出可能需求屬性集合SRA' 103
步驟四、將SRA'和此次需求新增及異動的相關文件內容透過比對分析機制做比對,確認相關文件內的需求屬性追溯表包含的SRA是否已有存在SRA' 104
步驟五、將SRA'和歷史的測試案例的SRA做交叉比對,產生優先排序的測試案例並執行回歸測試105。
請參閱第1~5圖,本發明之試案例優先排序方法,其中步驟一及步驟二,依據需求文件21的內容,先明確標示需求屬性RA(Requirement Attributes)211和各文件中要清楚標明和需求屬性的對應關係,即需求屬性追溯表,該需求文件21定義了需求屬性集合SRA211={RA1,RA2,……,RAn},並依需求屬性集合SRA211撰寫相關文件,該相關文件包括分析文件22、程式異動清單23及測試案例(Test Cases)24,分析文件22包含分析文件n與各需求屬性集合SRA221={RA1,RA2,……,RAn}的關係,如表一分析文件表格中紀錄RA1及RA2和分析文件的章節對應關係,從表一中可清楚得知RA2在此分析文件21中對應的章節為3.1、3.2、3.3和3.4,程式異動清單23包含程式異動清單n與各需求屬性集合SRA231={RA1,RA2,……,RAn}的關係,如表二程式異動清單表格中紀錄異動的程式和RA1及RA2的關係,從表二中可清楚得知RA1在此次需異動程式A007、A010、A011及A032,RA2在此次需異動程式A003、A005及A038,另外,測試案例(Test Cases)24,應包含TCn與各需求屬性集合SRA241={RA1,RA2,……,RAn}的關係,如表三測試案例表格中紀錄測試案例和RA1及RA2的關係,從此表中可清楚得知RA1對應了TC1和TC2,RA2對應TC1
請參閱第1~5圖,本發明之試案例優先排序方法,其中該步驟三、利用資料探勘技術及演算法分析演算出可能需求屬性集合SRA' 103,首先針對欲分析的資料配合欲選擇的資料探勘模型進行整理,透過資料探勘技術的關聯規則模型進行分析,關聯規則模型可定義相關輸出參數設定,如可定義規則的最小機率及最低重要性,如表四所示,可定義項目集的最小支援、項目集大小下限及最大資料列數,如表五所示,及相依性網路關係圖可調整連接顯示的強弱關係,可使軟體系統的需求定義使訓練出來的規則更具有參考價值,分析出來的結果如表四可顯示各程式和需求屬性的重要性,其中程式A038對於需求屬性RA3的重要性大於程式A038對於需求屬性RA2的重要性,再配合從分析結果,可以得知當設定特定的強弱關係,透過資料探勘的技術可以去除弱連結,僅顯示程式和需求屬性間的強連結,可以解釋為程式A003、A005及A0038和需求屬性RA2和RA3有關聯性較強的連結,然後,將此次需求新增及異動的新產生的程式異動清單以資料探勘的規則為基礎做分析比較,推論出此程式異動清單的可能需求屬性SRA',如表二程式異動清單為例,此次異動的程式為A003、A005、A008、A007、A010、A011及A032,雖然文件中紀錄這些程式是因為RA1和RA2所異動,但是依據前一流程資料探勘的規則發現此次異動的程式A003、A005及A038和RA2及RA3存在關聯性較強的連結,進而推論此次異動程式的SRA'={RA1、RA2、RA3}。
本發明之試案例優先排序方法,該步驟四、將SRA'和此次需求新增及異動的相關文件內容透過比對分析機制做比對,確認相關文件內的需求屬性追溯表包含的SRA是否已有存在SRA' 104,若SRA'≧SRA,透過比對 分析機制確認文件內容確實缺漏SRA'的內容描述,則請相關人員修訂對應的內容,確保文件的正確性,本實施例中SRA'={RA1、RA2、RA3},但此分析文件中SRA={RA2},比對分析機制已存在RA1也應該存在於文件內容中的規則,則分析人員必須對該分析文件內容及需求屬性追溯表修訂為SRA={RA1、RA2、RA3},以確保文件內容的正確性;而若SRA'≦SRA,比對分析機制內無該規則,且經相關人員確認文件內容確實需含有SRA-SRA'的內容,則文件不需修改但必須將該規則設定於比對分析機制,此實施例中SRA'={RA1、RA2、RA3},若此分析文件SRA={RA1、RA2、RA3、RA4},則表示該分析文件所涵蓋的需求屬性SRA多於SRA',比對分析機制內無該規則,且經分析人員確認RA4確實是需要新增的需求屬性,文件內容則不需修訂但必須將該規則設定於比對分析機制;比對分析機制內已存在該規則,則需移除分析文件中對於RA4的相關描述。
另外,該步驟五、將SRA'和歷史的測試案例的SRA做交叉比對,產生優先排序的測試案例並執行回歸測試105,若SRA'≦SRA,則此歷史測試案例優先度最高,此實施例中SRA'={RA1、RA2、RA3},若有歷史測試案例的SRA1={RA1、RA2、RA3、RA4}、SRA2={RA1、RA2}及SRA3={RA1、RA2、RA3},則此三個是歷史測試案例優先排序為SRA1>SRA3>SRA2,而若SRA'≧SRA,則使歷史測試案例的優先度依其SRA' ∩ SRA的數量多寡,交集需需求屬性越多則優先度越高;反之,依序遞減,此實施中SRA'={RA1、RA2、RA3},若有歷史測試案例SRA2={RA1、RA2}、SRA3={RA1}及SRA4={RA2},則此三個歷史測試案例優先排序為SRA2>SRA3=SRA4
綜上所述,本發明之測試案例優先排序方法,可於測試活動 進行前重新檢視相關文件程式的正確性,並於測試活動進行中優先排序歷史測試案例提高回歸測試效率,因此可確保軟體的舊有功能在程式修改後還可符合使用者的需求,並同時可對軟體研發流程相關文件進行管理。
上列詳細說明係針對本創作之一可行實施例之具體說明,惟該實施例並非用以限制本創作之專利範圍,凡未脫離本創作技藝精神所為之等效實施或變更,均應包含於本案之專利範圍中。
101‧‧‧建立需求文件
102‧‧‧產生需求屬性追溯表
103‧‧‧利用資料探勘技術及演算法分析演算出可能需求屬性集合SRA'
104‧‧‧將SRA'和此次需求新增及異動的相關文件內容透過比對分析機制做比對,確認相關文件內的需求屬性追溯表包含的SRA是否已有存在SRA'
105‧‧‧將SRA'和歷史的測試案例的SRA做交叉比對,產生優先排序的測試案例並執行回歸測試

Claims (6)

  1. 一種優先案例測試排序方法,主要係軟體系統因使用者需求而針對軟體的功能進行新增或修改,其流程步驟包括:步驟一、建立一需求文件,該需求文件內對需求屬性集合SRA進行定義;步驟二、產生需求屬性追朔表,該需求屬性追朔表係依據需求文件內容標示需求屬性及需求屬性與各相關文件的對應關係所產生;步驟三、利用資料探勘模型和演算法分析歷史程式異動清單和需求屬性的關係,確立資料探勘規則;步驟四、利用資料探勘規則推論此次程式異動清單的可能需求屬性集合SRA';步驟五、將可能需求屬性集合SRA'和此次需求新增及異動的相關文件內容透過比對分析機制做比對,確認相關文件內的需求屬性追溯表包含的需求屬性集合SRA是否已有存在可能需求屬性集合SRA',透過比對分析機制確認文件內容確實缺漏SRA'的內容描述,則需修訂文件內容;若SRA'≧SRA,若SRA'≦SRA,比對分析機制內無該規則,且經相關人員確認文件內容確實需含有SRA-SRA'的內容,則文件不需修改但必須將該規則設定於比對分析機制;步驟六、將SRA'和歷史的測試案例的SRA做交叉比對,產生優先排序的測試案例並執行回歸測試,若SRA'≦SRA,則此歷史測試案例優先度最高,若SRA'≧SRA,則使歷史測試案例的優先度依其SRA' ∩ SRA的數量多寡,交集需需求屬性越多則優先度越高,反之,依序 遞減。
  2. 如請求項1所述之優先案例測試排序方法,其中該相關文件包括分析文件、程式異動清單及測試案例。
  3. 如請求項2所述之優先案例測試排序方法,其中該分析文件包括分析文件與各需求屬性集合的對應關係。
  4. 如請求項2所述之優先案例測試排序方法,其中該程式異動清單包括程式異動清單與各需求屬性集合的對應關係。
  5. 如請求項2所述之優先案例測試排序方法,其中該測試案例包括測試案例與各需求屬性集合的對應關係。
  6. 如請求項1所述之優先案例測試排序方法,其中該資料探勘模型和演算法為關聯規則的Apriori及決策樹的ID3,或其他等效演算法。
TW102135026A 2013-09-27 2013-09-27 測試案例優先排序方法 TW201512838A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW102135026A TW201512838A (zh) 2013-09-27 2013-09-27 測試案例優先排序方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102135026A TW201512838A (zh) 2013-09-27 2013-09-27 測試案例優先排序方法

Publications (1)

Publication Number Publication Date
TW201512838A true TW201512838A (zh) 2015-04-01

Family

ID=53437135

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102135026A TW201512838A (zh) 2013-09-27 2013-09-27 測試案例優先排序方法

Country Status (1)

Country Link
TW (1) TW201512838A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104820636A (zh) * 2015-04-09 2015-08-05 北京轩宇信息技术有限公司 一种并行的基于蚁群算法的测试用例序列生成方法
CN107402859A (zh) * 2016-05-19 2017-11-28 纬创资通股份有限公司 软件功能验证系统及其验证方法
TWI655535B (zh) * 2017-11-15 2019-04-01 兆豐國際商業銀行股份有限公司 程式異動管理系統及程式異動管理方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104820636A (zh) * 2015-04-09 2015-08-05 北京轩宇信息技术有限公司 一种并行的基于蚁群算法的测试用例序列生成方法
CN104820636B (zh) * 2015-04-09 2017-11-07 北京轩宇信息技术有限公司 一种并行的基于蚁群算法的测试用例序列生成方法
CN107402859A (zh) * 2016-05-19 2017-11-28 纬创资通股份有限公司 软件功能验证系统及其验证方法
US10467221B2 (en) 2016-05-19 2019-11-05 Wistron Corporation Software function verification system and software function verification method
CN107402859B (zh) * 2016-05-19 2020-11-03 纬创资通股份有限公司 软件功能验证系统及其验证方法
TWI655535B (zh) * 2017-11-15 2019-04-01 兆豐國際商業銀行股份有限公司 程式異動管理系統及程式異動管理方法

Similar Documents

Publication Publication Date Title
Felderer et al. Integrating risk-based testing in industrial test processes
US11755319B2 (en) Code development management system
WO2020233330A1 (zh) 批量测试方法、装置及计算机可读存储介质
Krüger et al. Towards a better understanding of software features and their characteristics: A case study of marlin
US10380265B2 (en) Statistical process control and analytics for translation supply chain operational management
EP2413242B1 (en) System and method for test strategy optimization
US9569737B2 (en) Methods and tools for creating and evaluating system blueprints
US10223654B2 (en) Automated, accelerated prototype generation system
JP5564448B2 (ja) ソフトウェアの類似性評価方法
CN103092761A (zh) 基于差异信息文件识别和检查修改代码块的方法及装置
An et al. An empirical study of crash-inducing commits in mozilla firefox
TW201512838A (zh) 測試案例優先排序方法
US20160125024A1 (en) Product navigator
Kessentini et al. Automated co-evolution of metamodels and transformation rules: A search-based approach
de Lima et al. Toward prioritization of self-admitted technical debt: an approach to support decision to payment
Hayes et al. Measuring requirement quality to predict testability
US20100030732A1 (en) System and method to create process reference maps from links described in a business process model
Giachetti et al. Model-driven gap analysis for the fulfillment of quality standards in software development processes
US20120330703A1 (en) Migrating business process instances
Kumar et al. Non-functional requirements elicitation in agile base models
Thomas et al. An innovative and automated solution for NERC PRC-027-1 compliance
Jiang et al. A BIM-based code checking approach for green construction
Hovorushchenko et al. Agent-Oriented Information Technology for Assessing the Initial Stages of the Software Life Cycle.
Sethi et al. Information system and system development life cycle
CN109165442B (zh) 一种设计规则处理方法、智能终端及存储介质