TW201439947A - 用於測試一金融交易系統之系統及方法 - Google Patents

用於測試一金融交易系統之系統及方法 Download PDF

Info

Publication number
TW201439947A
TW201439947A TW102144970A TW102144970A TW201439947A TW 201439947 A TW201439947 A TW 201439947A TW 102144970 A TW102144970 A TW 102144970A TW 102144970 A TW102144970 A TW 102144970A TW 201439947 A TW201439947 A TW 201439947A
Authority
TW
Taiwan
Prior art keywords
verb
transaction
use case
verification subsystem
test
Prior art date
Application number
TW102144970A
Other languages
English (en)
Inventor
Kevin Mueller
Paul Fost
Marc Hampshire
David Seidman
David Lehmann
Amy Neiley
Vinay Rao
Gregory Miller
Ganesh Chittimalla
Matthew Rotella
Douglas Schafer
Srinivas Nimma
Robert Straub
Mu-Na Tang
Original Assignee
Miami Internat Securities Exchange Llc
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 Miami Internat Securities Exchange Llc filed Critical Miami Internat Securities Exchange Llc
Publication of TW201439947A publication Critical patent/TW201439947A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Technology Law (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本發明提供一種用於測試具有一驗證子系統及交易環境之一交易系統之方法。該等環境中之每一者具有一網路介面、記憶體及由一處理器執行之一匹配引擎。該方法包含由該驗證子系統檢索至少一個經定義使用案例。每一經定義使用案例包含命令列。該方法亦包含基於經定義剖析規則剖析該等命令列以產生經剖析命令列。每一經剖析命令列包含規定金融交易之一動詞。每一經剖析命令列亦包含資料欄位。該方法進一步包含基於經定義映射關係映射每一命令列之該動詞及欄位以產生一測試案例。該方法亦包含執行該測試案例以產生待由該交易系統執行之訊息。該方法亦包含讀取該交易系統之參數以用於與經規定確認值相比較。

Description

用於測試一金融交易系統之系統及方法 相關申請案交叉參考
本申請案依據35 U.S.C.§ 119(e)主張來自於2012年12月6日提出申請之第61/734,238號美國臨時專利申請案之優先權,該臨時專利申請案特此以全文引用之方式併入本文中。
本發明係關於用於金融交易系統品質保證之系統及方法。具體而言,本發明係關於用於一金融交易系統之自動化測試之系統及方法。
系統品質保證
系統(例如,軟體)品質保證(QA)之任務係確保無缺陷且在滿足待遞送之所有功能特徵方面係完整的最高品質生產系統之遞送。系統QA之目標包含建立完整組之使用案例及確立經結構化以確保經遞送系統(例如,金融交易系統)之功能與關聯於其之要求(例如,與金融交易系統相關聯之規則)一致且確保此經遞送系統無缺陷之一穩固測試方法。舉例而言,軟體QA涉及出於產生功能測試之準確且及時使用案例之目的而前瞻性參與系統要求及功能規範之檢閱程序。
目標亦包含進行及管理使用案例測試之自動化及人工執行兩者。人工測試包含在不使用任何自動化工具或任何描述性語言之情況 下對系統之測試。舉例而言,測試者接管一終端使用者之作用且測試系統以識別任何意外行為或缺陷(例如,軟體錯誤)。測試者使用測試計劃、測試案例或測試情境來測試系統以確保測試之完整性。人工測試亦包含其中測試者探索系統以識別其中之錯誤之探索性測試。
自動化測試涉及測試者寫入描述性語言及/或使用其他類型之軟體來測試系統。自動化測試用以迅速且重複地運行(例如)人工地執行之使用案例或測試情境。除回歸測試之外,自動化測試亦用以自負載、效能及應力角度測試系統。與人工測試相比,自動化測試增加測試涵蓋範圍、改良測試準確性且節省時間及成本。
為了滿足系統品質保證之此等及其他目標,開發及測試一系統之工程師必須基於一組完整使用案例產生一組全面測試案例。準備使用案例需要知曉系統之高層級功能性。然而,準備測試案例進一步需要知曉系統之詳細工作。出於此原因,基於演進之使用案例產生及更新全面測試案例之任務係易於出錯的且需要由開發及測試工程師所做出之大量努力。
電子金融交易
交易金融商品歷來需要實體位置處之面對面通信。NASDAQ場外股票市場係其中技術取代實體互動之第一市場中之一者。隨後,世界上大多數股票交換局(諸如倫敦、東京及法蘭克福之彼等股票交換局)發展為電子交易。計算及通信中之創新使得全球電子訂單路由、報價及交易資訊之廣泛傳播以及新類型之交易系統成為可能。新技術減少建立新交易系統之成本、降低新競爭者之進入障礙。最後,通信技術中之改良達成較快速訂單路由及至一大得多的參與者群組之市場資料傳輸。電子交易系統在一國際基礎上之成長已係爆發性的,且新股票市場幾乎排他地係電子的。
一交易系統之市場結構包含管控其交易執行機制以及其發行之 價格金額及報價資料之一組規則。存在諸多不同市場結構。三種泛型市場結構類型係一持續限價訂單帳簿、一單價拍賣及具有被動定價之一交易系統。在一電子限價訂單帳簿中,交易者在系統上不斷地公佈競價及出價以供其他參與者觀看。一限價訂單係用以在一經規定價格下或以低於該經規定價格買入一經規定數量之一有價證券或以高於一經規定價格賣出之一訂單。訂單帳簿顯示訂單且通常按價格並接著按時間將其排序。一限價訂單帳簿通常不顯示使用者之身分識別、訂單之輸入時間或在其間訂單良好之時間段。一參與者起始關於已在訂單帳簿上之一訂單之一交易或將一新限價訂單放置於該帳簿中。若一競價或出價在帳簿中且一參與者以相同價格或更佳價格在市場之另一方上輸入一訂單,則限價訂單帳簿自動且立即匹配該等訂單,且發生一交易。帳簿可對照一個以上現有訂單匹配傳入訂單。
在一單價拍賣系統中,參與者可在一段時間內提交競價及出價,但系統在一單個時間點以一個價格共同執行所有交易。在給出駐存於系統中之競價及出價之情況下,系統通常計算交易價格以最大化總交易量。具有至少像系統計算之價格一樣好之價格之競價及出價被處理成交易,經受一組優先權規則。取決於訂單類型及訂單資訊顯示,此結構具有變化形式。某些電子交易系統藉由明確地參考其他市場之定價及銷售活動而判定交易價格。不具有獨立價格發現機制且其價格直接自一主要市場獲得之此等交易系統稱為被動或衍生性定價系統。某些系統藉由以下方式允許價格改良之可能性:評估基礎市場中之市場條件且接著以比在訂單輸入之時間可用之基礎市場上之最佳報價更佳之一價格將其交易定價。若系統在與其相關聯主要市場相同之時間操作,則價格可貫穿交易工作階段變化;或者價格可固定在一單個位準(諸如一收盤後交易工作階段之收盤價格)下。
存在可以電子方式交易之諸多類型之金融商品,包含現金商品 (諸如股票)以及衍生性商品(諸如選擇權)。一選擇權係藉由在其特定到期日期或在其特定到期日期之前行使選擇權而以一固定價格買入或賣出一經規定金額或價值之一特定基礎利益之權利。選擇權市場提供諸多不同類型之市場參加者可達成其特定投資目的之方式。舉例而言,某些選擇權投資者可能尋找長期或短期收益。其他選擇權投資者可能希望對沖一現有股票或商品倉存。一選擇權係一金融商品(亦稱為一衍生物)且自身可交易。其被稱作一衍生物,此乃因選擇權合約自其所基於之基礎資產(例如,股份、期貨合約、索引值)導出其價格及價值,且選擇權價值可隨基礎資產之價格上升或在價格上下降而浮動。選擇權合約價值亦可受其他市場條件(諸如波動性及利率之改變)影響。
存在兩種類型之選擇權。其係買入選擇權及賣出選擇權。一買入選擇權係賦予選擇權之買方在一設定日期或在該設定日期之前以一固定價格購買基礎資產之固定數目個合約或份額之權利但並非義務之一合約。另一方面,一賣出選擇權係賦予選擇權之買方在一設定日期或在該設定日期之前以一固定價格賣出基礎資產之固定數目個合約或份額之權利但並非義務之一合約。履約價格(亦稱為行使價格)係一買入之持有者可收買或一賣出之持有者賣出之基礎資產之價格。到期日期係一選擇權到期之日期。持有至此日期且尚未行使之選擇權不再存在。為一選擇權支付之價格稱作選擇權之權利金且其係由買方支付之價格及由選擇權之寫入者(或賣方)接收之價格。權利金係藉由各種定價因素及公開市場交易判定。
根據一實例性實施例,提供一種用於測試具有一驗證子系統及用於執行金融商品之交易之一或多個交易環境之一電腦化交易系統之方法。該等交易環境中之每一者具有一通信網路介面、儲存記憶體及 由一處理器執行之一匹配引擎。該方法包含由該驗證子系統檢索至少一個經定義使用案例。每一經定義使用案例包含一或多個命令列。該方法亦包含由該驗證子系統基於經定義剖析規則剖析該等命令列以產生經剖析命令列。每一經剖析命令列包含規定至少一個金融交易之一動詞。每一經剖析命令列亦包含一或多個欄位,其中每一欄位含有該經規定金融交易之一參數。該方法進一步包含由該驗證子系統基於經定義映射關係映射每一命令列之該動詞及欄位以產生一測試案例。該方法亦包含由該驗證子系統執行該測試案例以產生待由該交易系統執行之一或多個訊息及待執行之一或多個確認。該方法進一步包含由該驗證子系統傳輸在該交易系統之該一或多個交易環境中執行之該等訊息。該方法亦包含由該驗證子系統讀取由該等確認規定的該交易系統之參數以用於與經規定確認值相比較。
根據另一實例性實施例,提供一種用於測試具有一驗證子系統及用於執行金融商品之交易之一或多個交易環境之一電腦化交易系統之系統。該等交易環境中之每一者具有一通信網路介面、儲存記憶體及由一處理器執行之一匹配引擎。該系統包含:一驗證子系統,其具有一處理器及一通信介面;以及一記憶體,其可由該驗證子系統存取,其用於儲存包括一或多個命令列之一或多個經定義使用案例。該驗證子系統經組態以執行基於經定義剖析規則剖析一經檢索使用案例之該等命令列以產生經剖析命令列。每一經剖析命令列包含規定至少一個金融交易之一動詞。每一經剖析命令列亦包含一或多個欄位,其中每一欄位含有該經規定金融交易之一參數。該驗證子系統亦經組態以執行基於經定義映射關係映射每一命令列之該動詞及欄位以產生一測試案例,且執行該測試案例以產生待由該交易系統執行之一或多個訊息及待執行之一或多個確認。該驗證子系統進一步經組態以執行傳輸在該交易系統之該一或多個交易環境中執行之該等訊息,且讀取由 該等確認規定的該交易系統之參數以用於與經規定確認值相比較。
根據又一實例性實施例,提供一種電腦程式產品。該電腦程式產品包含其中嵌入有一電腦可讀程式碼之一電腦可用非暫時性媒體,且該電腦可讀程式碼包含用於執行一方法之步驟之指令,該方法用於測試具有一驗證子系統及用於執行金融商品之交易之一或多個交易環境之一電腦化交易系統。該等交易環境中之每一者具有一通信網路介面、儲存記憶體及由一處理器執行之一匹配引擎。該方法包含由該驗證子系統檢索至少一個經定義使用案例。每一經定義使用案例包含一或多個命令列。該方法亦包含由該驗證子系統基於經定義剖析規則剖析該等命令列以產生經剖析命令列。每一經剖析命令列包含規定至少一個金融交易之一動詞。每一經剖析命令列亦包含一或多個欄位,其中每一欄位含有該經規定金融交易之一參數。該方法進一步包含由該驗證子系統基於經定義映射關係映射每一命令列之該動詞及欄位以產生一測試案例。該方法亦包含由該驗證子系統執行該測試案例以產生待由該交易系統執行之一或多個訊息及待執行之一或多個確認。該方法亦包含由該驗證子系統傳輸在該交易系統之該一或多個交易環境中執行之該等訊息。該方法進一步包含由該驗證子系統讀取由該等確認規定的該交易系統之參數以用於與經規定確認值相比較。
100‧‧‧交易環境
102‧‧‧驗證子系統
104‧‧‧預定義使用案例/使用案例/高層級使用案例
108‧‧‧金融交易系統/交易系統/電子交易系統
110a‧‧‧市場創造者
110b‧‧‧訂單提供者
112‧‧‧選擇權價格報告授權、證券買賣匯總記錄帶系統/匯總報價系統、未掛牌交易特權/其他參與者/選擇權價格報告授權、證券買賣匯總記錄帶系統/匯總報價系統、未掛牌交易特權資訊源
112a‧‧‧選擇權價格報告授權
114a‧‧‧FIX閘道器/FIX介面閘道器
114b‧‧‧高速行情指示器
114c‧‧‧後端辦公室初始化與資料命令
116a‧‧‧市場高點/市場高點饋入
116b‧‧‧二元選擇權置放區/後端辦公室置放區
116c‧‧‧公司置放區
116d‧‧‧清算交易置放區
300‧‧‧使用案例剖析系統
302‧‧‧驗證工具剖析器
306‧‧‧靜態環境組態/靜態組態
308‧‧‧動態組態/動態組態與權利/權利
310‧‧‧剖析器映射
310a‧‧‧巨集動詞擴展
310b‧‧‧工作階段
310c‧‧‧公司
310d‧‧‧欄位映射
310e‧‧‧產品
312‧‧‧測試案例
802‧‧‧軟體開發生命週期
802a‧‧‧開發階段
802b‧‧‧品質保證階段
802c‧‧‧部署階段
804‧‧‧測試
804a‧‧‧單元測試
804b‧‧‧組件層級隔離測試/組件層級測試
804c‧‧‧整合測試
804d‧‧‧系統測試
804e‧‧‧失敗恢復測試
804f‧‧‧效能測試
806‧‧‧缺陷/經識別缺陷
808‧‧‧缺陷管理階段
808a‧‧‧分析/報告
808b‧‧‧記錄
808c‧‧‧校正
812‧‧‧原始程式碼管理系統
812a‧‧‧開發分支
812b‧‧‧發行分支
812c‧‧‧主分支
可參考隨附圖式之非限制性實例更佳地理解關於該等圖式給出之以下描述,在圖式中:圖1係展示根據所揭示標的物之一項實施例之包含具有自動化測試能力之一金融交易系統之一交易環境的一方塊圖;圖2係根據所揭示標的物之一項實施例之一自動化測試程序之一流程圖;圖3係展示根據所揭示標的物之一項實施例之一使用案例剖析系 統之一方塊圖;圖4係根據所揭示標的物之一項實施例之一剖析程序之一流程圖;圖5係根據所揭示標的物之一項實施例之自動化測試之自一使用案例產生測試案例之一程序之一流程圖;圖6係根據所揭示標的物之一項實施例之將使用案例命令列映射至對應測試案例列之一程序之一流程圖;圖7係展示根據所揭示標的物之一項實施例之一系統品質保證程序之一方塊圖;及圖8係展示根據所揭示標的物之一項實施例之一品質保證缺陷管理程序之一方塊圖。
本發明係關於用於測試一金融交易系統之系統及方法。更具體而言,本發明係關於用於進行一金融交易系統之自動化測試之系統及方法。圖1係展示根據所揭示標的物之一項實施例之包含具有自動化測試能力之一金融交易系統108之一交易環境100的一方塊圖。自動化測試能力係使用一驗證子系統102實施,該驗證子系統係一所有權自動化測試系統。驗證子系統102可採用描述待測試之金融交易及此等測試之所預期結果之一組預定義使用案例104且產生可經執行以測試運行一交易應用程式之一或多個執行個體之金融交易系統108之一或多個對應測試案例。交易應用程式可在一生產模式中運行。其亦可在一測試模式中運行。
驗證子系統102經設計以在一系統開發生命週期期間的關鍵時刻(例如,在一進行中之開發努力之完整性之一臨時檢查點建立之後,在用以修理一缺陷之修補程式之一安裝之後,在使交易系統前進至生產之前的常規QA測試期間等)對金融交易系統108自動且重複地執行 基於使用案例104產生之測試案例。驗證子系統102藉由如顧客(例如,市場創造者110a、訂單提供者110b)或其他參與者(選擇權價格報告授權(OPRA)、未掛牌交易特權(UTP)、證券買賣匯總記錄帶系統(CTS)/匯總報價系統(CQS)112)連接至金融交易系統108介面(例如,FIX閘道器114a、高速行情指示器114b、BO初始化與命令資料114c)而將金融交易系統108視為一黑箱。
在如顧客110或其他參與者112連接至金融交易系統108介面後,驗證子系統102旋即使用如下文(參見圖3)進一步詳細地論述之一驗證工具剖析器(VT剖析器)將每一使用案例104轉換為對應測試案例、執行測試案例以與交易系統108互動以起始並記錄交易活動,且隨後對照自(例如)OPRA 112a、ToM 116a、二元選擇權(BO)置放區116b、公司58置放區116c及清算交易置放區116d接收之實際結果檢查測試之所預期結果。
參考圖1,金融交易系統108包含複數個交易雲端,且每一雲端(亦即,組件之集合(交易雲端A至Z))在操作上獨立於所有其他雲端以使得所有操作命令、控制及監視工具係「雲端意識的」。每一雲端可因此容易地識別且個別地或共同地操作。另外,電子交易系統108具有極大地促進用於例示額外雲端之一程序之一結構化雲端組態模型。
鑑於交易雲端方法及內建至實例性實施例之一操作組態及命令套件中之操作支援,電子交易系統108具有內建能力以容易地使交易容量隨效能需求增加而擴縮。一雲端係裝載於共用基礎結構上且在促進對選擇權之預定義群組之交易之資料中心內在內部控制之服務之一邏輯分組,且選定核心應用程式(或同一應用程式之多個執行個體)係「雲端特定的」且其他應用程式係設計為「雲端不可知的」。
舉例而言,市場創造者110a(例如,報價公司)可藉由與金融交易系統108通信而將報價提交至在金融交易系統108上運行之匹配引擎及 自匹配引擎接收資訊。在金融交易系統108上運行之交易應用程式自市場創造者110a接收報價(通常係區塊報價)且將報價儲存於可由匹配引擎存取之一共用記憶體中以供(例如)在由匹配引擎匹配所接收報價與對立方訂單時使用。因此,如圖中可見,每一雲端經組態以使用交易應用程式促進與市場創造者110a之雙向通信。
另一方面,訂單提供者110b經由一FIX介面閘道器114a與雲端間接通信。不同於交易應用程式,FIX介面閘道器114a並非一雲端特定的。而是,其由所有雲端使用。FIX介面閘道器114a具有判定與所接收訂單相關聯之符號且使訂單路由至適當雲端之IP位址之邏輯。因此,舉例而言,FIX介面閘道器114a具有一查找表以使符號、雲端及雲端之IP位址相關聯,且接著將訂單傳輸至待發送至將在其上執行訂單之雲端(及匹配引擎)之訊息中之適當IP位址。
每一雲端之匹配引擎另外自高速行情指示器114b接收關於市場之當前狀態之資訊,該高速行情指示器轉發來自OPRA、CTS/CQS及UTP之報價資訊(舉例而言)以確保匹配引擎被告知市場作為一整體中之情況。匹配引擎可亦自一共用記憶體存取此市場資訊。
舉例而言,針對可能希望接受或投中靜置於金融交易系統108之帳簿上之一訂單之顧客,匹配引擎將市場資料提供至該系統外部。出於此目的,每一雲端基於匹配引擎之活動而經由市場資料更新一市場高點饋入(TOM)116a,該市場高點饋入係基於由匹配引擎接收之所有資訊及由該匹配引擎執行之匹配提供的。相同資訊亦提供至OPRA 112a,如美國交易規例所要求。
架構在一單個雲端上支援交易應用程式之多個執行個體。匹配引擎及傳出OPRA饋入應用程式係雲端特定的,從而每一雲端具有至少一單個執行個體。Fix訂單介面應用程式(其提供一訂單輸入介面且路由至適當雲端應用程式及其他類似應用程式)係雲端不可知的,此 乃因其係在任何特定雲端外部運行或執行。具有一基於雲端之架構之交易環境100可自一可擴縮性及效能角度有利地提供最大靈活性。
關於市場狀態之傳入資訊由匹配引擎自高速行情指示器114b接收,該傳入資訊包含(例如)自OPRA、CTS/CQS及UTP資訊源112開發之OTP、CTP及UTP資訊。完成之交易被置放至公司58置放區116c以進行記帳。所有訂單、交易、參考資料及BBO皆發送至BO(後端辦公室)置放區116b以供儲存於交易系統之後端辦公室中。
自每一雲端發佈/傳播之資料可用於在一中央訊息接發匯流排骨幹上消費。此骨幹在下文更詳細地展示於圖中且高度示意性地展示為圖1中之Max匯流排。不同應用程式基於其商業邏輯訂閱所傳播之訊息且分別對其執行其所需行動。中央訊息接發骨幹架構促進減少之延時且視需要允許更可擴縮性。每一應用程式具有離散功能性,且在任何意外錯誤行為之情形中變得較不複雜以相應地恢復功能性。
雲端架構進一步幫助最佳化符號平衡,其確保每一匹配引擎可一貫地迎合報價輸送量率中之不同尖峰及(例如)特定選擇權類別上之交易量。每一雲端亦將交易資料發送至執行交易參與者之一基於權利之清算交易介面之清算交易置放區116d。清算之結果係發送至交易公司。
圖2係根據所揭示標的物之一項實施例之一自動化測試程序200之一流程圖。在202處,驗證子系統102自一組所儲存使用案例讀取使用案例104。使用案例104由如下文進一步詳細地論述之一商業團隊之成員準備且可保存至金融交易系統108之一經規定輸入目錄或自一資料庫導入。在某些實施例中,使用案例104包含一或多個試算表(例如,MicrosoftTM ExcelTM)檔案。
表1展示經準備以藉由以下方式測試金融交易系統108之報價介面之一例示性使用案例:由市場創造者1(MM1)輸入報價,及確認金 融交易系統108正確地發佈其最佳競價及出價(BBO)~亦即,所預期結果。例如,需要金融交易系統108經由諸多顧客及大眾介面發佈報價以用於消費。
表2展示經準備以測試一報價公司與一訂單流程提供者之間的一交易之一使用案例。此使用案例除其他之外測試是否可將填補報告傳遞至金融交易系統108之正確工作階段。
在204處,驗證子系統102使用VT剖析器基於使用案例104中之每一者產生一或多個測試案例,該VT剖析器可係可剖析使用案例104之一剖析引擎,如下文進一步詳細地描述(參見,例如,圖3)。如此產生之測試案例包含在由驗證子系統102執行時產生待由金融交易系統108執行之一或多個訊息之指令(例如,命令)以及包含訊息/指令之輸入參數之測試資料。在某些實施例中,測試案例包含XML描述性語言。表3展示由VT剖析器基於表1中所展示之使用案例實例1產生之一例示性測試案例。VT剖析器讀取使用案例實例1中之每一列且基於交易規則及其他相關系統對其進行剖析以要求產生更複雜測試案例。
表4展示由VT剖析器基於表2中所展示之使用案例實例2產生之一測試案例。舉例而言,VT剖析器讀取一單個交易列且將其擴展為包含輸入介面、規例所要求之磁帶報告、清算介面及後端辦公室。
在206處,驗證子系統102執行測試案例。舉例而言,驗證子系統102基於測試資料及在測試案例檔案(例如,包含XML資料之XML描述性語言)中確立之序列將訊息(例如,具有輸入參數之命令及其他測試資料)發送至金融交易系統108之一或多個執行個體。
在208處,驗證子系統102確認測試結果。舉例而言,驗證子系統102自金融交易系統108之一或多個個別執行個體接收輸出訊息且比較輸出訊息中所含之輸出與可在使用案例104(例如,Excel試算表)中規定之所預期結果。在210處,驗證子系統102提供其執行之所有測試案例之一摘要及對應確認結果。
圖3係展示根據所揭示標的物之一項實施例之一使用案例剖析系統300之一方塊圖。使用案例剖析系統300提供金融交易系統108之自動化測試能力且包含一驗證工具(VT)剖析器302。當VT剖析器302第一次由(例如)驗證子系統102叫用時,VT剖析器302定位且導入靜態環境組態306、動態組態308及一組剖析器映射310。一旦VT剖析器302完成導入靜態組態306及動態組態308以及剖析器映射310,VT剖析器302即開始自一經指定使用案例儲存庫(例如,一或多個檔案目錄或資料庫表)讀取使用案例104且基於經導入組態及剖析器映射參數剖析使用案例104中之每一者以產生詳細測試案例312,如下文進一步詳細地描述。
VT剖析器302在品質保證測試程序中藉由以下方式執行其作用:採用由商業或QA人員開發之高層級使用案例104,及將組態(例如,交易系統組態)應用於使用案例104以創建極詳細且透徹測試案例。如表1及表3中所展示,使用案例實例1中之簡單交易列使用各種訊息格式擴展成相異網路連接之多個訊息。例如,「交易」可係可擴展成傳遞至其他系統(例如,金融交易系統108、OPRA/UTP/CTS/CQS 112)之數個實體訊息(例如,8個訊息)之一泛型概念。此強大特徵允許操作 人員在一高抽象位準下準備使用案例以測試基於複雜交易規則操作之一金融交易系統。例如,在上文「交易」實例中,在一使用案例中可使用僅一列來指示一交易係合意的,但VT剖析器302可使用40個不同欄位創建8個訊息且確認跨越8個訊息之全部40個欄位。
靜態組態306可包含關於其中將測試一使用案例(諸如,金融交易系統108之記憶體分配及佇列深度設定)之環境之資訊。在一項實施例中,記憶體分配設定定義給金融交易系統108之不同子系統分配之記憶體之大小,且佇列深度設定定義金融交易系統108可在處理其之前接收並儲存之輸入訊息或命令之數目。系統設定(諸如記憶體分配及佇列深度設定)可經調整以將金融交易系統108調諧為與其他系統良好操作且以一最佳位準執行給定交易任務。靜態組態306亦可包含網路連線組態,諸如與(例如)用於接收交易訂單及市場資料且用於提供輸出之由金融交易系統108之個別執行個體維持之固定連接相關聯之IP位址及埠編號。
動態組態與權利308可包含金融交易系統108之不同操作模式之變化之組態。一權利用以描述一交易公司具有之關於金融交易系統108之權限。交易公司針對與金融交易系統108通信具有不同要求。舉例而言,市場創造者1(MM1)可在金融交易系統108處具有可用於接收(例如)來自MM1之交易之報價之兩個埠,且市場創造者2(MM2)可具有三個此等埠。此等埠可經組態以接收或忽略不同訊息類型。例如,MM1可使一種類型之訊息(例如,「填補」訊息)發送至兩個埠中之一者,而MM2可使同一類型之訊息發送至全部三個埠。VT剖析器302可讀取此等權利且使用其來判定確認什麼內容。例如,在一個操作環境/模式中,MM1與MM2之間的一使用案例中之一單個交易列在由VT剖析器302剖析時可轉換為四個訊息確認之列。然而,在另一操作環境中,若MM1具有兩個埠但MM2具有僅一個埠來接收用於填補 訂單之「填補」訊息,則權利可針對MM1及MM2不同地組態。VT剖析器302能夠使得同一使用案例能夠基於兩個操作環境中之每一者之權利設定在該等操作環境中恰當地確認。
金融交易系統108(亦稱為交換系統)係高度可組態的。在任何給定時刻,金融交易系統108可在數個不同操作環境(例如,開發環境、品質保證環境、生產環境)中之一者中運行,且VT剖析器302能夠適應於交易系統108之改變操作環境。舉例而言,權利可在金融交易系統108自一個操作環境切換至下一操作環境時改變,且VT剖析器302可適應於此等改變以在權利改變時增加或減小確認之數目。
剖析器映射310係基於金融交易系統108之相關交易規則及系統要求產生,且提供VT剖析器302需要映射之資訊(舉例而言,包含於一高層級使用案例中之泛型元素至金融交易系統108可理解之特定元素)。往回參考表1,舉例而言,使用案例實例1使用一泛型行動者,諸如市場創造者1(MM1)。然而,實際上不存在如在金融交易系統108上註冊以交易(例如)選擇權合約之市場創造者1之此類顧客。VT剖析器302使用由剖析器映射310提供之資訊將此泛型行動者MM1映射至一真實經註冊行動者。在某些實施例中,剖析器映射310包含定義交換系統(亦即,金融交易系統108)之整個互動之一組廣泛映射。
剖析器映射310包含巨集動詞擴展(Macro Verb Expansion)310a、工作階段310b、公司310c、欄位映射310d及產品310e(諸如選擇權及基礎證券(基礎資產))。VT剖析器302可自一使用案例(例如,交易)獲取一簡單指導/指令且使用巨集動詞擴展310a將其向外擴展為數個可測試行動。巨集動詞向外擴展為原動詞及虛擬動詞。對金融交易系統108之共同行動可支援不同介面(例如,若干個輸入參數)。舉例而言,存在需要設定不同輸入欄位(參數)之數種類型之訂單。針對具有一組以上輸入欄位之一共同行動/動詞,使用虛擬動詞來使使用案例 104保持簡單且簡潔但使得VT剖析器302能夠理解一特定使用案例正嘗試測試什麼內容。
例如,一原動詞之一實例可係一「Fix訂單」。一「Fix訂單」動詞具有用以定義一訂單之諸多不同欄位。金融交易系統108使用需要填入一組不同欄位之不同訂單類型(例如,不減少(DNR)訂單、立即或取消(IOC)訂單)。為了幫助一使用案例作者,將共同訂單類型映射至虛擬動詞。例如,可將DNR訂單及IOC訂單映射至稱作DNR或IOC之虛擬動詞以藉由(例如)減少一使用案例中之欄之數目而使該使用案例更容易讀取。可使用原動詞「Fix訂單」來發送一IOC或DNR訂單,但如此做將需要使用案例作者知曉用於發送一IOC或DNR訂單之所有必要欄位之細節。
每一行動者(例如,經註冊顧客)可使用不同網路連接來與金融交易系統108通信。一使用案例亦可包含諸多不同行動者。VT剖析器302可針對一使用案例中之每一行動者使用工作階段310b映射並指派特定連接。VT剖析器302亦可使用公司310c及產品310e將一使用案例中之一泛型交易公司及泛型產品映射至在金融交易系統108註冊上之一特定交易公司及透過金融交易系統108交易之特定產品。VT剖析器302亦可使用欄位映射310d將一使用案例中之每一資料欄位映射至發送至金融交易系統108或自該金融交易系統發送之特定測試資料。
圖4係根據所揭示標的物之一項實施例之一剖析程序400之一流程圖。在402處,VT剖析器302讀取靜態組態306及動態組態與權利308。在某些實施例中,當新或經修改使用案例變得可用於處理時,啟動VT剖析器302。在404處,VT剖析器302自一使用案例儲存庫讀取一使用案例104。
在406處,VT剖析器302藉由剖析所導入使用案例之每一列而創建經檢索使用案例之一剖析器視圖。舉例而言,VT剖析器302自使用 案例讀取資料且將資料儲存至其可更佳地管理及處置之資料結構中。例如,在某些實施例中,將使用案例104提供為試算表檔案(例如,MSTM ExcelTM試算表檔案)且基於PythonTM程式設計語言建構VT剖析器302。基於PythonTM之VT剖析器302可藉由讀取一Excel試算表檔案中之使用案例資料且將其儲存於使用PythonTM建構之資料結構中而創建含於該Excel檔案中之一使用案例之一剖析器視圖。
在408處,VT剖析器302藉由處理使用案例之剖析器視圖而自經檢索使用案例產生一或多個測試案例且輸出所產生測試案例。舉例而言,VT剖析器302可基於組態及權利306、308處理並擴展在406處創建之剖析器視圖且將自擴展產生之資料儲存為一測試案例格式。在某些實施例中,將測試案例建構為XML描述性語言。下文連同圖5一起更詳細地解釋自一使用案例產生一或多個測試案例。
在410處,判定是否仍存在更多使用案例供VT剖析器302來處理。若在410處判定不存在更多使用案例供VT剖析器302來處理,則剖析程序在412處結束。然而,若在410處判定仍存在更多使用案例供VT剖析器302來處理,則VT剖析器302在404處自使用案例儲存庫讀取下一使用案例。
圖5係根據所揭示標的物之一項實施例之自動化測試之自一使用案例產生測試案例之一程序500之一流程圖。在502處,VT剖析器302處理共同使用案例欄位。該等共同使用案例欄位係指存在於每一使用案例中之使用案例欄位,諸如使用案例之相關可追蹤性矩陣之名稱/位置及描述。舉例而言,VT剖析器302可將共同使用案例欄位映射或複製成對應測試案例。
在某些實施例中,VT剖析器302判定是否發現在404處檢索之使用案例在一可追蹤性矩陣中具有至少一個對應或匹配系統要求。在某些實施例中,該可追蹤性矩陣係在運行時間產生。若判定經檢索使用 案例在可追蹤性矩陣中不具有匹配系統要求,則程序可結束且不可自使用案例創建測試案例。
在504處,VT剖析器302讀取經檢索使用案例之每一命令列。舉例而言,VT剖析器302可自包含經檢索使用案例之一Excel試算表檔案一次讀取一列。在506處,VT剖析器302藉由基於剖析器映射310擴展命令列而將命令列轉換為一或多個對應測試案例列。下文連同圖6一起更詳細地解釋將命令列轉換為對應測試案例列。
在508處,判定在經檢索使用案例中是否仍存在更多命令列供VT剖析器302轉換成測試案例列。若在508處判定不存在更多命令列供VT剖析器302轉換成測試案例列,則自一使用案例產生測試案例之程序500在510處結束。然而,若在508處判定仍存在使用案例之一或多個命令列待轉換成測試案例列,則VT剖析器302在504處自使用案例讀取下一命令列且在506處轉換下一命令列。
圖6係根據所揭示標的物之一項實施例之將使用案例命令列映射至對應測試案例列(例如,自動化描述性語言函數)之一程序600之一流程圖。在602處,VT剖析器303擴展在504處導入之命令列中之巨集動詞。舉例而言,VT剖析器302獲取使用使用案例命令列中之一巨集動詞表達之一簡單指導且將其向外擴展為用於可測試行動之數個原動詞/虛擬動詞。亦可在602處判定命令列是否包含多方動詞,諸如交易(其因為具有買入方及賣出方組件分量而係多方的)。若判定命令列包含一多方動詞,則VT剖析器302藉由將(例如)交易分解成一買入方及一賣出方而擴展多方動詞。在604處,VT剖析器302根據使用案例資料欄位中所設定之值用適當可測試行動替換命令列中之虛擬動詞(若存在)。
在606處,VT剖析器302迴圈穿過所有命令列資料欄位循環以用於將適當命令列資料映射至測試案例中之對應指令之資料欄位。在 608處,VT剖析器302執行一或多個映射函數以將一命令列資料欄位映射至測試案例中之對應指令之資料欄位。在610處,判定針對每一命令列資料欄位是否存在一唯一映射函數。
自使用案例資料欄位(例如,Excel欄位)映射至對應測試案例指令欄位並非總是涉及一對一映射。舉例而言,取決於給定巨集動詞或虛擬動詞,待映射之資料之位置可在一使用案例中之不同位置中。例如,在一項實施例中,預定義使用案例之格式(例如)以增強使用案例之可讀取性。舉例而言,在將試算表檔案用於準備使用案例之情況下,可使用一個以上欄(例如,競價欄、叫價欄)來定義「價格」之一欄位。然而,一單個訂單需要稱作「價格」之僅一個欄位。因此,當產生一單個訂單時,VT剖析器302可將競價欄或叫價欄映射至價格欄位。訂單之巨集動詞可向外擴展為需要不同欄位之數個原動詞或虛擬動詞,且VT剖析器302將一使用案例中之數個相關欄中之一者映射至跨越用於擴展巨集動詞之多個動詞之不同欄位。
若在610處判定無唯一映射函數可用於一命令列資料,則在612處宣告一錯誤,且(例如)將使用案例命令列映射至自動化描述性語言函數之程序600結束。然而,若在610處判定一唯一映射函數係可用的,則VT剖析器302在614處使用唯一映射函數設定對應測試案例指令(例如,訊息)欄位。
在616處,判定是否仍存在更多命令列資料欄位供VT剖析器302映射至對應測試案例指令。若在616處判定不存在更多使用案例資料欄位,則VT剖析器302在618處基於權利308擴展測試案例資料欄位之確認。舉例而言,若增加確認之數目對測試所有權利必要,則VT剖析器302可如此做。程序600在620處結束。然而,若在616處判定仍存在一或多個命令列資料欄位,則VT剖析器302繼續進行至606。
圖7係展示根據本發明之一項實施例之一軟體系統品質保證程序 700之一方塊圖。參考圖7,系統品質保證程序700藉由在702處產生一交易應用程式之一(商業中心)系統要求規範而開始。舉例而言,一商業團隊可與一律師團隊一起工作以產生一選擇權交易應用程式之一系統要求規範。在704處,產生交易規則。舉例而言,商業團隊可與律師團隊一起工作以基於系統要求規範產生一組交易規則。一旦產生交易規則,該等規則即可由商業及律師團隊檢閱。視需要,可基於該等規則之檢閱修訂系統要求規範。可存在此等檢閱及修訂之數次反覆。
在706處,檢閱系統要求規範。舉例而言,商業團隊可將系統要求規範遞送至一開發團隊及一品質保證團隊以用於該等開發及品質保證團隊之一檢閱。開發及品質保證團隊可在執行其對系統要求規範之自身分析之後與商業及律師團隊碰面以討論潛在實施方案問題,諸如過度複雜性、效能含義及未探索之情境。商業團隊可基於討論修訂並改善系統要求規範及/或交易規則。開發及品質保證團隊亦可將技術驅動之要求添加至系統要求規範,且商業團隊可檢閱技術驅動之要求以識別可能影響現有功能性之任何非意欲結果。
在708處,產生一功能規範。舉例而言,開發團隊可基於系統要求規範產生一功能規範。一功能規範可關於新或經修改功能性規定交易應用程式將如何操作。在此階段處亦可考量可由品質保證團隊用以自動化地測試交易應用程式之一自動化測試工具以確保測試工具之完整性。由於在某些情形中測試工具可不受商業功能改變影響,因此在彼等情形中可僅需要解決修改外部應用程式訊息接發之要求。
在710處,檢閱功能規範。舉例而言,開發及品質保證團隊可與商業團隊一起工作以檢閱在708處產生之一草稿功能規範以確保實施方案及操作細節與系統要求一致。可基於檢閱做出對功能規範之改善。
在712處,開發團隊建立交易應用程式。舉例而言,開發團隊可 與品質保證團隊工作以產生交易應用程式之高階且詳細設計。一旦必要設計準備就緒,開發團隊即可開始將構成交易系統之模組及組件編碼或程式化。當開發團隊完成每一模組/組件時,品質保證團隊可進行完成之模組及組件之單元測試。當對較多應用程式模組及組件進行編碼及單元測試時,品質保證團隊亦可在經單元測試之模組及組件被整合時對彼等模組及組件進行整合測試。
在714處,產生商業功能性中心使用案例。舉例而言,商業團隊可做出一共同努力以開發與商業功能性相關之使用案例且確定此等商業功能性中心使用案例是否恰當地交叉參考系統要求及相關交易規則。一旦產生商業中心使用案例,即可對其進行同級檢閱。在716處,產生一可追蹤性矩陣。舉例而言,品質保證團隊可做出一共同努力以產生展示(例如)使用案例與對應系統要求之間的多對多關係之一可追蹤性矩陣。品質保證團隊亦可基於功能規範開發技術驅動之使用案例。品質保證團隊可與開發團隊一起工作以一旦產生技術驅動之使用案例即對其進行檢閱。
在718處,執行使用案例。舉例而言,一旦完成並檢閱商業中心使用案例及技術驅動之使用案例兩者,即可使用自動化測試工具執行。在執行使用案例之程序中,可憑藉運行自動化測試案例以成功完成而透徹地測試交易應用程式之模組及組件以及自動化測試工具。例如,自動化測試工具可處理使用案例以將使用案例轉換成適當測試案例且運行測試案例以產生測試結果。可將如此產生之測試結果存檔。亦可分析測試結果以識別所測試應用程式中之缺陷。
在720處,檢閱在自動化測試期間識別之缺陷以將該等缺陷中之每一者之源定位。舉例而言,設計、開發及測試應用程式中所涉及之團隊可分析該等缺陷以將該等缺陷中之每一者追蹤至其源(亦稱為根本原因)、根據所識別源將其分類且將該等缺陷分發給適當團隊以採 取適當補救行動來校正該等缺陷。例如,可給商業團隊指派校正由系統要求或交易規則中之缺陷導致之一設計缺陷之任務。可給開發團隊指派校正由在編碼階段期間引入至交易系統之一組件之缺陷導致之一編碼缺陷之任務。可反覆系統品質保證程序700中之步驟中之某些或所有步驟以改善交易應用程式之準確性、可靠性、穩健性及效率且識別並校正缺陷。確認缺陷之校正可涉及單元及整合層級兩者中之回歸測試。
系統品質保證程序700提供足以完成管理測試程序之所有態樣之目標之步驟,包含產生及維持使用案例、創建可追蹤性矩陣、追蹤測試失敗及確認在將一交易應用程式認證為無缺陷之前的補救努力。由系統QA程序700提供之步驟亦足以完成在以下方面改良測試程序之目標:朝向測試之新效率及增強之準確性推進及建立用以支援產生準確且全面使用案例之交易應用程式並擴展對其之認識以測試交易應用程式在其上運行之系統內之邏輯功能域以及非功能域兩者。
系統QA程序700亦使得能夠管理一自動化測試設施(例如,自動化測試工具)以確保:(1)所有測試案例皆係自動地產生且對照軟體版本運行,(2)所有測試案例在測試範疇上皆係當前且全面的,及(3)所有測試案例皆連同對應測試結果一起恰當地存檔。
圖8係展示根據所揭示標的物之一項實施例之一品質保證缺陷管理程序800之一方塊圖。QA缺陷管理程序800包含以下步驟:(1)識別系統缺陷(測試階段),(2)分析經識別缺陷(缺陷管理階段),及(3)一旦識別出根本原因即校正缺陷(缺陷管理階段)。系統缺陷(諸如軟體錯誤)可能在一系統程式(諸如一選擇權交易應用程式)之軟體開發生命週期(SDLC)802之各個階段(例如,開發階段802a、品質保證階段802b、部署階段802c)期間引入。SDLC 802可包含一組(功能)測試804,諸如一單元測試804a、一組件層級隔離測試804b、一整合測試 804c、一系統測試804d、一失敗恢復測試804e及效能測試804f。
針對一交易系統之品質保證測試,可使用其中強調多維且重疊測試涵蓋範圍以達成全面測試之一功能測試方法。舉例而言,對功能測試之此多維方法使用靜態程式碼分析、單元層級測試(例如,單元測試804a)、組件層級隔離測試(例如,組件層級隔離測試804b)、組件層級整合測試(例如,整合測試804c)及系統層級測試(例如,系統測試804d)來確保一軟體系統之全面測試涵蓋範圍。功能測試方法可適用於新功能性以及現有功能性兩者。例如,藉由對現有功能性應用功能測試方法,可進行一全面回歸測試。
靜態及動態程式碼分析可經執行以偵測軟體問題,諸如記憶體洩漏、記憶體陣列滿溢及執行緒問題。另外,靜態程式碼分析可用以檢驗軟體以對其效能進行程式碼剖析、檢驗呼叫樹(呼叫堆疊)及提供對諸如靜態及堆積記憶體使用之主題之洞察。在某些實施例中,開放源碼工具(諸如Valgrind、CPPCheck、LCOV、Sonar及其他軟體程式碼剖析工具)用於靜態或動態程式碼分析。舉例而言,用於持續整合之Jenkins持續整合開放源碼工具(Jenkins)可用以不斷地建立軟體之新版本且叫用一軟體程式碼剖析工具來對照軟體之新版本進行靜態及動態程式碼分析。Jenkins係可提供軟體開發之持續整合服務之一開放源碼工具(亦即,自由軟體)。Jenkins應用程式自動地報告程式碼分析之結果。若在程式碼分析期間發現缺陷,則QA團隊可轉至QA缺陷管理程序800之缺陷管理階段中以分析並校正經識別缺陷。一旦校正了經識別缺陷,即重新測試軟體程式碼。
單元測試804a可經執行以測試一基本軟體組件層級處之演算法及功能性。使用諸如CppUnit、JUnit或Spock之工具在單元層級邊界(例如,類別、方法)處測試關鍵軟體組件。使用此等工具,可在每次建立一組件時自動且重複地執行單元測試804a。Jenkins開放源碼工具可 用以不斷地建立每一組件且執行其單元測試。Jenkins開放源碼工具亦可自動地報告所有此等建立及單元測試之成功及失敗且將結果存檔。若透過單元測試804a發現缺陷806,則QA團隊可轉至QA缺陷管理程序800之缺陷管理(例如,AtlassianTM JIRATM)階段808中以分析/報告(808a)、記錄(808b)且校正(808c)經識別缺陷806。JIRA錯誤與問題追蹤工具可報告、記錄及追蹤透過QA測試發現之所有缺陷。一旦校正了經識別缺陷806,即重新測試(810)軟體組件。
軟體組件之原始程式碼可由一原始程式碼管理系統812(諸如GIT原始程式碼管理系統)維持及管理。原始程式碼管理系統812可針對不同SDLC階段維持原始程式碼儲存庫之單獨分支(開發分支812a、發行分支812b、主分支812c)。當修改並建立一軟體組件之原始程式碼時,原始程式碼管理系統812可觸發(814)經修改組件之重新測試。
組件層級隔離測試804b可在系統(例如,應用程式)層級邊界(例如,應用程式程序)處針對關鍵軟體組件執行。組件層級測試804b可利用定製組件來測試與所有其他應用程式組件隔離之關鍵應用程式組件以便在每一新建立完成後旋即進行自動化且重複控制之測試。若透過組件層級隔離測試804b發現缺陷806,則QA團隊可轉至QA缺陷管理程序800之缺陷管理階段808中以分析/報告(808a)、記錄(808b)且校正(808c)經識別缺陷806。一旦校正了經識別缺陷806,即重新測試(810)經隔離軟體組件。
整合測試804c可經執行以確保耦合之應用程式組件在訊息接發域以及邏輯交易管理域兩者處恰當地整合。整合測試804c可以兩種方法進行。一種方法係用於進行可重複測試案例之自動化整合測試,且另一種係用於測試使自動化測試不實際之複雜互動之系統組件之人工測試。人工整合測試係針對複雜測試情境(諸如,例如,涉及與外部組織整合之外部服務之彼等情境)執行。若透過整合測試804c發現缺陷 806,則QA團隊可轉至QA缺陷管理程序800之缺陷管理階段808中以分析/報告(808a)、記錄(808b)且校正(808c)經識別缺陷806。一旦校正了經識別缺陷806,即重新測試(810)經整合應用程式組件。
系統測試804d可經執行以自使用者經驗角度測試相關系統(例如,一金融交易應用程式)之功能性以及根據相關聯系統要求及交易規則確保其軟體功能。系統測試804d可以兩種方法進行。一種係對系統採取一黑箱測試方法之自動化系統測試,且另一種係人工測試。針對一自動化系統測試,可使用一所有權測試子系統(例如,驗證子系統102)。Jenkins開放源碼工具可用以不斷地執行驗證子系統及自動化系統測試之相關測試案例。
人工測試係在互動之組件之複雜性使此測試之自動化非常困難或不實際時或在系統包含需要人工互動以驗證其視覺呈現及互動行為之一使用者介面時進行。可針對人工執行之系統測試產生概述人工測試程序之一測試計劃。若透過系統測試804d發現缺陷806,則QA團隊可轉至QA缺陷管理程序800之缺陷管理階段808中以分析/報告(808a)、記錄(808b)且校正(808c)經識別缺陷806。一旦校正了經識別缺陷806,即重新測試(810)系統。
失敗恢復測試804e可對適當應用程式層級組件進行以確認自各種應用程式及硬體系統(例如,伺服器、網路等)層級失敗情境之恢復。失敗恢復測試804e通常涉及需要以操作方式產生之幹預來模擬各種情境之人工密集程序。若透過失敗恢復測試804e發現缺陷806,則QA團隊可轉至QA缺陷管理程序800之缺陷管理階段808中以分析/報告(808a)、記錄(808b)且校正(808c)經識別缺陷806。一旦校正了經識別缺陷806,即重新測試(810)失敗情境。
效能測試804f係多層面的且可涉及自動化及人工效能測試兩者。針對自動化效能測試,可使用一所有權效能測試工具(速度測試)來測 試金融交易應用程式之各種態樣之效能屬性,諸如系統輸送量(例如,每秒訊息輸送量)、延時(例如,往返時間延時)及所模擬顧客活動之判定(例如,一按比例縮小之模擬生產環境中之每一報價介面之標準差)。速度測試可使用Jenkins開放源碼工具來自動地執行效能測試且將效能測試結果存檔。
若透過效能測試804f發現缺陷806(例如,效能屬性降至低於所需位準),則QA團隊可轉至QA缺陷管理程序800之缺陷管理階段808中以分析/報告(808a)、記錄(808b)且校正(808c)經識別缺陷806。一旦校正了經識別缺陷806,即重新測試(810)失敗效能屬性。人工效能測試係在自動化測試不實際或非常難以實施之情況下執行。類似於自動化效能測試,人工效能測試之目的係在系統輸送量、延時及判定方面量測系統效能。來自人工效能測試之所有測試結果皆人工地記錄。
儘管已出於呈現本發明之基本結構之目的而說明結構之特定組態,但熟習此項技術者將瞭解,仍將歸屬於隨附申請專利範圍之範疇內之其他變化形式係可能的。
100‧‧‧交易環境
102‧‧‧驗證子系統
104‧‧‧預定義使用案例/使用案例
108‧‧‧金融交易系統/交易系統/電子交易系統
110a‧‧‧市場創造者
110b‧‧‧訂單提供者
112‧‧‧選擇權價格報告授權、證券買賣匯總記錄帶系統/匯總報價系統、未掛牌交易特權/其他參與者/選擇權價格報告授權、證券買賣匯總記錄帶系統/匯總報價系統、未掛牌交易特權資訊源
112a‧‧‧選擇權價格報告授權
114a‧‧‧FIX閘道器/FIX介面閘道器
114b‧‧‧高速行情指示器
114c‧‧‧後端辦公室初始化與資料命令
116a‧‧‧市場高點/市場高點饋入
116b‧‧‧二元選擇權置放區/後端辦公室置放區
116c‧‧‧公司置放區
116d‧‧‧清算交易置放區

Claims (30)

  1. 一種用於測試具有一驗證子系統及用於執行金融商品之交易之一或多個交易環境之一電腦化交易系統之方法,該等交易環境中之每一者具有一通信網路介面、儲存記憶體及由一處理器執行之一匹配引擎,該方法包括:由該驗證子系統檢索至少一個經定義使用案例,每一經定義使用案例包括一或多個命令列;由該驗證子系統基於經定義剖析規則剖析該等命令列以產生經剖析命令列,每一經剖析命令列包括規定至少一個金融交易之一動詞,且每一經剖析命令列進一步包括一或多個欄位,每一欄位含有該經規定金融交易之一參數;由該驗證子系統基於經定義映射關係映射每一命令列之該動詞及欄位以產生一測試案例;由該驗證子系統執行該測試案例以產生待由該交易系統執行之一或多個訊息及待執行之一或多個確認;由該驗證子系統傳輸在該交易系統之該一或多個交易環境中執行之該等訊息;由該驗證子系統讀取由該等確認規定的該交易系統之參數以用於與經規定確認值相比較。
  2. 如請求項1之方法,其中該驗證子系統之該映射包括:在該等訊息中規定一特定網路連接以使得經由該經規定網路連接傳輸一特定訊息以供執行。
  3. 如請求項2之方法,其中基於該使用案例中所規定之一行動者之一身分識別判定該經規定網路連接。
  4. 如請求項2之方法,其中該特定訊息由對應於該經規定網路連接 之一特定交易環境執行。
  5. 如請求項1之方法,其中該使用案例規定一泛型行動者,且該驗證子系統之該映射進一步包括規定替代該泛型行動者之一經註冊使用者。
  6. 如請求項1之方法,其中該使用案例規定一泛型金融產品,該泛型金融產品係該訊息之該執行之一物件,且該驗證子系統之該映射進一步包括規定替代該泛型產品之一經註冊使用者。
  7. 如請求項1之方法,其中該經剖析命令列之該動詞係映射至複數個原動詞中之一者及至少一個原動詞與至少一個虛擬動詞之一組合之一巨集動詞,每一虛擬動詞係映射至一原動詞且每一原動詞對應於待由該交易系統執行之一特定訊息。
  8. 如請求項1之方法,其中該經剖析命令列之該動詞係一虛擬動詞,該虛擬動詞係映射至一原動詞以使得該原動詞之至少一個欄位由該虛擬動詞判定,每一原動詞對應於待由該交易系統執行之一特定訊息。
  9. 如請求項1之方法,其中該經剖析命令列之該動詞係一多方動詞,該多方動詞藉由分解成一賣出方及一買入方而擴展且映射至一賣出方原動詞及一賣出方虛擬動詞中之一者以及一買入方原動詞及一買入方虛擬動詞中之一者,每一者對應於待由該交易系統執行之一特定訊息。
  10. 如請求項1之方法,其中用於與自該交易系統讀取之該等參數比較之該等經規定確認值包含於該使用案例中。
  11. 如請求項1之方法,其中該等確認之至少一部分基於與一經註冊使用者相關聯之若干個權利,該等權利對應於指派給該經註冊使用者之若干個網路通信埠。
  12. 如請求項1之方法,其中將該使用案例儲存於一試算表檔案中且 將該測試案例產生為一XML描述性語言。
  13. 一種用於測試具有一驗證子系統及用於執行金融商品之交易之一或多個交易環境之一電腦化交易系統之系統,該等交易環境中之每一者具有一通信網路介面、儲存記憶體及由一處理器執行之一匹配引擎,該系統包括:該驗證子系統,其包括一處理器及一通信介面;一記憶體,其可由該驗證子系統存取,其儲存包括一或多個命令列之一或多個經定義使用案例,其中該驗證子系統經組態以執行:基於經定義剖析規則剖析一經檢索使用案例之該等命令列以產生經剖析命令列,每一經剖析命令列包括規定至少一個金融交易之一動詞,且每一經剖析命令列進一步包括一或多個欄位,每一欄位含有該經規定金融交易之一參數;基於經定義映射關係映射每一命令列之該動詞及欄位以產生一測試案例;執行該測試案例以產生待由該交易系統執行之一或多個訊息及待執行之一或多個確認;傳輸在該交易系統之該一或多個交易環境中執行之該等訊息;及讀取由該等確認規定的該交易系統之參數以用於與經規定確認值相比較。
  14. 如請求項13之系統,其中該驗證子系統之該映射包括:在該等訊息中規定一特定網路連接以使得經由該經規定網路連接傳輸一特定訊息以供執行。
  15. 如請求項14之系統,其中該經規定網路連接係基於該使用案例中所規定之一行動者之一身分識別判定。
  16. 如請求項14之系統,其中該特定訊息由對應於該經規定網路連接之一特定交易環境執行。
  17. 如請求項13之系統,其中該使用案例規定一泛型行動者,且該驗證子系統之該映射進一步包括規定替代該泛型行動者之一經註冊使用者。
  18. 如請求項13之系統,其中該使用案例規定一泛型金融產品,該泛型金融產品係該訊息之該執行之一物件,且該驗證子系統之該映射進一步包括規定替代該泛型產品之一經註冊使用者。
  19. 如請求項13之系統,其中該經剖析命令列之該動詞係映射至複數個原動詞中之一者及至少一個原動詞與至少一個虛擬動詞之一組合之一巨集動詞,每一虛擬動詞係映射至一原動詞且每一原動詞對應於待由該交易系統執行之一特定訊息。
  20. 如請求項13之系統,其中該經剖析命令列之該動詞係一虛擬動詞,該虛擬動詞係映射至一原動詞以使得該原動詞之至少一個欄位由該虛擬動詞判定,每一原動詞對應於待由該交易系統執行之一特定訊息。
  21. 如請求項13之系統,其中該經剖析命令列之該動詞係一多方動詞,該多方動詞藉由分解成一賣出方及一買入方而擴展且映射至一賣出方原動詞及一賣出方虛擬動詞中之一者以及一買入方原動詞及一買入方虛擬動詞中之一者,每一者對應於待由該交易系統執行之一特定訊息。
  22. 如請求項13之系統,其中用於與自該交易系統讀取之該等參數比較之該等經規定確認值包含於該使用案例中。
  23. 如請求項13之系統,其中該等確認之至少一部分基於與一經註冊使用者相關聯之若干個權利,該等權利對應於指派給該經註冊使用者之若干個網路通信埠。
  24. 如請求項13之系統,其中該使用案例係儲存於一試算表檔案中且該測試案例係產生為XML描述性語言。
  25. 一種包括其中嵌入有一電腦可讀程式碼之一電腦可用非暫時性媒體之電腦程式產品,該電腦可讀程式碼包含用於執行一方法之步驟之指令,該方法用於測試具有一驗證子系統及用於執行金融商品之交易之一或多個交易環境之一電腦化交易系統,該等交易環境中之每一者具有一通信網路介面、儲存記憶體及由一處理器執行之一匹配引擎,該方法包括:由該驗證子系統檢索至少一個經定義使用案例,每一經定義使用案例包括一或多個命令列;由該驗證子系統基於經定義剖析規則剖析該等命令列以產生經剖析命令列,每一經剖析命令列包括規定至少一個金融交易之一動詞,且每一經剖析命令列進一步包括一或多個欄位,每一欄位含有該經規定金融交易之一參數;由該驗證子系統基於經定義映射關係映射每一命令列之該動詞及欄位以產生一測試案例;由該驗證子系統執行該測試案例以產生待由該交易系統執行之一或多個訊息及待執行之一或多個確認;由該驗證子系統傳輸在該交易系統之該一或多個交易環境中執行之該等訊息;由該驗證子系統讀取由該等確認規定的該交易系統之參數以用於與經規定確認值相比較。
  26. 如請求項25之電腦程式產品,其中該驗證子系統之該映射包括:在該等訊息中規定一特定網路連接以使得經由該經規定網路連接傳輸一特定訊息以供執行。
  27. 如請求項26之電腦程式產品,其中該經規定網路連接係基於該 使用案例中所規定之一行動者之一身分識別判定。
  28. 如請求項26之電腦程式產品,其中該特定訊息由對應於該經規定網路連接之一特定交易環境執行。
  29. 如請求項25之電腦程式產品,其中該使用案例規定一泛型行動者,且該驗證子系統之該映射進一步包括規定替代該泛型行動者之一經註冊使用者。
  30. 如請求項25之電腦程式產品,其中該使用案例規定一泛型金融產品,該泛型金融產品係該訊息之該執行之一物件,且該驗證子系統之該映射進一步包括規定替代該泛型產品之一經註冊使用者。
TW102144970A 2012-12-06 2013-12-06 用於測試一金融交易系統之系統及方法 TW201439947A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201261734238P 2012-12-06 2012-12-06

Publications (1)

Publication Number Publication Date
TW201439947A true TW201439947A (zh) 2014-10-16

Family

ID=50882034

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102144970A TW201439947A (zh) 2012-12-06 2013-12-06 用於測試一金融交易系統之系統及方法

Country Status (6)

Country Link
US (1) US8874479B2 (zh)
EP (1) EP2929498A4 (zh)
AR (1) AR093834A1 (zh)
HK (1) HK1216270A1 (zh)
TW (1) TW201439947A (zh)
WO (1) WO2014089435A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110490671A (zh) * 2019-08-28 2019-11-22 中国银行股份有限公司 量化报价策略模型的测试方法、系统及装置
CN113342683A (zh) * 2021-06-29 2021-09-03 深圳前海微众银行股份有限公司 一种测试案例处理方法、装置、平台及存储介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436460B2 (en) * 2013-10-29 2016-09-06 International Business Machines Corporation Regression alerts
US10007594B2 (en) * 2015-07-21 2018-06-26 International Business Machines Corporation Proactive cognitive analysis for inferring test case dependencies
US10282283B2 (en) * 2016-01-28 2019-05-07 Accenture Global Solutions Limited Orchestrating and providing a regression test
US10762211B2 (en) * 2018-04-12 2020-09-01 United States Of America, As Represented By The Secretary Of The Navy Source code diagnostic instrument
US10417115B1 (en) * 2018-04-27 2019-09-17 Amdocs Development Limited System, method, and computer program for performing production driven testing
CN111401955A (zh) * 2020-03-16 2020-07-10 畅捷通信息技术股份有限公司 价格金额算法的验证系统、方法、装置和存储介质
CN112631918B (zh) * 2020-12-25 2024-04-23 坤泰车辆系统(常州)有限公司 软件自动化测试验证的方法
CN113015203B (zh) * 2021-03-22 2022-08-16 Oppo广东移动通信有限公司 信息获取方法、装置、终端、系统及存储介质
US20230177604A1 (en) * 2021-12-06 2023-06-08 Jonathon FLETCHER Dynamic allocation of locations of matching engines in a cloud-based exchange
CN116414699B (zh) * 2023-03-13 2023-12-08 深圳华锐分布式技术股份有限公司 运营运维测试方法、装置、设备及介质
CN116225971B (zh) * 2023-05-08 2023-07-14 深圳华锐分布式技术股份有限公司 交易接口兼容性检测方法、装置、设备及介质
CN116303102B (zh) * 2023-05-19 2023-08-11 建信金融科技有限责任公司 测试数据的生成方法、装置、电子设备和存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784463A (en) 1996-12-04 1998-07-21 V-One Corporation Token distribution, registration, and dynamic configuration of user entitlement for an application level security system and method
US20090222508A1 (en) * 2000-03-30 2009-09-03 Hubbard Edward A Network Site Testing
US7162621B2 (en) * 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
US7725417B2 (en) * 2006-02-09 2010-05-25 Ebay Inc. Method and system to analyze rules based on popular query coverage
EP1847923A1 (en) 2006-04-21 2007-10-24 Microsoft Corporation Localising unstructured resources
WO2009007985A2 (en) * 2007-07-06 2009-01-15 Elitecore Technologies Limited Identity and policy-based network security and management system and method
US8595119B2 (en) 2008-02-15 2013-11-26 New York Mercantile Exchange, Inc. Symbolic language for trade matching
US20110093583A1 (en) 2009-10-16 2011-04-21 Apple Inc. Triggering actions based on changes in a network connection
US20110131451A1 (en) * 2009-11-30 2011-06-02 Ricardo Bosch Methods and system for testing an enterprise system
GB2489354A (en) * 2009-12-01 2012-09-26 Cinnober Financial Technology Ab Methods and systems for automatic testing of a graphical user interface

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110490671A (zh) * 2019-08-28 2019-11-22 中国银行股份有限公司 量化报价策略模型的测试方法、系统及装置
CN113342683A (zh) * 2021-06-29 2021-09-03 深圳前海微众银行股份有限公司 一种测试案例处理方法、装置、平台及存储介质
CN113342683B (zh) * 2021-06-29 2024-04-09 深圳前海微众银行股份有限公司 一种测试案例处理方法、装置、平台及存储介质

Also Published As

Publication number Publication date
HK1216270A1 (zh) 2016-10-28
EP2929498A4 (en) 2016-06-08
AR093834A1 (es) 2015-06-24
US20140164208A1 (en) 2014-06-12
US8874479B2 (en) 2014-10-28
EP2929498A1 (en) 2015-10-14
WO2014089435A1 (en) 2014-06-12

Similar Documents

Publication Publication Date Title
TW201439947A (zh) 用於測試一金融交易系統之系統及方法
US10769726B2 (en) System and method for modeling and verifying financial trading platforms
US10782960B2 (en) User interface that integrates plural client portals in plural user interface portions through sharing of one or more log records
Huang et al. Lobster: Limit order book reconstruction system
Tsolas Modeling profitability and stock market performance of listed construction firms on the Athens Exchange: Two-stage DEA approach
US20140013308A1 (en) Application Development Environment with Services Marketplace
EP2225715A1 (en) Financial product design and implementation
Wyatt et al. Principles for an ETL Benchmark
US20140316926A1 (en) Automated Market Maker in Monitoring Services Marketplace
US10497065B1 (en) Automatically correcting records
Ambartsoumian et al. Implementing quality gates throughout the enterprise it production process
US11824949B2 (en) Graph-based deployment tool
Zakeriyan et al. Towards automatic test case generation for industrial software systems based on functional specifications
US20070124156A1 (en) Representing business transactions
Northrop Trends and new directions in software architecture
Ono et al. U-Mart system: a market simulator for analyzing and designing institutions
CN115686869B (zh) 资源处理方法、系统、电子装置和存储介质
Zhan Designing and Implementing FRTB: A Practical Approach
Zhang Migrating a monolithic system to Event-Driven Microservices: A case study in Philips
Rinaldi Study and functional improvements development for an Options Strategy Builder Platform
Bakshi et al. Simulating Interaction in Financial Markets
Dean et al. Cots workshop: continuing collaborations for successful cots development
Specification et al. TPC EXPRESS BENCHMARK™ HCI (TPCx-HCI)
Öhman a Data-Warehouse Solution for OMS Data Management
Epie Data Integration: a Case Study in the Financial Services Industry