一、黑盒測試在快速應用開發(rad)環境中的重要作用
軟體測試方法一般分為兩種:白盒測試與黑盒測試。其中,白盒測試又稱為結構測試、邏輯驅動測試或基於程式本身的測試,著重於程式的內部結構及演算法,通 常不關心功能與效能指標。黑盒測試又被稱為功能測試、資料驅動測試或基於規格說明的測試,實際上是站在終端使用者的立場上,檢驗輸入輸出資訊及系統效能指標 是否符合規格說明書中有關功能需求及效能需求的規定。
隨著rad環境的發展,軟體工程面臨新的挑戰,其中包括:
●應用系統的規模越來越龐大,結構越來越複雜;
●開發團隊人員越來越多,分工越來越細;
●專案投資日益提高,導致投資風險增大。
在這樣一種背景下,軟體質量面臨著更大的危機,而解決問題的關鍵正是黑盒測試,可是由於傳統的黑盒測試往往侷限於手工測試,憑藉工程人員的經驗自發地進行,缺乏嚴格的測試管理機制,因而效果並不明顯。
在分發乙個應用系統之前,若沒有經過科學、周密的黑盒測試,就相當於將大量隱含的缺陷(defect)交付到終端使用者手中,這對於開發團隊自身、專案投資方及終端使用者來說都是不負責任的表現,也將嚴重損害三方的利益。
今天,軟體的質量要求越來越受到重視,在對軟體的質量監督中,黑盒測試起著重要的、不可替代的作用;而隨著軟體開發平台及軟體設計思想的進步和發展, 特別是rad技術的發展,對黑盒測試提出了更明確的要求,人們發現,必須遵循一定的測試理論,依賴於優秀的測試工具,才能進行科學、完備的測試。
二、黑盒測試的操作步驟
在傳統的軟體開發生命週期當中,測試工作往往被擱置到整個開發過程的後期進行,也就是說,當應用程式的編碼工作已經基本完成,才開始進行測試,這樣做的缺點在於:
a)由於應用程式龐大而複雜,測試工作千頭萬緒,測試人員難以組織科學、全面的測試用例,從而大幅度提高了測試成本,並嚴重影響測試的全面性和有效性;
b)由於缺陷所涉及的模組從開發到測試之間的時間間隔較長,使得程式設計師的修改和維護工作要付出更大的代價;
c)由於受到分發日期的限制,測試工作往往是在忙碌中結束的,而將大量的缺陷遺留給終端使用者,也就是說,真正的測試工作實際上是由終端使用者來完成的。
因此,為了保證測試工作科學、精確、全面、有序地進行,應該採取一邊開發一邊測試的策略,使得開發工作與測試工作平行進行,這也就是俗話所說的「越早測試越好」的概念。
一套完整的測試應該由五個階段組成:
1.測試計畫
首先,根據使用者需求報告中關於功能要求和效能指標的規格說明書,定義相應的測試需求報告,即制訂黑盒測試的最高標準,以後所有的測試工作都將圍繞著測 試需求來進行,符合測試需求的應用程式即是合格的,反之即是不合格的;同時,還要適當選擇測試內容,合理安排測試人員、測試時間及測試資源等。
2.測試設計
將測試計畫階段制訂的測試需求分解、細化為若干個可執行的測試過程,並為每個測試過程選擇適當的測試用例(測試用例選擇的好壞將直接影響到測試結果的有效性)。
3.測試開發
建立可重複使用的自動測試過程。
4.測試執行
執行測試開發階段建立的自動測試過程,並對所發現的缺陷進行跟蹤管理。測試執行一般由單元測試、組合測試、整合測試、系統聯調及回歸測試等步驟組成,測試人員應本著科學負責的態度,一步乙個腳印地進行測試。
5.測試評估
結合量化的測試覆蓋域及缺陷跟蹤報告,對於應用軟體的質量和開發團隊的工作進度及工作效率進行綜合評價。
顯然,黑盒測試只有嚴格按照步驟進行,才可能對應用程式的質量進行把關。然而,如果沒有一種優秀的測試工具的幫助,單純憑藉手工測試,不但將耗費大量的人力、物力和財力,而且有很多測試工作是難以實現甚至是無法實現的。
三、手工測試與自動測試的比較
手工測試無法保證黑盒測試的科學性與嚴密性,這是因為:
●測試人員要負責大量文件、報表的制訂和整理工作,會變得力不從心;
●受軟體分發日期、開發成本及人員、資源等諸多方面因素的限制,難以進行全面的測試;
●如果修正缺陷所花費的時間相當長,回歸測試將變得異常困難;
●對測試過程中發現的大量缺陷缺乏科學、有效的管理手段,責任變得含混不清,沒有人能向決策層提供精確的資料以度量當前的工作進度及工作效率;
●反覆測試帶來的倦怠情緒及其他人為因素使得測試標準前後不一,測試花費的時間越長,測試的嚴格性也就越低;
●難以對不可視物件或物件的不可視屬性進行測試。
因此,自動測試成為最佳的解決方案。所謂自動測試,實際上是將大量的重複性工作交給計算機去完成,乙個優秀的自動測試工具,不但可以滿足科學測試的基本要求,而且可以節約大量的時間、成本、人員和資源,並且測試指令碼可以被重複利用(包括被不同的專案所利用)。
黑盒測試方法揭密
一 黑盒 測試在快速 應用開發 rad 環境中的重要作用 軟體測試方法一般分為兩種 白盒測試與黑盒測試。其中,白盒測試又稱為 結構測試 邏輯驅動測試或基於程式本身的測試,著重於程式的內部 結構及演算法,通常不關心功能與效能指標。黑盒測試又被稱為功能測試 資料驅動測試或基於規格說明的測試,實際上是站在...
黑盒測試方法揭密
軟體測試方法一般分為兩種 白盒測試與黑盒測試。其中,白盒測試又稱為結構測試 邏輯驅動測試或基於程式本身的測試,著重於程式的內部結構及演算法,通常不關心功能與效能指標。黑盒測試又被稱為功能測試 資料驅動測試或基於規格說明的測試,實際上是站在終端使用者的立場上,檢驗輸入輸出資訊及系統效能指標是否符合規格...
黑盒測試方法揭密
一 黑盒測試 在快速應用開發 rad 環境中的重要作用 軟體測試方法 一般分為兩種 白盒測試 與黑盒測試。其中,白盒測試又稱為結構測試 邏輯驅動測試或基於程式本身的測試,著重於程式的內部結構及演算法,通常不關心功能與效能指標。黑盒測試又被稱為功能測試 資料驅動測試或基於規格說明的測試,實際上是站在終...