專案實戰:銀行系統對批次交易測試的共性關注點有哪些?

博為峰網校發表於2022-09-20

導讀

當前,在計算機主機的應用處理模式中,批次處理作為一種事後資料處理方式,一直是一種簡單而又非常重要的處理方式,尤其是對於海量資料處理,批次方式就更能顯示其高效的處理效果。隨著批次交易變得越來越複雜,以及對批次處理時效性的要求,迫切需要有一種有效的、快速的批次作業測試方式,以實現對批次處理的自動化測試。 加我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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章