【系統分析師】高分論文:論系統測試技術及應用

【摘要】
2022 年 7月,我作為項目負貴人,參加了某銀行的統計數據發布系統建設項目。該項目合同金額230 萬元,合同工期為半年。統計數據發布系統的主要目標是為該行建設一個企業級的數據統計、分析、發布平臺,實現定制化的數據應用、分析、展示功能;實現靈活的綜合查詢分析、明細數據查詢、固定報表展示、移動設備數據展示、風險分析、自助取數等功能,達到“統一數據來源、統一數據口徑、統一數據出口”的數據管理目標。

本文結合本人在該項目中的實踐,分別討論了單元測試、功能測試、集成測試和性能測試各階段測試的特點,詳細閘述了各階段所采用的具體測試措施和策咯。其中,重點討論了性能測試的類型和如何在項目中實踐各種性能測試。項目最終成功實施完成并順利驗收,得到了客戶高層領導的高度認可。

【正文】
某銀行在各項經營活動中積累了大量的數據資源,這些數據除了支撐銀行生產業務流程的正常運轉之外,也越來越多地被用于支撐監管報送、精準營銷、戰略決策、風險控制、績效考核等運營管理和決策過程的數據分析工作。為了滿足業務部門和管理人員不斷增長的報表數據需求,為決策分析提供依據,反映全行業務發展情況,識別和監測鳳險狀況。某銀行管理層迫切需要規劃和建立科學、規范、易于擴展、靈活性強的統計數據發布平臺。這樣就可以進一步完善全行報表體系,降低該行報表開發成本和難度,縮短報表開發周期,規范報表使用流程,降低管理與維護復雜度,實現統計數據集中及統計報表統一、規范管理。

2022 年 7 月,我作為項目負責人,參與并主導了該銀行的統計數據發布平臺項目,該項目合同金額230萬元,實施周期為半年。本項目產品架構基于 Java 的 B/S 架構,數據庫平臺是 Oracle 11g,中間件為 Weblogic,報表展現工具采用國內知名的 Smartbi 產品,調度工具為國內產品 TASKCTL,數據采集工具采用開源的 Kettle。我們在 IBM 完全生命周期測試模型的基礎上,根據本項目的具體特點和要求,結合成本效率進行了裁剪,形成本項目的測試策略、總體測試計劃和詳細測試計劃,并得到了銀行方技術部門的認可。測試整體上劃分為單元測試、功能測試、集成測試、性能測試和驗收測試等階段。驗收測試主要由銀行方的業務人員進行。本文重點討論前面4個階段的測試。

一、單元測試
該階段測試工作有應用系統測試和 ETL 開發單元測試。應用系統測試由于是用 Java 開發,所以采用了 JuNit 進行單元測試,由于本項目是基于標準產品的二次開發,類的數量不多。因此我們要求開發人員對每個新開發的類都要寫對應的測試類,測試通過后需要寫單元測試報告,并要求組內人員交叉檢查執行。ETL 開發是采用 Perl 腳本+存儲過程的方式進行的,單元測試階段主要采用公司自主研發的ETL 開發自動化測試工具。測試人員進行合理的配置,可自動化運行 ETL腳本,可進行空值檢查、主鍵重復檢查等。

二、功能測試
由于本系統既要在 PC 端展示,同時也需要在移動端展示,因此要求應用系統的功能測試主要通過編寫一份測試案例能在多個終端執行。我們使用公司自主研發的基于 STAF 自動化測試框架的測試工具進行功能測試,確保頁面功能在跨平臺,如PC端、安卓端、蘋果端都能運行正常,并確保在各個終端的鏈接跳轉都是符合預期的。

三、集成測試
集成階段需要將每個 ETL 作業配置在調度工具上,因此集成測試階段主要測試調度作業是否按照各種串行、并行機制分別運行,確保依賴作業的先后順序執行。對對于銀行信息系統,數據指標的正確性是重中之重。以往項目中,由于對數據準確性測試不充分,導致試運行階段不斷返工,不僅增加了開發人員投入,還導致了驗收期的延長。

本階段的測試重點是測試數據加工的準確性。我們主要采用以下措施:
(1)每個字段的值域范圍測試,譬如某個指標的歷史波動范圍在100萬~300 萬元之間,那么加工后的指標就不應該超過這個范圍。
(2)借助于業務經驗,采用總分比對的方式。銀行一般有分戶賬和匯總賬兩本賬。分戶賬通過按照機構、科目分類從明細匯總后,應當和現有的匯總賬一致。以上測試時都可用公司自主研發的 ETL 測試工具,在上面配置校驗規則后進行測試執行。另外,測試數據的完整性是確保數據準確性的關鍵所在,因此我們便在測試案例編寫過程中同步進行測試數據的申請。

四、性能測試
性能測試的目的是驗證軟件系統是否能夠達到用戶提出的性能指標,同時發現軟件系統中存在的性能瓶頸,并優化軟件,最后起到優化系統的目的。具體來說,包括以下四個方面。
(1)發現缺陷:軟件缺陷往往與軟件性能密切相關,因此缺陷測試需要結合性能測試一起進行。
(2)性能調優:性能調優并不一定發現性能缺陷,還可以更好地發揮系統潛能。
(3)評估系統的能力:測試能夠滿足性能需求的條件極限。
(4)驗證穩定性和可靠性:在一定負載下一段時間內,評估系統穩定性和可靠性是否滿足要求的方法。

性能測試類型包括基準測試、負載測試、壓力測試、穩定性測試、并發測試等。項目實際中,我們采用 LoadRunner 作為性能測試工具。基準測試方面,我們主要測試系統在用戶登錄數處于非月初正常水平下,系統的各項運行指標,并將各項指標進行記錄作為參考。

由于每月初系統用戶數都會有一個激增的過程,主要是因為月初為各業務部門進行數據統計報送的高并發期。因此需要基于這個用戶數量再加上未來 5年內該行業務部門統計人員增加的預估情況進行負載測試和壓力測試。我們要求系統的負載測試能至少持續 10 個工作日,壓力測試要求系統運行的各項指標不能低于基準測試指標的 80%。這些基準指標中,我們重點關注數據查詢響應效率指標,要求1 千萬級記錄數以下的表查詢響應時間為1 秒以內;1干萬~3 千萬級記錄數的查詢響應時間為3 秒以內;3 千萬~6千萬級記錄數的查詢響應時間為6 秒以內。同時,在測試過程中,還要及時發現 ELT 作業運行時間超過基準指標的作業進行整改,避免了這些作業在上生產后由于運行緩慢導致整體時間窗口延長。

2022 年 12月,本項目歷時半年后,在雙方項目領導的大力支持下,在雙方項目組成員的共同持續奮戰下,項目最終成功實施完成并順利驗收。由于客戶的高層領導在手機移動端看到了準確數據組的業務指標,而且界面美觀、功能流暢,因此高度認可該項目。客戶的科技部門也給我們公司發來了表揚信,并與公司快速簽約項目的二期建設。本項目的成功很大程度上得益于采用了科學測試技術、測試方法,測試取得的不錯效果,有力保障了項目的質量。

項目仍然存在不足的地方,具體有以下幾個方面:開發人員測試觀念不強,雖然要求進行單元測試,但是開發人員沒有很好地執行,導致在集成測試階段發現較多問題。公司自主研發的測試工具在配置上不夠靈活,無法快速配置大量測試案例。一些測試案例的數據準備不夠完備。我們從實踐中領會到測試確實可以在保證軟件質量方面起到很大的作用,但同時我們也認識到測試中還有很多領域和知識點需要繼續研究和實踐。新技術的發展對測試也提出了新的要求和挑戰,需要我們繼續研究探索。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/920610.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/920610.shtml
英文地址,請注明出處:http://en.pswp.cn/news/920610.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第5篇 c++ 函數的多返回值實現-返回多個值

c 函數的多返回值實現std::tuple<Mat, int, double, std::string> AuatoPafackSydstem::GetMatchingValue(Mat mat_img, std::string img_template_path) {Mat a;return {a,1,0.001,""}; }std::tuple<Mat, int, double, std::string> GetMatchingValue(M…

C++基礎(⑤刪除鏈表中的重復節點(鏈表 + 遍歷))

題目描述 給定一個排序好的鏈表&#xff08;升序&#xff09;&#xff0c;刪除所有重復的元素&#xff0c;使每個元素只出現一次。 示例&#xff1a; 輸入&#xff1a;1 → 1 → 2 → 3 → 3 輸出&#xff1a;1 → 2 → 3 解題思路 核心觀察&#xff1a;鏈表已排序&#xff0c;…

摩搭api 實現

AI圖片生成器前端實現詳解本文詳細解析一個功能完整的AI圖片生成器前端實現&#xff0c;包含主題切換、參數配置、圖片生成與預覽等核心功能。項目概述 這是一個基于ModelScope平臺的AI圖片生成器前端實現&#xff0c;用戶可以通過輸入提示詞、選擇模型和調整參數來生成高質量圖…

c++--線程休眠/sleep

線程休眠<unistd.h>--sleep()<thread>--std::this_thread::sleep_for()ros--rclcpp::sleep_for()以上的三個sleep也就是休眠會占用CPU嗎簡單直接的回答是&#xff1a;不會。一個正確使用、正在休眠的線程不會占用CPU資源。核心原理當你調用像 std::this_thread::sl…

人工智能基礎概念

The brain happens to be a meat machine. —— Marvin Lee Minsky 目錄 人類智能 人工智能 三個階段 三大學派 四個要素 關系辨析 維度分類 發展簡史 技術方向 應用領域 產業圖譜 發展趨勢 人類智能 人工智能的目的是通過探索智慧的實質&#xff0c;擴展人類智能…

企業數字資產管理怎么轉型更高效?一文打通策略與實踐

核心要點 問題&#xff1a; 傳統的內容管理方式效率低、協作難、版本混亂&#xff0c;企業轉型 DAM 系統面臨選型難和落地難兩大挑戰。 答案&#xff1a; 采用階段性轉型策略&#xff0c;結合智能化工具和標準化流程&#xff0c;能幫助企業構建可擴展、易協作、強治理的內容資…

python pyqt5開發DoIP上位機【源碼】

目錄 文章合集 文章合集 python pyqt5開發DoIP上位機【介紹】 python pyqt5開發DoIP上位機【代碼里發送常用uds命令是怎么實現的?】 python pyqt5開發DoIP上位機【代碼里是怎么獲取診斷回復的?】 python pyqt5開發DoIP上位機【診斷回復的函數都是怎么調用的?】 python …

IIC (I2C)通信

一、IIC的特點I2C&#xff08;Inter IC Bus&#xff09;又成為&#xff08;愛方C I2C&#xff09;是由Philips公司開發的一種通用數據總線兩根通信線&#xff1a;SCL&#xff08;Serial Clock&#xff09;、SDA&#xff08;Serial Data&#xff09;同步&#xff0c;半雙工帶數據…

【圖像處理 - 基礎知識】ISP(Image Signal Processor)處理

文章目錄1. 圖像傳感背景2. 圖像數據格式2.1. 【RAW】Bayer濾色陣列&#xff08;Bayer Filter Array&#xff09;2.2. 【RGB】2.3. 【YUV】3. ISP&#xff08;Image Signal Processor&#xff09;3.1. ISP定義3.2. 分類概括1 RAW 域&#xff08;Raw Domain&#xff09;2 RGB 域…

PostgreSQL 數據庫災備要點與舉例說明**

PostgreSQL 數據庫災備要點與舉例說明 數據庫災備(Disaster Recovery, DR)是確保業務連續性的核心環節,其目標是在主生產環境遭遇計劃外中斷(如硬件故障、自然災害、人為錯誤、數據損壞)時,能快速恢復數據和服務。PostgreSQL 因其強大和開源特性,提供了多種高效的災備方…

【GaussDB】在邏輯復制中剔除指定用戶的事務

【GaussDB】在邏輯復制中剔除指定用戶的事務 1. 需求背景 在邏輯復制中&#xff0c;期望對源端指定用戶的所有操作不復制到目標端。然而WAL日志中沒有用戶信息可用于過濾&#xff0c;因此考慮結合審計日志來實現這一需求。 2. 解決方案 2.1 配置審計日志 首先需要開啟事務…

C/C++---預定義常量

在C/C開發中&#xff0c;預定義常量是編譯器與標準庫提供的“隱形工具集”&#xff0c;無需開發者顯式定義&#xff0c;卻在跨平臺兼容、調試定位、數值計算安全等場景中發揮核心作用。這些常量涵蓋編譯環境標識、語言標準判斷、代碼定位信息、數值邊界限制等多個維度&#xff…

嵌入式學習筆記--LINUX系統編程--DAY03進程控制

1.進程概述進程和程序的區別程序&#xff1a;程序是存儲在存儲介質上的一個可執行文件---靜態的進程&#xff1a;進程是程序的執行實例。可以說進程就是正在執行的程序。程序是一些指令的集合&#xff0c;而進程是程序的執行過程&#xff0c;這個過程的狀態是變化的&#xff0c…

【90頁PPT】新能源汽車數字化轉型SAP解決方案(附下載方式)

篇幅所限&#xff0c;本文只提供部分資料內容&#xff0c;完整資料請看下面鏈接 https://download.csdn.net/download/2501_92808859/91777751 資料解讀&#xff1a;《新能源汽車數字化轉型SAP解決方案》 ??詳細資料請看本解讀文章的最后內容?? 在全球汽車產業加速向電…

LSM6DS3姿態芯片和LIS2MD磁力計芯片數據讀取(stm32)

上代碼main.c 代碼示例#include "lsm6ds3.h" #include "lis2md.h"int16_t Acc[3] {0}, GYO[3] {0},Mag[3] {0};int main(void) {I2C_GPIO_Config(); //配置IIC使用端口Delayms(500); //延時Lsm6ds3_Init( ); …

數據傳輸安全-IKE工作過程

在前面的課程中&#xff0c;你已經掌握了&#xff1a;IPSec的目標&#xff1a;提供機密性、完整性、身份認證、防重放。IPSec的執行者&#xff1a;AH和ESP協議。IPSec的規則手冊&#xff1a;SA&#xff08;安全關聯&#xff09;&#xff0c;包含了所有保護參數&#xff08;算法…

翻譯-同位協同克里金算法

同點協同克里金法 副標題: 地統計學課程 主要內容: 同點協同克里金法 摘要 同點協同克里金法是一種多元地統計學技術,用于借助次要變量(協變量)來估算主要變量。本課程介紹了同點協同克里金法,并將其與簡單克里金法和簡單協同克里金法進行了比較。通過一個假設的案例…

國家統計局數據分析01——機器學習

我們前面爬取過國家統計局數據爬取——機器學習-CSDN博客的數據,我們接下來就對爬取的數據進行分析。 這是一個完整的數據分析代碼,主要用于加載、清洗和探索政府統計數據。讓我為你詳細解釋每個部分: 1. 導入必要的庫 import pandas as pd # 數據處理和分析的核心庫 imp…

【雜談】-混沌理論能否賦予機器差異化思考能力?

混沌理論能否賦予機器差異化思考能力&#xff1f; 文章目錄混沌理論能否賦予機器差異化思考能力&#xff1f;1、AI與結構化思維的本質特征2、人類思維的獨特優勢3、混沌算法的創新實踐4、混沌算法的作用機理5、混沌算法的應用實例5.1 音樂創作革新5.2 圖像生成突破5.3 科學發現…

jQuery.print插件:網頁內容打印與導出指南

本文還有配套的精品資源&#xff0c;點擊獲取 簡介&#xff1a;在網頁開發中&#xff0c;為了實現內容的打印或導出&#xff0c;可以利用jQuery.print插件&#xff0c;該插件提供了一個簡易的解決方案&#xff0c;尤其適用于表格數據。本指南詳細介紹了如何使用jQuery.print…