新聞中心

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

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

——
作者: 時(shí)間:2006-12-19 來源: 收藏
二、的目的
的目的決定了如何去組織測試。如果測試的目的是為了盡可能多地找出錯(cuò)誤,那么測試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。如果測試目的是為了給最終用戶提供具有一定可信度的質(zhì)量評(píng)價(jià),那么測試就應(yīng)該直接針對(duì)在實(shí)際應(yīng)用中會(huì)經(jīng)常用到的商業(yè)假設(shè)。
不同的機(jī)構(gòu)會(huì)有不同的測試目的;相同的機(jī)構(gòu)也可能有不同測試目的,可能是測試不同區(qū)域或是對(duì)同一區(qū)域的不同層次的測試。
在談到時(shí),許多人都引用grenford j. myers在《the art of software testing》一書中的觀點(diǎn):
①、軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;
②、測試是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)誤。
③、一個(gè)好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;
④、一個(gè)成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測試。
這種觀點(diǎn)可以提醒人們測試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測試的唯一目,查找不出錯(cuò)誤的測試就是沒有價(jià)值的,事實(shí)并非如此。
首先,測試并不僅僅是為了要找出錯(cuò)誤。通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們設(shè)計(jì)出有針對(duì)性地檢測方法,改善測試的有效性。
其次,沒有發(fā)現(xiàn)錯(cuò)誤的測試也是有價(jià)值的,完整的測試是評(píng)定測試質(zhì)量的一種方法。詳細(xì)而嚴(yán)謹(jǐn)?shù)目煽啃栽鲩L模型可以證明這一點(diǎn)。例如 bev littlewood發(fā)現(xiàn)一個(gè)經(jīng)過測試而正常運(yùn)行了n小時(shí)的系統(tǒng)有繼續(xù)正常運(yùn)行n小時(shí)的概率。
三、軟件測試的基本方法
  軟件測試的方法和技術(shù)是多種多樣的。
  對(duì)于軟件測試技術(shù),可以從不同的角度加以分類:
  從是否需要執(zhí)行被測軟件的角度,可分為靜態(tài)測試和動(dòng)態(tài)測試。
  從測試是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度來看,可分為白盒測試和黑盒測試;

  1、黑盒測試
黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動(dòng)測試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個(gè)功能是否都能正常使用,在測試時(shí),把程序看作一個(gè)不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試方法主要有等價(jià)類劃分、邊值分析、因?果圖、錯(cuò)誤推測等,主要用于軟件確認(rèn)測試。

  “黑盒”法著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對(duì)軟件界面和軟件功能進(jìn)行測試?!昂诤小狈ㄊ歉F舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。實(shí)際上測試情況有無窮多個(gè),人們不僅要測試所有合法的輸入,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測試。

  2、白盒測試

  白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試,它是知道產(chǎn)品內(nèi)部工作過程,可通過測試來檢測產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅(qū)動(dòng)、基路測試等,主要用于軟件驗(yàn)證。

  “白盒”法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測試?!鞍缀小狈ㄊ歉F舉路徑測試。在使用這一方案時(shí),測試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測試數(shù)據(jù)。貫穿程序的獨(dú)立路徑數(shù)是天文數(shù)字。但即使每條路徑都測試了仍然可能有錯(cuò)誤。第一,窮舉路徑測試決不能查出程序違反了設(shè)計(jì)規(guī)范,即程序本身是個(gè)錯(cuò)誤的程序。第二,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯(cuò)。第三,窮舉路徑測試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。

  3.a(chǎn)lac(act-like-a-customer)測試

  alac測試是一種基于客戶使用產(chǎn)品的知識(shí)開發(fā)出來的測試方法。alac測試是基于復(fù)雜的軟件產(chǎn)品有許多錯(cuò)誤的原則。最大的受益者是用戶,缺陷查找和改正將針對(duì)哪些客戶最容易遇到的錯(cuò)誤。


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

評(píng)論


相關(guān)推薦

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

關(guān)閉