新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 軟件測(cè)試的基礎(chǔ)知識(shí)概要介紹[3]

軟件測(cè)試的基礎(chǔ)知識(shí)概要介紹[3]

——
作者: 時(shí)間:2006-12-19 來(lái)源: 收藏
四、的復(fù)雜性與經(jīng)濟(jì)性

  人們常常以為,開(kāi)發(fā)一個(gè)程序是困難的,測(cè)試一個(gè)程序則比較容易。這其實(shí)是誤解。設(shè)計(jì)測(cè)試用例是一項(xiàng)細(xì)致并需要高度技巧的工作,稍有不慎就會(huì)顧此失彼,發(fā)生不應(yīng)有的疏漏。

  不論是黑盒測(cè)試方法還是白盒測(cè)試方法,由于測(cè)試情況數(shù)量巨大,都不可能進(jìn)行徹底的測(cè)試。所謂徹底測(cè)試,就是讓被測(cè)程序在一切可能的輸入情況下全部執(zhí)行一遍。通常也稱這種測(cè)試為“窮舉測(cè)試”。 “黑盒”法是窮舉輸入測(cè)試,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無(wú)窮多個(gè),人們不僅要測(cè)試所有合法的輸入,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測(cè)試。 “白盒”法是窮舉路徑測(cè)試,貫穿程序的獨(dú)立路徑數(shù)是天文數(shù)字,但即使每條路徑都測(cè)試了仍然可能有錯(cuò)誤。第一,窮舉路徑測(cè)試決不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程序。第二,窮舉路徑測(cè)試不可能查出程序中因遺漏路徑而出錯(cuò)。第三,窮舉路徑測(cè)試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。e.w.dijkstra的一句名言對(duì)測(cè)試的不徹底性作了很好的注解:“程序測(cè)試只能證明錯(cuò)誤的存在,但不能證明錯(cuò)誤不存在”。

  在實(shí)際測(cè)試中,窮舉測(cè)試工作量太大,實(shí)踐上行不通,這就注定了一切實(shí)際測(cè)試都是不徹底的。當(dāng)然就不能夠保證被測(cè)試程序中不存在遺留的錯(cuò)誤。軟件工程的總目標(biāo)是充分利用有限的人力和物力資源,高效率、高質(zhì)量地完成測(cè)試。為了降低測(cè)試成本,選擇測(cè)試用例時(shí)應(yīng)注意遵守“經(jīng)濟(jì)性”的原則。第一,要根據(jù)程序的重要性和一旦發(fā)生故障將造成的損失來(lái)確定它的測(cè)試等級(jí);第二,要認(rèn)真研究測(cè)試策略,以便能使用盡可能少的測(cè)試用例,發(fā)現(xiàn)盡可能多的程序錯(cuò)誤。掌握好測(cè)試量是至關(guān)重要的,一位有經(jīng)驗(yàn)的軟件開(kāi)發(fā)管理人員在談到時(shí)曾這樣說(shuō)過(guò):“不充分的測(cè)試是愚蠢的,而過(guò)度的測(cè)試是一種罪孽”。測(cè)試不足意味著讓用戶承擔(dān)隱藏錯(cuò)誤帶來(lái)的危險(xiǎn),過(guò)度測(cè)試則會(huì)浪費(fèi)許多寶貴的資源。

  測(cè)試是軟件生存期中費(fèi)用消耗最大的環(huán)節(jié)。測(cè)試費(fèi)用除了測(cè)試的直接消耗外,還包括其它的相關(guān)費(fèi)用。能夠決定需要做多少次測(cè)試的主要影響因素如下:

 ?、?、系統(tǒng)的目的

  系統(tǒng)的目的的差別在很大程度上影響所需要進(jìn)行的測(cè)試的數(shù)量。那些可能產(chǎn)生嚴(yán)重后果的系統(tǒng)必須要進(jìn)行更多的測(cè)試。一臺(tái)在boeing 757上的系統(tǒng)應(yīng)該比一個(gè)用于公共圖書(shū)館中檢索資料的系統(tǒng)需要更多的測(cè)試。一個(gè)用來(lái)控制密封燃?xì)夤艿赖南到y(tǒng)應(yīng)該比一個(gè)與有毒爆炸物品無(wú)關(guān)的系統(tǒng)有更高的可信度。一個(gè)安全關(guān)鍵軟件的開(kāi)發(fā)組比一個(gè)游戲軟件開(kāi)發(fā)組要有苛刻得多的查找錯(cuò)誤方面的要求。

 ?、?、潛在的用戶數(shù)量

  一個(gè)系統(tǒng)的潛在用戶數(shù)量也在很大程度上影響了測(cè)試必要性的程度。這主要是由于用戶團(tuán)體在經(jīng)濟(jì)方面的影響。一個(gè)在全世界范圍內(nèi)有幾千個(gè)用戶的系統(tǒng)肯定比一個(gè)只在辦公室中運(yùn)行的有兩三個(gè)用戶的系統(tǒng)需要更多的測(cè)試。如果不能使用的話,前一個(gè)系統(tǒng)的經(jīng)濟(jì)影響肯定比后一個(gè)系統(tǒng)大。除此而外,在分配處理錯(cuò)誤的時(shí)候,所花的代價(jià)的差別也很大。如果在內(nèi)部系統(tǒng)中發(fā)現(xiàn)了一個(gè)嚴(yán)重的錯(cuò)誤,在處理錯(cuò)誤的時(shí)候的費(fèi)用就相對(duì)少一些,如果要處理一個(gè)遍布全世界的錯(cuò)誤就需要花費(fèi)相當(dāng)大的財(cái)力和精力。

  ③、信息的價(jià)值

  在考慮測(cè)試的必要性時(shí),還需要將系統(tǒng)中所包含的信息的價(jià)值考慮在內(nèi),一個(gè)支持許多家大銀行或眾多證券交易所的客戶機(jī)/服務(wù)器系統(tǒng)中含有經(jīng)濟(jì)價(jià)值非常高的內(nèi)容。很顯然這一系統(tǒng)需要比一個(gè)支持鞋店的系統(tǒng)要進(jìn)行更多的測(cè)試。這兩個(gè)系統(tǒng)的用戶都希望得到高質(zhì)量、無(wú)錯(cuò)誤的系統(tǒng),但是前一種系統(tǒng)的影響比后一種要大得多。因此我們應(yīng)該從經(jīng)濟(jì)方面考慮,投入與經(jīng)濟(jì)價(jià)值相對(duì)應(yīng)的時(shí)間和金錢(qián)去進(jìn)行測(cè)試。

 ?、?、開(kāi)發(fā)機(jī)構(gòu)

  一個(gè)沒(méi)有標(biāo)準(zhǔn)和缺少經(jīng)驗(yàn)的開(kāi)發(fā)機(jī)構(gòu)很可能開(kāi)發(fā)出充滿錯(cuò)誤的系統(tǒng)。在一個(gè)建立了標(biāo)準(zhǔn)和有很多經(jīng)驗(yàn)的開(kāi)發(fā)機(jī)構(gòu)中開(kāi)發(fā)出來(lái)的系統(tǒng)中的錯(cuò)誤不會(huì)很多,因此,對(duì)于不同的開(kāi)發(fā)機(jī)構(gòu)來(lái)說(shuō),所需要的測(cè)試的必要性也就截然的不同。

  然而,那些需要進(jìn)行大幅度改善的機(jī)構(gòu)反而不大可能認(rèn)識(shí)到自身的弱點(diǎn)。那些需要更加嚴(yán)格的測(cè)試過(guò)程的機(jī)構(gòu)往往是最不可能進(jìn)行這一活動(dòng)的,在許多情況下,機(jī)構(gòu)的管理部門(mén)并不能真正地理解開(kāi)發(fā)一個(gè)高質(zhì)量的系統(tǒng)的好處。

 ?、?、測(cè)試的時(shí)機(jī)

  測(cè)試量會(huì)隨時(shí)間的推移發(fā)生改變。在一個(gè)竟?fàn)幒芗ち业氖袌?chǎng)里,爭(zhēng)取時(shí)間可能是制勝的關(guān)鍵,開(kāi)始可能不會(huì)在測(cè)試上花多少時(shí)間,但幾年后如果市場(chǎng)分配格局已經(jīng)建立起來(lái)了,那么產(chǎn)品的質(zhì)量就變得更重要了,測(cè)試量就要加大。測(cè)試量應(yīng)該針對(duì)合適的目標(biāo)進(jìn)行調(diào)整。


關(guān)鍵詞: 軟件測(cè)試

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉