系統(tǒng)測試[程序化老手]
系統(tǒng)測試是整合之后對交易系統(tǒng)整體進(jìn)行測試。系統(tǒng)測試包含下面的幾個(gè)測試流程:
圖形用戶界面(GUI)測試確保系統(tǒng)的人機(jī)交互界面可以讓用戶(如負(fù)責(zé)監(jiān)控交易活動(dòng)的工作人員)完成其工作嗎。通常GUI測試需要保證屏幕上出現(xiàn)的所有按鈕都與適當(dāng)?shù)墓δ芟噙B,一切都與開發(fā)過程得瑟設(shè)計(jì)階段所制定的說明相符。
易用性和性能測試與GUI測試在很大程度上是類似的,不過并不限于測試圖形用戶界面,它還包括測試某個(gè)功能的速度之類的內(nèi)容。例如,系統(tǒng)處理“關(guān)閉系統(tǒng)”這個(gè)請求需要多長時(shí)間,從風(fēng)險(xiǎn)管理的角度來看這個(gè)時(shí)間是否可以接受,等等。
壓力測試是高頻交易系統(tǒng)測試的一個(gè)關(guān)鍵部分。壓力測試要記錄并且量化假設(shè)中的極端事件對系統(tǒng)表現(xiàn)造成的沖擊。例如,如果某只證券在非常短的時(shí)間里下跌了10%,系統(tǒng)將會(huì)作何反應(yīng)如果交易所因?yàn)椴豢煽沽ΧP(guān)閉,系統(tǒng)無法平倉怎么辦?還有其他哪些最壞的情形?它們又將如何影響系統(tǒng)的表現(xiàn)以及后來的盈虧?
安全性測試是測試過程中另外一個(gè)必不可少,但有經(jīng)常被人們忽視的環(huán)節(jié)。安全性測試的目的是找出可能存在的安全漏洞,并且提供軟件解決方案來修補(bǔ)漏洞,或者創(chuàng)建一個(gè)漏洞檢測機(jī)制,建立漏洞出現(xiàn)時(shí)應(yīng)急處理措施。高頻交易系統(tǒng)很容易受到來自互聯(lián)網(wǎng)的安全威脅,一些惡意用戶可能會(huì)為了竊取交易資金而試圖劫持帳號、密碼等其他機(jī)密信息。然而,我們也不能低估機(jī)構(gòu)內(nèi)部的安全威脅,心懷不軌的員工或者滿腹怨恨的工作人員可以通過不正當(dāng)?shù)姆椒ㄟM(jìn)入交易系統(tǒng),由此造成巨大破壞。所有這些可能性都須進(jìn)行測試并予以考慮。
可擴(kuò)展性測試是指測試系統(tǒng)的容量。在不顯著影響系統(tǒng)性能的情況下,系統(tǒng)能夠同時(shí)處理多少只證券并能取得盈利?這個(gè)問題答案看是無關(guān)緊要,但事實(shí)情況絕非如此。在系統(tǒng)中每添加一只證券,都要求分配計(jì)算機(jī)資源和網(wǎng)絡(luò)帶寬。在同一臺機(jī)器上同時(shí)處理大量證券可能會(huì)顯著降低計(jì)算機(jī)性能,從而打亂了報(bào)價(jià)和交易信號,并且影響到交易盈虧。具體最多能處理多少只證券取決于每個(gè)交易平臺的性能,以及可用的計(jì)算能力。
可靠性測試確定的是系統(tǒng)出現(xiàn)故障的概率。可靠性測試旨在回答如下問題:系統(tǒng)會(huì)在何種情況下出現(xiàn)故障?我們預(yù)期這些情況多久發(fā)生一次?導(dǎo)致故障的情況可能包括系統(tǒng)意外崩潰、內(nèi)存不足而至關(guān)機(jī),以及其他各種使得系統(tǒng)停止運(yùn)作的事件等。任何一個(gè)設(shè)計(jì)良好的高頻交易系統(tǒng)的故障率都不應(yīng)該超過萬分之一。
恢復(fù)測試指的是不利事件下,不論是不可抗力還是系統(tǒng)崩潰,恢復(fù)步驟文檔,幫助我們完整的重建系統(tǒng),并且在預(yù)定的時(shí)間之內(nèi)重新運(yùn)行的能力。恢復(fù)測試還要在系統(tǒng)意外中止的情況下保持?jǐn)?shù)據(jù)的完整性。恢復(fù)測試應(yīng)當(dāng)包括如下場景:如果程序正在運(yùn)行時(shí)計(jì)算機(jī)系統(tǒng)突然重啟,重啟之后程序應(yīng)該保有有效數(shù)據(jù)。類似的,如果網(wǎng)線意外被拔出有重新插入,程序應(yīng)當(dāng)繼續(xù)正常運(yùn)行。
- 上一篇:期貨大賽總冠軍周偉談程式化交易
- 下一篇:交易策略收益的基本特征
相關(guān)文章
-
沒有相關(guān)內(nèi)容