星雲精準測試有力提高金融複雜系統的測試能效

隨着國內大數據、雲計算、人工智能等新技術的發展,銀行業的前中後臺正面臨着全面改造,金融科技是業務轉型發展的一個核心發力點。金融行業信息系統集中度高、規模龐大、多系統之間關聯性強、業務複雜、需求變化快,另外各類新舊系統錯綜交互,軟件質量控制難度異常複雜。經過技術手段精準地追溯每個數據路線,有效實現信息系統的高可靠性和易維護性,是金融業界共同的目標。算法

1、傳統測試的侷限
  目前,在大部分金融機構中,主流的功能測試方法是黑盒測試輔之以必定量的自動化測試。因爲自動化測試用例的維護問題較多,黑盒手工(功能)測試依然是主流。它有不少經典方法,如等價類、正交用例設計法以及近些年流行的探索性測試等。因黑盒測試方法整體依賴於業務經驗,以及必定的測試「靈感」和臨場發揮的「算力」,隨着金融軟件複雜性和迭代速度的不斷加快、軟件系統組合路徑膨脹等問題,人腦的推算力顯然遠遠跟不上了。即便很優秀的測試人員,也會由於狀態問題而致使測試用例設計水準出現波動。後續測試覆蓋不充分性日益凸顯,剩餘至少30%以上的漏測點。而白盒測試工具,由於技術沒有跟上敏捷迭代的開發場景,目前在金融企業幾乎不多在實際中應用。安全

2、精準測試概念的提出併發

  如何快速定位金融大型信息系統的測試死角,用「可量化」和「可視化」的分析與測試手段,有效地發現程序深層隱藏的缺陷、提升信息系統投產質量、下降投產風險、加強投產信心,金融業甚至軟件業均在尋求最佳解決方案。ide

  精準測試方法體系,是近年來業界頗爲關注的新測試技術體系。它立足於「系統級」測試,創建了業務功能與代碼之間的映射與追溯關係,在代碼優化、快速定位代碼缺陷、確保關鍵代碼的測試覆蓋、精準迴歸等方面表現突出。爲金融信息系統實施高效管理,提供了質量抓手。函數

3、 精準測試的關鍵技術工具

  1. 精準測試的核心技術

  精準測試最底層的核心技術:「一種基於用例與源碼雙向追溯的測試裝置及方法」,用一個量子糾纏的形象類比:如常見的金融轉帳、手機拍照、機器人控制等指令,每一個操做都有與之對應的代碼,他們之間如同兩個糾纏在一塊兒的粒子,具有強關聯性。一個發生變化,另外一個一定發生相應變化。星雲精準測試將功能用例和對應的代碼之間實現了精準無誤的追溯路線可視化,完全解決了「黑盒」的難題。在此核心技術基礎上,諸如:「迴歸測試用例的自動選取」、「覆蓋率可視化」、「智能缺陷定位」、「聚類分析」等精準測試的高級功能得以充分實現。性能

雙向追溯

圖 雙向追溯(正向)-測試用例追溯到代碼測試

  因爲優秀的內核設計,星雲精準測試(www.teststars.cc) 能夠輕鬆應用在數億行的超大型複雜應用上,在創建測試用例、代碼、模塊之間精準可視追溯機制的同時,瞬間可將海量數據實時採集並存儲起來,用於後續測試大數據的分析和運算上。總體過程對原有系統性能,不產生干擾。大數據

  1. 高度智能化的靜默式落地方案

  星雲精準測試並不改變現有的測試流程和團隊組成,它巧妙地使黑盒測試無縫對接到精準測試體系,快速實現提高測試效能比的剛需。測試工程師打開測試用例的Excel表格、執行點擊用例,便可經過VBA技術,直接調用星雲精準測試的後臺接口,再附加一整套深刻應用後臺執行線程的用戶標籤技術,就能夠將用例和代碼關聯和分離出來(分離是指相似J2EE服務端後臺應用)。在對外提供多用戶併發訪問的狀況下,可分離出每一個用戶執行的用例所對應的代碼。測試者在整個過程當中,幾乎不須要增長額外工做量。優化

  1. 精準可信的測試數據記錄過程

  傳統測試有點像挖礦藏,主要依賴測試用例執行數、時長、bug的數量等外在維度進行衡量,缺陷是未知數,結果不那麼具有公信力。精準測試是傳統測試走向可信測試的一個最好的技術手段。它的全部測試數據均是在測試執行過程當中,由軟件自動分析並錄入的底層代碼運行原生數據。因爲用例和執行代碼之間信息被完整跟蹤,而且細分到測試用例級別,所以整個測試數據均可以在代碼層面可視化出來,人工沒法介入修改。它真實再現測試現場狀況,結果可直接用於測試的過程管理和實效分析。從技術上確保全部數據精準無篡改。這一舉措,使測試的衡量點回歸到計算機程序的本質-「代碼」上來。

4、精準測試的應用實踐

  精準測試的用例與執行代碼的強追溯性,爲採集到的海量測試數據實現精準度量以及全面、多維度的測試分析,打下了堅實基礎。測試管理從相對單一的覆蓋率考量視角,擴展到多剖面的智能分析。因爲篇幅限制,本文選擇兩個主要功能點作一介紹:

一、企業級覆蓋率方面的創新

  測試覆蓋率是測試界公認的測試結項可用量化指標。在敏捷迭代場景下,因爲新版本快速發佈,代碼變動頻繁,本應在一個版本上分析的覆蓋數據,分佈到了數個代碼結構不同的程序版本上,所以傳統白盒覆蓋率的統計方法和參考意義基本上都失效了。星雲精準測試經過軟件示波器在系統測試階段取採集多種代碼覆蓋率(最高支持航天航空標準MC/DC的100%覆蓋率要求),提供實時覆蓋率增加趨勢圖及各種分析報表,管理者可清晰的觀察整個測試進度狀況、效率等。

  覆蓋率智能合併。精準測試能夠按照敏捷的模式,將多個版本的覆蓋率以最新程序代碼版本爲投影進行合併,在控制流上直接累加,無需在每一個版本上跑全量用例。它在不一樣的版本上執行不一樣功能範圍的用例,而後合併一個測試周期的覆蓋率信息,看整體的覆蓋狀況。覆蓋率合併算法將全自動分析每一個版本序列上程序函數變動的狀況,以最新版本往前合併,直到某個模塊的代碼發生變化,在此之間的覆蓋率都可合併。

  增量覆蓋率分析。版本發佈後,精準測試能夠對增量代碼覆蓋專門有一個統計維度,這樣也是對於覆蓋率目標的一種工業應用新思路,不用去關注整體覆蓋,而在迭代中關注調整代碼的覆蓋,尤爲是新增代碼的覆蓋狀況。

  覆蓋率可視化。在星雲精準測試中,用戶在選擇分析的覆蓋率維度後,系統就會將被測試程序的相關結構展現出來,而且用顏色表達覆蓋狀況:綠色表明覆蓋,深藍色表明未覆蓋。同時告知覆蓋率的分子和分母都是哪些,很是清晰的展現覆蓋率可視化結果。

  相關覆蓋率。可將某個功能用例所觸及的函數範圍中,全部代碼分支做爲覆蓋率的分母,真正運行到的分支做爲分子,這樣取得的相關覆蓋率很是具備實際指導意義。使用者在有權限的狀況下,隨時能夠看到:所以即便測試的是一個小功能範圍的用例集,其覆蓋結果也能夠近似等價爲這個功能範圍相關代碼的覆蓋率狀況,亦能夠用於分析某個功能範圍的測試是否充分。

  二、迴歸測試用例的推薦和選取:

  對於測試效率的提高,通常會提到狹義的自動化測試,這也是行業內一般解決迴歸測試的辦法。它是一種應對全局迴歸的方法,在沒法有效肯定迴歸範圍的狀況下,就經過技術手段全量回歸以確保系統的修改沒有引入新的問題。真正實施過全量自動化迴歸的團隊,會對此項工做的難度和成本深有體會。

  星雲精準測試迴歸用例自動選取是屬於一種機器智能計算下安全的局部迴歸。它根據歷史測試用例執行的路徑信息以及新版本的代碼變動信息,自動推薦和選取回歸測試用例集,並給出迴歸優先級和影響度。用戶在測試人力有限的條件下,能夠根據算法給出的優先級安排測試執行,以最有效的方法發現代碼調整引入的缺陷。這種基於海量的程序運行路徑計算的數據,精確而完整,不會因團隊工做狀態問題,而出現大量遺漏的現象。

5、小結

  精準測試將大幅度提高測試數據的價值,也將產出大量對研發極有意義的分析數據。它必將推進軟件行業的數字化改革,爲傳統金融業務及金融創新(Fintech),提供更智能、有效的軟件高端質量保障思路與方法。

相關文章
相關標籤/搜索