專案實戰:銀行系統對批次交易測試的共性關注點有哪些?
導讀
當前,在計算機主機的應用處理模式中,批次處理作為一種事後資料處理方式,一直是一種簡單而又非常重要的處理方式,尤其是對於海量資料處理,批次方式就更能顯示其高效的處理效果。隨著批次交易變得越來越複雜,以及對批次處理時效性的要求,迫切需要有一種有效的、快速的批次作業測試方式,以實現對批次處理的自動化測試。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~
批次處理
批次處理是指將資料以按批處理的模式完成大量的資料訪問、計算、分類、分析、彙總的過程,最終輸出大量的營業分析報表,表現出資料訪問量大,計算量大,流程複雜等特性。
一般而言,批次處理透過建立作業計劃模板,以人工干預或系統自動調起程式的方式執行,模板中包含若干根據業務邏輯處理先後順序進行排列的節點,節點可以調起對應的批次交易程式,對資料進行加工處理並輸出結果。
目前銀行大量資料處理都是以批次形式執行,涵蓋了會計核算,對公業務,個人業務,信用卡業務,客戶資訊業務,資料處理業務等多個業務條線,涉及到賬務處理,報表統計,資料處理消費等多個核心功能,如何有效地檢查、驗證和確保批次業務的正確性,成為銀行測試部門的關鍵任務。
批次交易測試的共性關注點
儘管銀行批次業務種類繁多,但其在測試過程中關注點基本有以下幾個方面:
1、關注批次作業鏈配置,比如:配置模板正確性,排程計劃是否符合預期,代理能否正常調起程式,負載均衡策略是否生效等。
2、批次程式邏輯加工正確性,包含加工邏輯是否正確,資料是否有遺漏,是否有重複,入庫表結構,欄位名,特殊字元,超長字元能否正常入庫等。
3、程式本身語法及格式正確性,如是否包含明文密碼,是否包含異常處理,日誌定級是否正確,關鍵步驟是否有日誌記錄,程式語法是否規範,遇到特殊引數能否正確處理等。
4、效能效率是否符合要求,批次交易常常環環相扣,上游加工結果往往是下游加工的輸入,因此要求批次指令碼須在一定的時間內完成。
手工批次測試方式
基於以上測試點,手工進行測試的一般步驟為:根據需求設計測試用例,進行測試資料準備插入正反向測試資料,執行批次程式,查詢資料庫,根據預期結果編寫檢查語句核對生成資料。
但手工測試常常存在以下侷限:
測試效率低。實際測試過程中需要申請各類許可權而後連線載入機,連線資料庫。以手工方式逐條重複操作,測試效率低,無法有效支援有剛性時間要求的迴歸測試
測試資產無法有效積累。測試過程中使用的 語句,編寫的測試程式等無法結構化管理複用
批次測試對測試人員要求高。針對邏輯複雜,資料來源多,資料量大的批次程式,編寫核對SQL語句或程式難度大
難以進行質量監控。批次專案協辦眾多,上下游邏輯耦合緊密,手工測試導致測試分佈零散,無法進行有效監控
批次測試平臺初探
針對以上問題我們團隊開發了批次測試平臺,實現了從資料準備->批次執行->結果校驗的全流程自動化測試。
平臺核心功能有:
1.透過批次平臺串聯整個測試流程,進行自動化測試,為迴歸測試提供支援。
2.將錄入的測試資產管理起來,方便後續複用借鑑
3.透過預設的一系列檢查規則:表結構檢查、資料量檢查、資料空值檢查、資料合法性檢查、資料正確性檢查,降低了測試人員進行資料檢查的門檻,同時支援資料庫間,檔案與資料庫,檔案間的大資料量對比。
4.將多期測試資料儲存,可從專案、系統等多維度進行質量分析。
平臺測試的基本流程:
基本流程
平臺主要分為三大模組,配置管理、執行管理、統計分析,配置管理主要為錄入基本資訊,後續平臺將利用這些資訊連線資料庫和載入機,接著錄入系統資訊和專案資訊,這步是方便分別從系統及專案維度對測試資產進行分類。
配置資料庫
執行管理是配置測試策略的核心,如何準備測試資料,執行批次程式的具體命令,配置執行結果的檢查方法,這裡我們預設了一些常見的檢查規則,支援基本的結果檢查,比如資料量進行對比,資料欄位型別是否符合預期,某一欄位是否在預期的範圍內,兩個表或表與檔案的資料是否一致等。 透過這些預先定義良好的對比規則,降低了編寫檢查SQL語句的門檻,避免了繁複的人工檢查過程。
配置測試檔案
批次管理是對任務進行編排,在這裡我們以任務作為執行的最小單元,一個批次下可以包含多個任務,因為在實際測試過程中,一個專案可能包含多個批次測試任務,這些測試任務的執行環境及系統各不相同但是都隸屬於同一個專案,所以這裡使用批次的概念編排多個任務。
批次管理
執行歷史這裡可以檢視結果報告,我們將excel當中配置的各個sheet頁在這裡按條目一一對應,並且可以看到具體的執行日誌,結果錯誤的語句,並抽取一定量的錯誤資料以供缺陷分析。
測試結果
統計分析模組目前還未完成開發,未來將根據使用情況,積累到足夠資料後,針對資料採集情況採用不同報表和統計方式,以期能透過資料分析和報表呈現的方式對批次程式質量進行持續跟蹤,進而提高測試質量。
總結
批次測試無前臺頁面,邏輯關係複雜,覆蓋業務面眾多,資料量大等特點,導致批次測試的難度很大。平臺的產生縱然能解決自動化和降低部分檢查難度,但其造數和測試的複雜性仍舊存在,導致平臺配置仍然複雜。如荀子所言,“跬步不休,跛鱉千里;累積不綴,可成丘阜”,下一步的方向是將更多新技術與專案實際相結合,步步拆解其複雜性,進一步提高批次測試效率。
最後:
可以到我的個人V:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的影片學習教程免費分享!其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。
這些測試資料,對於做【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2915504/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 區塊鏈點對點交易系統的優勢有哪些?區塊鏈
- 匯豐銀行即將啟動區塊鏈試點專案,支援實時交易區塊鏈
- 關於MySQL表設計,測試人員可以關注哪些點MySql
- 關於銀行系統專項測試,你瞭解多少?學習一下
- 系統測試成功的關鍵點
- 適用於銀行業的ERP系統有哪些?行業
- 資料遷移測試專案實戰,2個系統的使用者資料如何進行關聯?(圖)
- PerformanceRunner效能測試專案實戰之crm客戶管理系統指令碼新增集合點(13)ORM指令碼
- 軟體系統測試有哪些測試過程?系統測試報告如何收費?測試報告
- 介面測試關注點是什麼?
- 效能測試關注點整理總結
- 軟體測試的痛點有哪些?
- 軟體測試專案實戰之功能測試 千鋒實戰教程
- 介面測試用例編寫和測試關注點
- 測試專案管理系統 — TPA專案管理
- IT專案管理之系統測試專案管理
- 專案風險管理系統有哪些?分享11款主流專案管理系統專案管理
- TPA測試專案管理系統-測試問題管理專案管理
- 有關測試開發的點在哪
- 虛擬幣止盈止損交易系統開發的特點有哪些
- Golang 專案中如何對 API 進行測試?GolangAPI
- OTT 方面的測試,有沒有熱 做過系統一點的測試,求指教。
- 軟體測試實戰專案,問題答疑
- CRM系統有哪些優點?
- 有關專案的幾點思考
- 半導體研發專案上優秀的ERP系統有哪些關鍵特性
- 企業總分部間多層級檔案傳輸,有哪些共性的痛點和需求?
- 避免專案失敗的六個基本關注點
- 智慧的客服系統有哪些優點?
- 機械行業使用WMS系統有哪些特點行業
- 有關oracle external table的一點測試。Oracle
- 有關lock的一點測試總結!
- 使用Jest對原生TypeScript專案進行UI測試TypeScriptUI
- FastAPI專案實戰:"非同步"介面測試"平臺"ASTAPI非同步
- CRM客戶關係管理系統有哪些優缺點?
- 專案管理知識在銀行系統應用(轉)專案管理
- 分散式系統關注點——如何去實施「負載均衡」?分散式負載
- CRM系統對企業的作用有哪些?