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