TWI676942B - 應用於帳務領域之批次執行的加速測試方法與系統 - Google Patents
應用於帳務領域之批次執行的加速測試方法與系統 Download PDFInfo
- Publication number
- TWI676942B TWI676942B TW107116598A TW107116598A TWI676942B TW I676942 B TWI676942 B TW I676942B TW 107116598 A TW107116598 A TW 107116598A TW 107116598 A TW107116598 A TW 107116598A TW I676942 B TWI676942 B TW I676942B
- Authority
- TW
- Taiwan
- Prior art keywords
- breakpoint
- execution
- case
- program
- definition
- Prior art date
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本發明提出應用於帳務領域之批次執行的加速測試方法與系統,先對初版程式碼進行掃描與分析,透過判讀程式執行流程之各個細部邏輯點與程式預存之特徵註記,將程式依階層歸類、切割各執行斷點、產出各斷點之執行路徑記錄,接著,輸入案例特徵情境以轉換成案例斷點路徑定義,再針對新進斷點進行耦合度分析、已知斷點進行新舊對應分析,產出案例邏輯斷點前處理清單,最後,執行此前處理清單,而每一個案例由差異斷點開始執行,套用前一已知斷點之環境前置參數及執行產出物,以此類推至所有案例前處理清單執行完成,並視需求執行定版更新回饋。
Description
本發明係有關系統功能修改之整合測試技術,詳而言之,係關於一種應用於帳務領域之批次執行的加速測試方法與系統。
現行業界普遍存在系統開發時程緊湊,開發人員因時程受限而無法徹底落實各種單元測試,因而導致缺陷或錯誤之現象,特別針對帳務領域系統之批次作業,因邏輯規則判斷較複雜、執行時間較耗時、細部問題查找不易、案例涵蓋度難以完全,進而影響更為顯著,軟體品質亦相對面臨更大風險。另外,因軟體開發產業之測試資源常在現實環境下被排擠壓縮,測試人員亦往往受限於需求分析設計上的認知落差,使得黑箱測試易存在案例盲點,容易造成錯誤。此外,在眾多產業別之帳務相關批次作業中,均因資料量龐大、處理邏輯複雜,需花費跨日、甚至跨月的執行時間,在緊縮受限的測試時程中,更是一大挑戰。因此能有一套縮短案例執行時間、充份再利用已知測試數據、
使測試活動更具效率之技術勢在必行。
在現有技術中,有人提出一種被測試資料還原方法,主要關於運用於資料庫管理系統上之資料回復方法,其中,當執行資料還原時,作業回復處理器會先鎖定同一帳號所產生之衍生資料,進行還原,且可多人同時對於不同帳號的資料進行回復,並建立對應的作業回復紀錄,可將測試資料恢復到系統程序執行前之狀態,並且達到重複利用測試資料進行回歸測試之目的。然上述技術之應用範疇乃針對資料庫管理系統之資料回復,其重點技術為利用選定帳號之作業程序識別碼與作業執行紀錄檔,使資料表格異動之欄位值回復至執行前之狀態。另外,還有人提出一種應用於測試案例再利用之方法,主要技術是結合測試案例和測試案例屬性分析,將測試屬性利用條件機率與期望分析的運算,找出符合搜尋條件之測試案例並進行案例排序,進而提供測試人員選擇有效可再利用的測試案例,然而,上述技術揭露中,主要經過系統化分析屬性關聯,自動提升測試案例之再利用性,且透過元件數值運算,可挑選出最符合使用者期望之測試案例。另外,決策分析元件經多次動態更新屬性權重,使得屬性權重達到穩態值,確保機率與期望分析結果。惟上述技術之目的是為了透過運算決策分析元件,有效選擇符合期望之測試案例,其加速重點在於降低測試案例的搜尋時間,其再利用性乃是指案例本身被重覆執行,但並未提及案例執行處理時間之加速因子,亦未能著墨於系統程式碼元件與測試案例間是否能有效對
應涵蓋。
由上可知,若能找出一種系統功能修改之整合測試技術,特別是,適用於開發元件耦合度不高、邏輯切割清楚明確之帳務系統,針對一般系統需求修改之功能整合測試而提供較佳執行效益,藉以提升效能與效率,此將成為目前本技術領域人員急欲解決之技術問題。
本發明之目的係提出一種系統原始碼白箱邏輯解構、程式階層斷點自動分析切割之比對技術,不同於現有版控軟體提供之功能,僅限於程式碼差異比對或程式間之單純呼叫關聯,更提供程式碼經由分析後得以產出完整邏輯斷點之執行路徑與程式更版之連動差異分析,亦可配合開發人員之程式細部重構,得以彈性化調適修改。
本發明之另一目的係提出一套解決黑箱測試案例盲點的技術方法,忠於程式碼邏輯分析,提供完整的測試路徑建議,使測試資源能有效地被投入於關鍵測試案例中。
為了達成上述或其他目的,本發明提出一種應用於帳務領域之批次執行的加速測試方法,係包括下列步驟:提供原始程式碼之程式階層歸類、執行斷點、斷點定義及該執行斷點之執行路徑;自待測試之案例清單取得案例特徵情境,對應該案例特徵情境於該程式階層歸類、該執行斷點、該斷點定義及該執行路徑以產生該案例清單中之各案例之斷點執行路徑定義及新進斷點群;執行該新進斷點群之耦合度分析以產出案例邏輯斷點之前處理清單,其中,
該案例清單中之各案例係自動由差異斷點開始執行;以及依據該案例邏輯斷點之前處理清單執行各該案例,於該差異斷點處取用前一已知斷點產出物件及環境參數設定,以套用斷點輸入轉換元件和斷點環境前置元件後啟動繼續執行,其中,每一該執行斷點之資源係予以記錄,俾重複本步驟直到該案例清單中之所有案例之前處理清單執行完成。
於上述方法中,透過判讀該原始程式碼之執行流程,俾依據各細部邏輯點及程式預存之特徵註記以產生該程式階層歸類、該執行斷點、該斷點定義及該執行斷點之執行路徑。
於上述方法中,自該待測試之案例清單取得該案例特徵情境係透過逐筆依據問答式設計或批次資料轉換所取得者。
於上述方法中,更包括回饋當次增修已上線版本之執行記錄定版更新,以變更該程式階層歸類、該執行斷點、該斷點定義、該執行斷點之執行路徑、該已知斷點產出物件及該環境參數設定。
本發明復提出一種應用於帳務領域之批次執行的加速測試系統,包括:斷點分析資料庫,係預存原始程式碼之程式階層歸類、執行斷點、斷點定義及該執行斷點之執行路徑;案例執行斷點分析模組,係連接該斷點分析資料庫,用於接收待測試之案例清單之案例特徵情境,將該案例特徵情境對應於該程式階層歸類、該執行斷點、該斷點
定義及該執行路徑,以產生該案例清單中各案例之斷點執行路徑定義及新進斷點群;以及斷點執行軌跡存取模組,係連接該案例執行斷點分析模組,用於依據該案例邏輯斷點之前處理清單執行該案例清單中之案例,於該差異斷點處取用前一已知斷點產出物件及環境參數設定,以套用斷點輸入轉換元件和斷點環境前置元件後啟動繼續執行,其中,記錄每一個該執行斷點之資源,俾重複該斷點執行軌跡存取模組之作業直到該案例清單中所有案例之前處理清單執行完成。
於一實施例中,應用於帳務領域之批次執行的加速測試系統更包括連接該斷點分析資料庫之程式功能斷點分析模組,用於判讀該原始程式碼之執行流程,俾依據各細部邏輯點及程式預存之特徵註記以產生該程式階層歸類、該執行斷點、該斷點定義及該執行斷點之執行路徑。
於又一實施例中,該案例執行斷點分析模組係透過逐筆依據問答式設計或批次資料轉換以取得該案例特徵情境。
於另一實施例中,應用於帳務領域之批次執行的加速測試系統更包括連接該斷點執行軌跡存取模組之斷點軌跡儲存媒介,用於儲存該前一已知斷點產出物件及環境參數設定。
於又一實施例中,應用於帳務領域之批次執行的加速測試系統更包括定版更新回饋模組,係用於回饋當次增修已上線版本之執行記錄定版更新至該斷點分析資料庫及該
斷點軌跡儲存媒介。
於再一實施例中,該斷點執行軌跡存取模組啟動繼續執行時,係暫存每一個執行斷點之產出物件及環境參數至該斷點軌跡儲存媒介。
相較於現有技術,本發明之實施係針對帳務領域之批次執行範疇,且非利用作業執行程序紀錄之技術,而是以原始碼邏輯解構後之程式階層、特徵、執行斷點為分析角度切入,實作標的非僅限資料表格之欄位異動,乃收納各類物件格式之產出,且核心重點並非資料還原,係直接取用案例執行起始斷點之前一產出物件與環境參數設定,使新設節點得以繼續執行而非重新執行,進而達到加速執行之目的;另外,本發明提出一種透過判讀程式原始碼執行流程邏輯之斷點分析,加入案例特徵與斷點對應,記錄案例執行過程之斷點輸入,進而確保異動程式碼均有對應之測試案例執行,並透過直接存取已知斷點之輸出結果作為新設斷點續執行輸入之技術,有效節省已知斷點的執行時程與資源。
1‧‧‧應用於帳務領域之批次執行的加速測試系統
10‧‧‧程式功能斷點分析模組
11‧‧‧斷點分析資料庫
12‧‧‧案例執行斷點分析模組
13‧‧‧斷點執行軌跡存取模組
14‧‧‧斷點軌跡儲存媒介
15‧‧‧定版更新回饋模組
31‧‧‧方框
41~46、441、451‧‧‧流程
51~55‧‧‧流程
61~65‧‧‧流程
71~75‧‧‧流程
S11~S14‧‧‧步驟
第1圖為本發明之應用於帳務領域之批次執行的加速測試方法的步驟圖;第2圖為本發明之應用於帳務領域之批次執行的加速測試系統的系統架構圖;第3A和3B圖為本發明之應用於帳務領域之批次執行的加速測試系統之一具體實施例有關原始碼的架構示意
圖;第4圖為本發明之程式功能斷點分析模組的執行流程圖;第5圖為本發明之案例執行斷點分析模組的執行流程圖;第6圖為本發明之斷點執行軌跡存取模組的執行流程圖;以及第7圖為本發明之定版更新回饋模組的執行流程圖。
以下藉由特定的具體實施形態說明本發明之技術內容,熟悉此技藝之人士可由本說明書所揭示之內容輕易地瞭解本發明之優點與功效。然本發明亦可藉由其他不同的具體實施形態加以施行或應用。
第1圖說明本發明之應用於帳務領域之批次執行的加速測試方法的步驟圖。
如圖所示,於步驟S11中,提供原始程式碼之程式階層歸類、執行斷點、斷點定義及該執行斷點之執行路徑。於一實施例中,上述該程式階層歸類、該執行斷點、該斷點定義及該執行斷點之執行路徑可透過判讀該原始程式碼之執行流程,俾依據各細部邏輯點及程式預存之特徵註記而產生。
更具體來說,針對開發人員之交付程式進行原始程式碼掃描與分析,透過判讀程式碼之執行流程,依各細部邏輯點與程式預存之特徵註記,進行程式之階層歸類、清楚
明確的切割各執行斷點、記錄各斷點之執行路徑,最後將分析資料暫存於一資料庫內。
於步驟S12中,自待測試之案例清單取得案例特徵情境,對應該案例特徵情境於該程式階層歸類、該執行斷點、該斷點定義及該執行路徑以產生各案例之斷點執行路徑定義及新進斷點群。於一實施例中,該案例特徵情境係透過逐筆依據問答式設計或批次資料轉換所取得者。
具體來說,將待測試之案例清單逐筆依問答式設計或批次資料轉換等方式,輸入案例特徵情境,將案例特徵情境自動對應至步驟S11資料庫內暫存之相關資料,以自動轉換成每一個案例的斷點執行路徑定義,並得到新進斷點群。
於步驟S13中,執行該新進斷點群之耦合度分析以產出案例邏輯斷點之前處理清單,其中,各案例將自動由差異斷點開始執行。詳言之,針對新進斷點群進行耦合度分析,其中,已知斷點會直接參照,產出案例邏輯斷點之前處理清單,而每一個案例將由差異斷點(起始斷點)開始啟動後續執行。
於步驟S14中,依據該案例邏輯斷點之前處理清單執行案例,於該差異斷點處取用前一已知斷點產出物件及環境參數設定,以套用斷點輸入轉換元件和斷點環境前置元件後啟動繼續執行,其中,記錄每一個該執行斷點之相關資源,俾重複上述動作直到所有案例之前處理清單執行完成。本步驟係以步驟S13產出之案例邏輯斷點之前處理清
單作為執行依據,依序執行案例,於差異斷點(起始斷點)取用斷點軌跡儲存媒介之前一已知斷點產出物件及環境參數設定,並且套用斷點輸入轉換元件與斷點環境前置元件,以完成當個差異斷點之執行準備,準備就緒後啟動繼續執行,記錄每個執行斷點之相關資源,以此類推至所有案例均執行完成。
於一實施例中,本發明之應用於帳務領域之批次執行的加速測試方法更包括回饋當次增修已上線版本之執行記錄定版更新,以變更該程式階層歸類、該執行斷點、該斷點定義、該執行斷點之執行路徑、該已知斷點產出物件及該環境參數設定。也就是說,本發明不僅提供使用者自行確認於測試期間之暫存記錄、與現行上線已定版之記錄是否留存,欲留存者轉換至備份區,以供後續追蹤,最後更將當次增修已上線版本之執行記錄定版更新回饋至相關資料庫或儲存媒介。
由上可知,本發明之應用於帳務領域之批次執行的加速測試方法包括下列核心概念。
首先係原始碼邏輯斷點切割技術,針對每一個交付版次之程式進行原始碼掃描與分析,透過判讀程式執行流程之各個細部邏輯點,將程式依階層歸類、斷點切割、各斷點執行路徑記錄,當第一版系統程式定版後,即建置完成本案所需之斷點分析資料庫。後續更版即可重新進行原始碼掃描與分析,產出作業流程連動差異與待重設斷點資訊,提供開發人員比對前後版程式差異之連動影響,確認是否
受影響之斷點滿足原需求分析之預期,亦可供測試人員確認原測試案例設計是否完整涵蓋待重設斷點。
其次係利用原系統已累積之完整測試案例庫進行本案初始化設定,針對初版建置,需將所有已知案例逐筆依問答式或批次資料轉換等方式,提供案例特徵情境資訊,系統可依前述概念所提及之程式階層歸類、執行斷點等分析記錄,轉換成案例斷點路徑定義,再針對每個全新案例比照新進斷點進行耦合度分析,產出案例邏輯斷點前處理清單,案例全數執行完畢後,即完成專利所需之斷點軌跡儲存媒介其建置工作。
第2圖說明本發明之應用於帳務領域之批次執行的加速測試系統的系統架構圖。本發明係有關於帳務領域之批次執行的加速測試機制,以上述核心概念為基礎,主要加速測試之技術重點乃利用案例斷點路徑之整併與歸納,於測試執行當下,直接取用已知斷點之執行結果,節省重覆執行之時間與資源,並透過程式碼解構分析前處理,提供開發人員作業流程連動差異資訊,方便確認程式增修是否符合原需求分析預期,另產出待重設斷點資訊,供測試人員確認原案例情境之擬定是否完整涵蓋待重設斷點,使本案整體之應用達到更大效益。
因帳務領域之批次執行作業涉及之規則邏輯較複雜、且執行時間耗時,故需要一加速執行且能完整涵蓋測試之系統始能有效運轉。如圖所示。本發明之應用於帳務領域之批次執行的加速測試系統1主要包括斷點分析資料庫11、
案例執行斷點分析模組12及斷點執行軌跡存取模組13。
斷點分析資料庫11用於預存原始程式碼之程式階層歸類、執行斷點、斷點定義及該執行斷點之執行路徑。具體來說,上述資料是透過第一版程式碼取得,藉此可與後續更新後程式碼進行比對。
案例執行斷點分析模組12連接斷點分析資料庫11,用於接收待測試之案例清單之案例特徵情境,將該案例特徵情境對應於該程式階層歸類、該執行斷點、該斷點定義及該執行路徑,以產生各案例之斷點執行路徑定義及新進斷點群。另外,該案例特徵情境可由案例執行斷點分析模組12透過逐筆依據問答式設計或批次資料轉換而取得。
斷點執行軌跡存取模組13連接案例執行斷點分析模組12,用於依據該案例邏輯斷點之前處理清單執行案例,於該差異斷點處取用前一已知斷點產出物件及環境參數設定,以套用斷點輸入轉換元件和斷點環境前置元件後啟動繼續執行,其中,記錄每一個該執行斷點之相關資源,俾重複上述動作直到所有案例之前處理清單執行完成。也就是說,依據前處理清單來執行案例,在新舊程式之差異斷點處套用已知斷點產出物件及環境參數,進而啟動繼續執行,並記錄執行斷點的相關資料,直到所有案例所有差異點皆執行完畢。
於另一實施例中,應用於帳務領域之批次執行的加速測試系統1更包括連接斷點執行軌跡存取模組13之斷點軌跡儲存媒介14,其可用於儲存前一已知斷點產出物件及環
境參數設定,亦即前一已知斷點相關資訊都被儲存於斷點軌跡儲存媒介14,並可被取用來執行斷點執行軌跡存取。
另外,斷點執行軌跡存取模組13於啟動繼續執行時,會將每一個執行斷點之產出物件及環境參數暫存於斷點軌跡儲存媒介14。
於另一實施例中,應用於帳務領域之批次執行的加速測試系統1更包括程式功能斷點分析模組10,其連接斷點分析資料庫11,用於判讀該原始程式碼之執行流程,藉此依據各細部邏輯點及程式預存之特徵註記,以產生前述程式階層歸類、執行斷點、斷點定義及執行斷點之執行路徑。
另外,應用於帳務領域之批次執行的加速測試系統1更包括定版更新回饋模組15,可用於回饋當次增修已上線版本之執行記錄定版更新至該斷點分析資料庫及該斷點軌跡儲存媒介。
本案模組之底層運作乃套用一斷點分析資料庫以及斷點軌跡儲存媒介,透過定版更新回饋模組,可持續動態維護每次更版之差異分析與斷點執行記錄,使此技術得以永續運用至該系統被大型重構。儘管如此,系統重構之後,仍可再利用本案之初版建置流程,經由斷點分析資料庫、與斷點軌跡儲存媒介之初始化重設步驟,使整體技術得以再被重新啟用與續執行。
據此,相較於相關先前之開源技術(例如:Spark架構),先前技術乃強調存取記憶體之執行數據,將任務分為多個階段並可重覆利用執行結果,現行主要應用於大數據等複
雜運算,節省執行時間與成本。然本案之重點技術非僅著眼在取用已知執行結果,乃更聚焦延伸結合原始碼邏輯之白箱解構比對分析、與案例特徵對應,提供程式邏輯之差異比對、與待重設斷點清單,使開發與測試雙方同步受惠,可擴大應用於執行耗時、邏輯繁瑣之帳務領域批次作業,力求以精確、最少案例之測試執行投入,為軟體品質把關,使帳務領域之測試運作發揮最大效益。
下面將搭配第2圖所示之各元件,說明程式功能斷點分析模組10、案例執行斷點分析模組12、斷點執行軌跡存取模組13及定版更新回饋模組15之運作流程。
第4圖說明本發明之程式功能斷點分析模組的執行流程圖,請一併參考第2圖。
如圖所示,程式功能斷點分析模組10開始由交付送掃完整原始碼之作業啟動,程式碼需事先加入標籤定義,以供模組確認解構後之情境特徵說明,並提供後續案例執行斷點分析模組12之案例輸入對應。
於流程41中,程式功能斷點分析模組10呼叫原始碼解構分析元件,由程式作業入口開始,依序展開程式碼進行解構與分析。
於流程42中,依程式階層歸類元件,將程式依開發人員加入之標籤定義,將階層展開並進行歸類,記錄階層編號、描述、與程式名稱等資訊。
於流程43中,呼叫斷點切割定義元件,將每個程式標記斷點流水號、母節點資訊。
待以上步驟完成,判斷該送掃程式是否為第一次初始化之業務功能,若是,則直接記錄斷點路徑展開記錄至斷點分析資料庫11,若否,則表示該業務功能已存在,則進入流程44,需進行程式版次差異比對並進行流程441,產出作業流程連動差異之清單資訊,以供開發人員確認,當發現若有程式細部重構等參數或程式名稱差異時,則執行流程45,開發人員可經由程式階層斷點更新,藉此完成置換與更新,減少差異誤差,待確認後,由流程451產出待重設斷點資訊,以供測試人員確認是否所有待測斷點均已涵蓋於預期之案例設計情境中。
最後,進入流程46,執行斷點路徑展開記錄,將每一個斷點之執行路徑展開,並將前述之所有分析記錄暫存於斷點分析資料庫11。
如前所提及,初版系統需先送掃完整原始碼始能完成斷點分析資料庫之初始化建置,以『行動帳務之國內一般批價作業』為例,系統元件架構與程式呼叫(名稱虛擬)提供舉例如第3A圖所示,以3G國內語音門號之網內發話批價處理為例,經程式功能斷點分析模組10初版分析後,執行流程41之原始碼解構分析元件以及流程42之程式階層歸類元件後,可產出記錄如下表一定義,流程43呼叫斷點切割定義元件後再產出記錄如下表二定義,以[階層序號,當層流水號]記錄每個斷點之前一母斷點定義,以此欄位追溯上一斷點即可組合出每個斷點之確切執行路徑,因此,上述範例中之業務邏輯斷點為流水號10,執行斷點展開為
{入口點,斷點1,斷點3,斷點5,斷點8,斷點10},路徑定義為{[0,1]->[1,1]->[2,1]->[3,1]->[4,1]->[5,1]},其中isExist欄位由斷點執行軌跡存取模組13執行後更新。
當程式因需求修改,例如更改3G門號語音發話之網內規則,程式變動應如第3B圖方框31所示,待程式重新修正上版後,經程式功能斷點分析模組10的V2版次分析後,執行流程41之原始碼解構分析元件與流程42之程式階層歸類元件後,應產出記錄如下表三定義,流程43之呼叫斷點切割定義元件後產出記錄如下表四定義。原業務邏輯斷點之編號10(斷點流水號之編號10)因內部計費規則改變,因而程式斷點(斷點流水號之編號10)之後的執行斷點連帶異動,含斷點流水號編號10、斷點流水號編號13、斷點流水號編號14均需重設,因此表四定義之isReset欄位值會自動註記待重設斷點資訊。每個版次於本模組分析之資料均暫存於斷點分析資料庫11之暫存區。
第5圖說明本發明之案例執行斷點分析模組的執行流程圖,請一併參考第2圖。如圖所示,經由程式功能斷點分析模組10完整分析後,測試人員即可指定測試版次,呼叫案例執行斷點分析模組12開始依斷點分析資料庫11記錄之程式特徵說明,逐筆輸入符合該測試案例情境之特徵。
於流程51中,透過特徵解構與斷點對應來將案例進行歸類。
於流程52中,以斷點路徑定義,將該案例之斷點路徑展開,確認該案例之每個執行斷點是否註記已執行且不需重設,當判斷該斷點為第一個尚未執行或需重設之斷點時,則記錄該斷點為該案例之差異斷點,也就是待被重新執行之起始斷點,並進行流程53,耦合度分析元件確認所有待重設斷點之路徑是否重疊,若判斷該斷點已存在且不需重設者,則直接記錄已知斷點參考。
最後,流程54中,由案例歸納整併元件,將所有待執行案例之斷點路徑整併歸納,確保每個斷點不會發生重覆執行的狀況,以於流程55中,產出案例邏輯斷點前處理清單,供斷點執行軌跡存取模組13作為輸入依據。
另外,當程式初版建置時,承程式功能斷點分析模組10之分析結果,案例清單上之案例節點均屬不存在且待重設狀態,因此當清單上第一個案例開始進行斷點註記判讀時,將直接跳至流程54之案例歸納整併元件,後續案例則因前面累積愈來愈多斷點已存在註記,透過流程53之耦合
度分析元件,直接將差異斷點後推,記錄直接取用前一斷點之斷點產出物件續執行。
以更改3G門號語音發話之網內規則為例,若輸入3G門號語音發話之網內通話來檔明細,內含案例1(屬優惠網)以及案例2(不屬優惠網)之兩筆發話明細進行批價處理,依案例執行斷點分析模組12流程51之特徵解構與斷點對應,將轉換定義為:案例1→[gsm批價處理∩語音話務主處理∩語音次處理∩語音3G門號發話∩3G網內通話∩3G網內語音屬優惠網]、案例2→[gsm批價處理∩語音話務主處理∩語音次處理∩語音3G門號發話∩3G網內通話∩3G網內語音不屬優惠網],再透過流程52之斷點路徑定義,將此二案例之執行斷點展開為案例1→{入口點,斷點1,斷點3,斷點5,斷點8,斷點10,斷點13},路徑定義為{[0,1]->[1,1]->[2,1]->[3,1]->[4,1]->[5,1]->[6,1]}、與案例2→{入口點,斷點1,斷點3,斷點5,斷點8,斷點10,斷點14},路徑定義為{[0,1]->[1,1]->[2,1]->[3,1]->[4,1]->[5,1]->[6,2]},此2案例最後1個斷點前之執行路徑均相同,但因案例是否屬優惠網之特徵不同,最後斷點產出結果不同,分別以斷點13定義[6,1]、與斷點14定義[6,2]表示。
因案例1、2之差異斷點(起始斷點)均為斷點10[5,1],判斷雖已存在但需重設,因此斷點10前之各斷點判定均走流程54之案例歸納整併元件,各案例依序迴圈判定各斷點至斷點10會進入流程53之耦合度分析元件的記錄,當案例2進入斷點10之判定時,會記錄案例1已執行斷點10
之重設,因此,案例2可直接存取斷點10之新產出物件進行後續斷點14之執行。最後,進入流程55,將所有待執行案例之執行斷點路徑判定與相關資訊記錄於案例邏輯斷點之前處理清單,資訊簡述如下:{案例編號:斷點編號|輸出斷點|差異(起始)斷點|參考母斷點[參考版次,階層序號,當層流水號]|待執行路徑}
→{案例1:斷點13|[6,1]|[5,1]|[V1,4,1]|[5,1]->[6,1]}
→{案例2:斷點14|[6,2]|[6,2]|[V2,5,1]|[6,2]}
第6圖說明本發明之斷點執行軌跡存取模組的執行流程圖,請一併參考第2圖。如圖所示,斷點執行軌跡存取模組13以案例執行斷點分析模組12產出之案例邏輯斷點之前處理清單作為輸入依據,逐筆執行前處理清單上之案例。首先,讀取清單定義第一個案例之差異斷點作為起始斷點,若起始斷點註記已知,則進入流程61,直接透過斷點資料存取連結斷點軌跡儲存媒介14進行資料物件取用。
於流程62中,套用斷點輸入轉換元件,將斷點之產出資料依格式定義轉換。
於流程63中,呼叫斷點環境前置元件,將環境參數等設定資訊轉換為斷點執行前之環境準備就緒狀態。
於流程64中,利用斷點執行,執行該斷點之程式作業,倘若起始斷點註記非已知,則直接執行流程64之斷點執行。最後,將每個斷點執行後之產出結果與環境參數,
透過流程65之斷點資料暫存,至記憶體中存取相關資訊,再暫存至斷點軌跡儲存媒介14中,一直執行到該案例之最終斷點停止,並繼續讀取前處理清單之次一案例,直至所有清單案例均執行完畢。
當程式初版建置時,因斷點軌跡儲存媒介14為空,因此案例邏輯斷點之前處理清單的案例斷點執行結果均會先記錄於斷點軌跡儲存媒介14之暫存區中。以上述更改3G門號語音發話之網內規則為例,當讀取案例邏輯斷點之前處理清單之案例1資料時,因其差異斷點(起始斷點)為斷點10,該斷點註記為已知,因此透過斷點資料存取41連結斷點軌跡儲存媒介14,直接取用原V1版次所記錄前一斷點8之產出結果物件result8.xls、與環境變數物件env_node8.obj(參考下面表五斷點流水號8的部份),套用流程62之斷點輸入轉換元件,將斷點之產出資料依格式定義轉換,再呼叫流程63之斷點環境前置元件,將環境參數等設定資訊轉換為斷點執行前之環境就緒狀態,之後利用流程64之斷點執行,執行斷點10、斷點13之程式作業,並透過流程65之斷點資料暫存,將斷點10、與斷點13產出之結果物件與環境變數物件暫存至斷點軌跡儲存媒介14之暫存區(即更新記錄於下面表六);接著,再讀取清單案例2,因案例2之起始斷點註記為已知且乃參考案例1之重設斷點10,因此斷點資料存取41連結斷點軌跡儲存媒介14之暫存區,直接取用當次V2版所記錄之斷點10產出結果物件result10.xls、與環境變數物件
env_node10.obj(參考表六斷點流水號10的部份),套用流程62之斷點輸入轉換元件以及流程63之斷點環境前置元件,將環境準備就緒,再執行流程64之斷點執行之程式作業,接著透過流程65之斷點資料暫存,將斷點14之產出物件與環境變數物件暫存至斷點軌跡儲存媒介14之暫存區,直至所有清單案例均執行完畢。
第7圖說明本發明之定版更新回饋模組的執行流程圖,請一併參考第2圖。如圖所示,經由上述模組關聯執行後,定版更新回饋模組15提供使用者確認於測試期間暫存於接斷點分析資料庫11與斷點軌跡儲存媒介14之資料記錄與現行上線已定版版次之記錄是否留存。
首先,於流程71中,系統自動啟動抓取暫存/已定版資料,確認暫存區與目前線上已定版版次資料是否需留存,若是,進入流程72,模組自動呼叫資料備份,依使用者指定版次,準備相關資料之備份作業,並註記回寫至上線區或備份區,若否,進入流程73,呼叫資料清除,將暫存或
目前線上已定版資料進行清除作業準備,並註記完整清除。
最後,於流程74中,執行程式階層斷點定版/清除,當判斷註記為回寫時,則將指定版次之程式階層斷點分析暫存或目前線上已定版資料回寫到斷點分析資料庫11之備份區,並將此次增修上線待定版記錄回寫至上線區,並執行流程75之斷點資料定版/清除的程序,將斷點執行產出記錄回寫到斷點軌跡儲存媒介14之備份區或上線區,若註記完整清除,則進入流程74之呼叫程式階層斷點定版/清除的程序,清除接斷點分析資料庫14之指定版次資料,並執行流程75之斷點資料定版/清除的程序,清除斷點軌跡儲存媒介14之指定版次資料。
當程式初版建置時,因案例斷點執行結果均記錄於斷點軌跡儲存媒介14之暫存區,因此,需呼叫定版更新回饋模組15啟動流程71之抓取暫存/已定版資料以及流程72之資料備份等程序,註記回寫至上線區,再於流程74中呼叫階層斷點定版/清除以及於流程75中執行斷點資料定版/清除等程序,將原暫存之初版執行資料回寫至斷點分析資料庫11與斷點軌跡儲存媒介14中。
以上述更改3G門號語音發話之網內規則為例,於流程71之抓取暫存/已定版資料的程序中,判定斷點執行軌跡存取模組13執行完成之案例1、2存在暫存記錄,於流程72之資料備份的程序中,指定將備份資料準備就緒,並註記回寫至上線區,目前線上已定版版次註記留存回寫於
備份區。最後,於流程74之階層斷點定版/清除的程序中,將本次V2版程式階層斷點分析暫存資料回寫至斷點分析資料庫11之上線區,原V1版資料回寫至備份區,再呼叫流程75之執行斷點資料定版/清除的程序,將本次案例1、2之重設斷點10、斷點13、斷點14之產出(例如result10.txt、para13.value、table14.obj)與環境變數物件(例如env_node10.obj、env_node13.obj、env_node14.obj)回寫到斷點軌跡儲存媒介14之上線區,原V1版資料亦回寫至備份區,便完成本版次程式修正之案例測試與元件模組資料異動。
由上可知,本發明以現行系統原始碼邏輯解構技術發想,現有版控軟體僅提供新舊版本程式碼之差異比對與程式呼叫關聯分析,但未能加以分析整體程式作業執行之流程連動差異,反觀本發明除提供作業執行路徑之連動差異分析,提供開發人員可依開發實務狀況隨時更新對應關係自動進行資料重新關聯,更可具體將產出之待重設斷點清單回饋於測試案例的增修,以確保程式增修後的連動均可被測試案例完整涵蓋。另外,現有相關已知技術多半著重在測試後如何將資料還原、或舊有測試案例經屬性與權重關聯挑選後再執行利用的作法,來達到案例重覆使用的概念,然本發明為達成帳務領域之批次執行的加速目的,係針對系統原始碼邏輯進行白箱細部解構,以程式階層、特徵、執行斷點之分析角度切入,記錄原測試案例執行之每個斷點產出,使已知測試斷點之產出可直接重覆存取並應
用於下一次的功能測試、迴歸測試,直接節省重新執行之測試資源與時程。
上述實施形態僅例示性說明本發明之原理及其功效,而非用於限制本發明。任何熟習此項技藝之人士均可在不違背本發明之精神及範疇下,對上述實施形態進行修飾與改變。因此,本發明之權利保護範圍,應如後述之申請專利範圍所列。
Claims (8)
- 一種應用於帳務領域之批次執行的加速測試方法,係包括下列步驟:提供帳務領域相關作業之原始程式碼之程式階層歸類、執行斷點、斷點定義及該執行斷點之執行路徑,其中,依據該原始程式碼中經開發人員加入之標籤定義來進行階層展開以完成階層歸類,以及透過斷點切割與定義以於該原始程式碼中標記斷點流水號和母節點資訊,藉此得到該程式階層歸類、該執行斷點、該斷點定義及該執行路徑;自待測試之案例清單透過逐筆依據問答式設計或批次資料轉換以取得案例特徵情境,該案例特徵情境包括關於該待測試之案例清單的新程式階層歸類、新執行斷點、新斷點定義及新執行路徑,將該案例特徵情境中的該新程式階層歸類、該新執行斷點、該新斷點定義及該新執行路徑對應於該原始程式碼之該程式階層歸類、該執行斷點、該斷點定義及該執行路徑,藉以產生該案例清單中之各案例之斷點執行路徑定義及新進斷點群;執行該新進斷點群之耦合度分析以產出案例邏輯斷點之前處理清單,其中,該案例清單中之各案例係自動由差異斷點開始執行;以及依據該案例邏輯斷點之前處理清單執行各該案例,於該差異斷點處取用前一已知斷點產出物件及環境參數設定,以套用斷點輸入轉換元件和斷點環境前置元件後啟動繼續執行,其中,每一該執行斷點之資源係予以記錄,俾重複本步驟直到該案例清單中之所有案例之前處理清單執行完成。
- 如申請專利範圍第1項所述之應用於帳務領域之批次執行的加速測試方法,其中,透過判讀該原始程式碼之執行流程,俾依據各細部邏輯點及程式預存之特徵註記以產生該程式階層歸類、該執行斷點、該斷點定義及該執行斷點之執行路徑。
- 如申請專利範圍第1項所述之應用於帳務領域之批次執行的加速測試方法,更包括回饋當次增修已上線版本之執行記錄定版更新,以變更該程式階層歸類、該執行斷點、該斷點定義、該執行斷點之執行路徑、該已知斷點產出物件及該環境參數設定。
- 一種應用於帳務領域之批次執行的加速測試系統,包括:斷點分析資料庫,係預存帳務領域相關作業之原始程式碼之程式階層歸類、執行斷點、斷點定義及該執行斷點之執行路徑,其中,依據該原始程式碼中經開發人員加入之標籤定義來進行階層展開以完成階層歸類,以及透過斷點切割與定義以於該原始程式碼中標記斷點流水號和母節點資訊,藉此得到該程式階層歸類、該執行斷點、該斷點定義及該執行路徑;案例執行斷點分析模組,係連接該斷點分析資料庫,用於接收待測試之案例清單,透過逐筆依據問答式設計或批次資料轉換取得案例特徵情境,該案例特徵情境包括關於該待測試之案例清單的程式階層歸類、執行斷點、斷點定義及執行路徑,將該案例特徵情境中的該程式階層歸類、該執行斷點、該斷點定義及該執行路徑對應於該原始程式碼之該程式階層歸類、該執行斷點、該斷點定義及該執行路徑,藉以產生該案例清單中各案例之斷點執行路徑定義及新進斷點群;以及斷點執行軌跡存取模組,係連接該案例執行斷點分析模組,用於依據該案例邏輯斷點之前處理清單執行該案例清單中之案例,於該差異斷點處取用前一已知斷點產出物件及環境參數設定,以套用斷點輸入轉換元件和斷點環境前置元件後啟動繼續執行,其中,記錄每一個該執行斷點之資源,俾重複該斷點執行軌跡存取模組之作業直到該案例清單中所有案例之前處理清單執行完成。
- 如申請專利範圍第4項所述之應用於帳務領域之批次執行的加速測試系統,更包括連接該斷點分析資料庫之程式功能斷點分析模組,用於判讀該原始程式碼之執行流程,俾依據各細部邏輯點及程式預存之特徵註記以產生該原始程式碼之該程式階層歸類、該執行斷點、該斷點定義及該執行斷點之執行路徑。
- 如申請專利範圍第4項所述之應用於帳務領域之批次執行的加速測試系統,更包括連接該斷點執行軌跡存取模組之斷點軌跡儲存媒介,用於儲存該前一已知斷點產出物件及環境參數設定。
- 如申請專利範圍第6項所述之應用於帳務領域之批次執行的加速測試系統,更包括定版更新回饋模組,係用於回饋當次增修已上線版本之執行記錄定版更新至該斷點分析資料庫及該斷點軌跡儲存媒介。
- 如申請專利範圍第6項所述之應用於帳務領域之批次執行的加速測試系統,其中,該斷點執行軌跡存取模組啟動繼續執行時,係暫存每一個執行斷點之產出物件及環境參數至該斷點軌跡儲存媒介。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107116598A TWI676942B (zh) | 2018-05-16 | 2018-05-16 | 應用於帳務領域之批次執行的加速測試方法與系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107116598A TWI676942B (zh) | 2018-05-16 | 2018-05-16 | 應用於帳務領域之批次執行的加速測試方法與系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI676942B true TWI676942B (zh) | 2019-11-11 |
TW201947473A TW201947473A (zh) | 2019-12-16 |
Family
ID=69188734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107116598A TWI676942B (zh) | 2018-05-16 | 2018-05-16 | 應用於帳務領域之批次執行的加速測試方法與系統 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI676942B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI755702B (zh) * | 2020-04-06 | 2022-02-21 | 中華電信股份有限公司 | 測試真實資料之方法及電腦可讀媒介 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1232557A (zh) * | 1996-10-04 | 1999-10-20 | 费希尔控制国际公司 | 调试和调整有分布控制功能的过程控制网络的方法和设备 |
US20030182642A1 (en) * | 1999-11-30 | 2003-09-25 | Schubert Nils Endric | Hardware debugging in a hardware description language |
US20080307392A1 (en) * | 2002-01-15 | 2008-12-11 | Racca Felix G | System architecture for business process development and execution |
TW201314638A (zh) * | 2011-09-26 | 2013-04-01 | Disk King Technology Co Ltd | 具虛擬實境擴充功能的點讀裝置 |
-
2018
- 2018-05-16 TW TW107116598A patent/TWI676942B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1232557A (zh) * | 1996-10-04 | 1999-10-20 | 费希尔控制国际公司 | 调试和调整有分布控制功能的过程控制网络的方法和设备 |
US20030182642A1 (en) * | 1999-11-30 | 2003-09-25 | Schubert Nils Endric | Hardware debugging in a hardware description language |
US20080307392A1 (en) * | 2002-01-15 | 2008-12-11 | Racca Felix G | System architecture for business process development and execution |
TW201314638A (zh) * | 2011-09-26 | 2013-04-01 | Disk King Technology Co Ltd | 具虛擬實境擴充功能的點讀裝置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI755702B (zh) * | 2020-04-06 | 2022-02-21 | 中華電信股份有限公司 | 測試真實資料之方法及電腦可讀媒介 |
Also Published As
Publication number | Publication date |
---|---|
TW201947473A (zh) | 2019-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ould et al. | Testing in software development | |
Mosley et al. | Just enough software test automation | |
Bruckner et al. | Developing requirements for data warehouse systems with use cases | |
JP2007535723A (ja) | 複合ソフトウエアシステムを実施して検証するための自動多次元追跡可能性行列を含む試験ツール | |
Maciel et al. | From Requirements to Automated Acceptance Tests of Interactive Apps: An Integrated Model-based Testing Approach. | |
Yahya et al. | Domain-driven actionable process model discovery | |
Lange et al. | An empirical investigation in quantifying inconsistency and incompleteness of UML designs | |
Sadana et al. | Analysis of conflicts among non-functional requirements using integrated analysis of functional and non-functional requirements | |
Tran et al. | Quality function deployment (QFD): an effective technique for requirements acquisition and reuse | |
CN111274136B (zh) | 一种机载软件测试管理系统和测试过程管理方法 | |
CN112148614A (zh) | 回归测试方法及装置 | |
Elamin et al. | Towards requirements reuse by implementing traceability in agile development | |
Jebnoun et al. | Clones in deep learning code: what, where, and why? | |
Baker et al. | Detect, fix, and verify TensorFlow API misuses | |
TWI676942B (zh) | 應用於帳務領域之批次執行的加速測試方法與系統 | |
Sahlabadi et al. | Process Mining Discovery Techniques for Software Architecture Lightweight Evaluation Framework. | |
US20050154976A1 (en) | Method and system for automated metamodel system software code standardization | |
Nikiforova et al. | Towards a Business Process Model-based Testing of Information Systems Functionality. | |
Johannsen et al. | Supporting knowledge elicitation and analysis for business process improvement through a modeling tool | |
Fernández-Ropero et al. | Repairing business process models as retrieved from source code | |
CN112463126A (zh) | 一种基于信息技术咨询术的软件开发方法 | |
Xie et al. | Design and implementation of bank financial business automation testing framework based on QTP | |
Platonov et al. | Development of a methodology for cost optimization of software testing for the automatically tests generation | |
Wang et al. | Using workflow patterns to model and validate service requirements | |
Palma et al. | Specification and detection of business process antipatterns |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |