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