?

黑盒測試技術在ACRM 費用分解中的應用

2010-09-25 12:33遲慶云
大慶師范學院學報 2010年3期
關鍵詞:黑盒測試人員軟件測試

遲慶云

(棗莊學院 計算機科學系,山東 棗莊 277102)

IT 系統是決定企業速度的核心組件,軟件測試是系統開發中的重要環節,直接決定 IT 項目的成敗。在眾多的軟件系統中,銀行業務軟件以其高復雜性、高安全性、高準確性、高效率性給軟件測試帶來了一系列難度。各個銀行紛紛投入大量資金和人力進行業務系統和管理系統的開發和優化, 但由于思想意識和歷史原因,出現重開發,輕測試的現象,軟件項目測試成為制約軟件產品質量提升的瓶頸。

1 軟件測試

軟件測試在軟件生存期中占有非常突出的重要位置。軟件測試的目的是及早地減少軟件中存在的不同類型潛在缺陷與錯誤,以使軟件能夠滿足用戶的需求和減小預期結果與實際結果之間的差別, 以便以最少的代價來獲得最好的質量保證。此外,通過測試,能夠證明軟件實現的功能是否與設計說明書相符合,證明軟件的性能是否符合需求[1]。一個好的、成功的軟件測試是一個最早地發現潛在問題的過程。

圖1 不同階段發現缺陷修復所需成本

據美國軟件質量安全中心2000年對美國一百家知名的軟件廠商統計,得出這樣一個結論:軟件缺陷在開發前期發現比在開發后期發現資金和人力上節約90%;軟件缺陷在推向市場前發現比在推出后發現,資金、人力上節約90% 。所以說軟件的缺陷應該盡早發現,軟件測試是軟件生命周期中的一項非常重要并且復雜的工作,對軟件可靠性的保證具有極其重要的意義[2]。

2 黑盒測試

軟件測試技術為各階段軟件測試的進行提供了具體的方法支持。軟件測試技術,可以從不同的角度加以分類,從是否需要執行被測試軟件的角度,可分為靜態測試和動態測試。動態測試又可分為黑盒測試和白盒測試。

黑盒測試是注重于測試軟件的功能性需求,只關心軟件的功能,而不考慮其內部。它是已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用。在測試時,把程序看作一個不能打開的黑盒子,是站在最終用戶的立場上,在完全不考慮程序內部結構和內部特性的情況下,測試者對程序接口進行測試,它只檢查程序功能是否能按照需求規格說明書中有關功能需求及性能需求的規定正常使用[3]。

“黑盒法”是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。黑盒測試并不是白盒測試的替代品,而是用于輔助白盒測試發現其他類型的錯誤。黑盒測試的目的在于試圖尋找:錯誤的或者是遺漏的功能;接口錯誤;數據結構錯誤或者數據庫接口錯誤性能缺陷;初始化和程序終止錯誤。

在傳統的軟件開發生命周期當中,測試工作往往被擱置到整個開發過程的后期進行,即當應用程序的編碼工作已經基本完成,才開始進行測試,這樣做的缺點在于:由于應用程序龐大而復雜,測試工作千頭萬緒,測試人員難以組織科學、全面的測試用例,從而大幅度提高了測試成本,并嚴重影響測試的全面性和有效性; 由于缺陷所涉及的模塊從開發到測試之間的時間間隔較長,使得程序員的修改和維護工作要付出更大的代價;由于受到分發日期的限制,測試工作往往是在忙碌中結束的,而將大量的缺陷遺留給最終用戶。所以,針對傳統測試的缺陷提出了V模型—全流程測試[4-5]。

圖2 V模型-全流程的測試思想

因此,為了保證測試工作科學、有序地進行,應該采取一邊開發一邊測試的策略,使得開發工作與測試工作平行進行,這也就是所說的“越早測試越好”的概念。一套完整的測試應該由五個階段組成:

1)測試計劃。首先,根據用戶需求報告中關于功能要求和性能指標的規格說明書,定義相應的測試需求報告,即制訂黑盒測試的最高標準,以后所有的測試工作都將圍繞著測試需求來進行,符合測試需求的應用程序即是合格的,反之即是不合格的;同時,還要適當選擇測試內容,合理安排測試人員、測試時間及測試資源等。

2)測試設計。將測試計劃階段制訂的測試需求分解、細化為若干個可執行的測試過程,并為每個測試過程選擇適當的測試用例。

3)測試開發。建立可重復使用的自動測試過程。

4)測試執行。執行測試開發階段建立的自動測試過程,并對所發現的缺陷進行跟蹤管理。

5)測試評估。結合量化的測試覆蓋域及缺陷跟蹤報告,對于應用軟件的質量和開發團隊的工作進度及工作效率進行綜合評價。

黑盒測試只有嚴格按照步驟進行,才可能對應用程序的質量進行把關。然而,如果沒有一種優秀的測試工具的幫助,單純憑借手工測試,即使耗費大量的人力、物力和財力,也有很多測試工作是難以實現的。

3 黑盒測試在ACRM費用分解中的應用

銀行業的軟件測試尤為重要,如果軟件在一般功能上出現問題,其影響是局部的;但如果軟件或系統在性能上出現了問題,產生的影響則是全局性、災難性的。特別一些全國性銀行,營業網點多,交易量大,尤其在數據集中后,對系統產生的壓力較大[6]。

3.1 ACRM系統介紹

銀行的ACRM( Customer Relationship Management,分析型客戶關系管理系統)作為一種改善企業與客戶之間關系的新型管理模式,主要通過將企業的內部資源進行有效整合,對企業涉及到客戶的各個領域進行全面的集成管理,使企業以更低的成本和更高的效率最大化地滿足客戶需求,并最大限度地提高企業整體經營經濟效益。

ACRM系統通過客戶的單一視圖對客戶進行群體劃分、效益分析、投訴分析、行為分析、資產分析,確定其可信度,把客戶分為優良客戶、基本滿意客戶和危險客戶;對優良客戶提供優待,對危險客戶拒絕服務,減少投資風險。

在分發一個應用系統之前,若沒有經過科學、周密的黑盒測試,就相當于將大量隱含的缺陷交付到最終用戶手中,這對于開發團隊自身、項目投資方及最終用戶來說都是不負責任的表現,也將嚴重損害第三方的利益。因此必須對該系統遵循一定的測試理論,依賴于優秀的測試工具,進行科學、完備的測試, 才能暴露出軟件中隱藏的錯誤和缺陷。

對ACRM費用分解測試子系統作的測試主要有功能測試,性能測試以及壓力測試等, 主要是測試檢查以下幾點是否滿足要求:

1)功能測試,系統實現了系統設計的功能;

2)接口測試,在下級行安裝客戶端后,能否順利卸數,并上傳到上級行,并能夠導入到數據庫中;

3)數據測試,根據測試核對表,輸入部分的邊界值,使用等價類劃分測試最大最小和非法數據等;

4)用戶界面測試,客戶端用戶界面、查詢界面、功能布局是否友好,合理;

5)運行時間測試,后臺運行時間在可以接受的范圍內,由于系統是海量數據,對時間的要求不是太高;

6)軟硬件約束,客戶端要求WINDOWS 2000 SERVER、SQL SERVER 2000。

3.2測試子系統用到的部分表格

表1 ACRM項目費用分解模塊測試記錄表

表 2 ACRM項目費用分解模塊測試核對表

4 結語

本測試系統的優點是開發過程采用了V模型,在設計階段采用了評審。由于黑盒測試從用戶角度出發,基于軟件開發文檔能很容易知道用戶會用到哪些功能,也能知道軟件實現了文檔中的哪些功能,會遇到哪些問題,而與軟件的內部實現無關,不需要了解程序內部的代碼及實現。

由于測試人員是專業人員非專職測試人員,測試的時間不足,在試運行中又發現了許多問題。但在軟件測試開發過程中,做好了測試用例的保存工作,測試人員發生變動或者開展回歸測試時,減少了許多工作,從而在提高測試效果的同時也相應的節省了軟件開發成本。

[參考文獻]

[1] 馬菁,顧景文.決策樹在軟件測試用例生成中的應用[J].計算機技術與發展,2008, 18 (2) :66-68.

[2] 呂海燕,英亮,邢芳.數據倉庫在銀行客戶關系管理中的應用[J].大連海事大學學報,2007,33(6):181-183.

[3] 鄭人杰.計算機軟件測試技術[M].北京:清華大學出版社,1990:102-105.

[4] 上海計算機軟件中心.計算機軟件測試文件編制規范[M].北京:中華人民共和國電子工業部,1988:1-11.

[5] R.V. Hinder,華慶一,王斌君,等.面向對象系統的測試[M].北京:人民郵電出版社,2001:213-215.

[6] 王鵬.軟件測試在銀行業的建設及探討[J].金融電腦,2007(10):65-67.

猜你喜歡
黑盒測試人員軟件測試
移動應用眾包測試人員信譽度復合計算模型研究
一種基于局部平均有限差分的黑盒對抗攻擊方法
基于OBE的軟件測試課程教學改革探索
航天軟件測試模型構建與應用
EXCEL和VBA實現軟件測試記錄管理
高校分析測試中心測試隊伍建設方案初探
淺析軟件測試中的心理學應用
軟件測試工程化模型及應用研究
犯罪心理測試人員素質要求分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合