證券行業解決方案介紹
綜述:
證券行業主要是券商,每個券商都有幾十個系統,如:集中交易、融資融券、港股通等等。每個系統在每年都有很多版本的更新,為了保證系統的可靠性和正確性,需要對每一次發布進行全面的測試。
但是全面的測試需要大量的、準確的測試用例,以及執行的資源,并且需要在很短的時間內執行完成——上線的時間通常都很短暫。現在的方式是指進行一定需求范圍(修改)部分的測試,但是軟件各個模塊和交易的關聯,通常容易引發未知交易的錯誤,這樣無法保證安全生產。
方案:
我們采用接口自動化測試和界面自動化測試的方式,來實現各個系統、覆蓋到每個業務功能的測試,并且能夠在短時間內執行完成。
具體的方案采用自動化測試技術來實現。
如上圖,為自動化測試整體的架構,它包括兩個大的部分:測試管理部分和自動化執行工具部分。
自動化工具,主要包括AutoRunner界面自動化測試工具(測試Windows系統下的各種應用系統)和MobileRunner移動端自動化測試工具(測試基于android系統和ios系統的移動設備上的APP,如移動端炒股軟件)。
測試管理部分,包括幾個大的模塊:
測試需求管理
測試需求管理,管理各個待測試系統的需求,按照需求的條目化來組織需求樹,實現對單個需求的有效管理,包括標識需求的狀態(需求是否測試通過、是否發生需求變更、是否通過評審等)、需求的內容(需求對應的功能點)、本需求對應的測試用例、本需求對應的缺陷等等。
測試需求管理的主要目標是根據軟件需求進行測試點分析,獲得測試大綱,即需求由哪些功能點組成,并進行測試。
測試計劃管理
規劃測試執行的時間和批量安排。
比如,我們需要在下個月10日測試一個版本,此版本包含的測試用例有哪些,分成哪些批次逐步來執行等。
同時,測試計劃也是根據測試的版本出具測試分析報告的基本單位。
測試構建
管理測試中使用到的測試腳本、測試用例、測試集合等信息。
測試腳本是自動化測試的基本單位,用來代替人工進行數據輸入和數據獲取、自動比對等操作。在本方案中,測試腳本被開發完成之后,是統一存放到測試管理平臺來管理。
測試用例,是根據測試大綱(測試需求)進行測試用例設計,形成的針對測試功能點及場景進行執行和驗證主體。
在自動化測試中,測試用例由一個或者多個測試腳本有序構成,并且指定確定的執行數據(某些特定數據在執行時刻從外部環境獲取)。
測試集,是包含了一系列測試用例,為了特定的目標而存在的測試用例的集合。測試集,是執行管理端的小單位,我們可以為測試執行分配資源來進行執行。在測試集合內部的測試用例,如果需要也可以進行指定,獲取特定的資源,或者在特定的機器設備上來執行。
測試執行管理
測試執行管理,主要是用來以測試集為單位進行分布式執行。
執行每個測試用例,都需要具體的執行機器,每個執行都需要一定的時間來完成。當我們需要在很短的時間(比如45分鐘)內來執行完成幾千幾萬個測試用例,那么在單臺機器上無法實現。因此,我們需要一個自動化的執行框架來進行分布式執行測試用例。
缺陷管理
允許用戶自定義缺陷處理的角色、流程、缺陷字段,并且進行缺陷管理。
當自動化執行出現錯誤,可以把這個錯誤提交成為一個缺陷。
當出現缺陷之后,我們可以確認這個缺陷,然后把它流轉到開發團隊進行處理,處理完成之后進行回歸。
測試分析
測試執行完成之后,我們需要統一來查看和分析測試完成的情況,由多少成功多少失敗,以及多少個需求沒有測試通過。
這樣我們需要通過測試分析模塊來查看當前的狀態。分析完成之后,可以導出成為測試分析報告。
案例設計
測試用例是決定測試質量的關鍵因素。系統包含了一個測試用例設計模塊,能夠輔助進行測試用例設計,實現交易用例和流程用例設計的自動化規范化。
系統管理
系統管理主要包括了測試項目管理(即支持多個不同被測試系統在不同的項目中進行分隔管理)、用戶管理、權限管理等功能。