《軟件測(cè)試及其案例分析》課件第2章_第1頁(yè)
《軟件測(cè)試及其案例分析》課件第2章_第2頁(yè)
《軟件測(cè)試及其案例分析》課件第2章_第3頁(yè)
《軟件測(cè)試及其案例分析》課件第2章_第4頁(yè)
《軟件測(cè)試及其案例分析》課件第2章_第5頁(yè)
已閱讀5頁(yè),還剩108頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第二章基本軟件測(cè)試方法和常用測(cè)試工具2.1軟件測(cè)試方法簡(jiǎn)介2.2軟件審查2.3軟件測(cè)試自動(dòng)化技術(shù)2.4軟件測(cè)試工具及其選擇原則2.5常用的軟件測(cè)試工具介紹本章小結(jié)隨著軟件測(cè)試技術(shù)的發(fā)展,軟件測(cè)試方法更加多樣化,針對(duì)性更強(qiáng)。在實(shí)際中,選擇合適的軟件測(cè)試方法或軟件測(cè)試工具可以讓我們事半功倍。本章簡(jiǎn)要介紹常用的軟件測(cè)試方法、測(cè)試技術(shù)和常用的測(cè)試工具。

軟件測(cè)試是由一系列不同類(lèi)型的測(cè)試過(guò)程組成的,每種測(cè)試類(lèi)型都有具體的測(cè)試目標(biāo)和支持技術(shù),只側(cè)重于對(duì)測(cè)試目標(biāo)的一個(gè)或多個(gè)特征或?qū)傩赃M(jìn)行測(cè)試,準(zhǔn)確的測(cè)試類(lèi)型可以給軟件測(cè)試帶來(lái)事半功倍的效果。2.1軟件測(cè)試方法簡(jiǎn)介

1.軟件測(cè)試方法分類(lèi)

軟件測(cè)試的方法和技術(shù)是多種多樣的。軟件測(cè)試內(nèi)容包括文檔審查、代碼審查、靜態(tài)分析、代碼走查、邏輯測(cè)試、功能測(cè)試、性能測(cè)試、接口測(cè)試、人機(jī)交互界面測(cè)試、強(qiáng)度測(cè)試、余量測(cè)試、可靠性測(cè)試、安全性測(cè)試、恢復(fù)性測(cè)試、邊界測(cè)試、數(shù)據(jù)處理測(cè)試、安裝性測(cè)試、容量測(cè)試、互操作性測(cè)試、敏感性測(cè)試、標(biāo)準(zhǔn)符合性測(cè)試、兼容性測(cè)試和本地化測(cè)試等。

(1)從大的方面軟件測(cè)試方法可以分為兩大類(lèi):人工軟件測(cè)試和基于計(jì)算機(jī)的軟件測(cè)試。

(2)從生成軟件測(cè)試用例的數(shù)據(jù)來(lái)源劃分,軟件測(cè)試方法可以分為基于規(guī)約的軟件測(cè)試(又稱(chēng)黑盒測(cè)試或功能測(cè)試)、基于程序的軟件測(cè)試(又稱(chēng)白盒測(cè)試、玻璃盒測(cè)試或結(jié)構(gòu)測(cè)試)以及這兩種方法結(jié)合的軟件測(cè)試。

①基于規(guī)約的軟件測(cè)試指軟件測(cè)試人員無(wú)須了解程序的內(nèi)部結(jié)構(gòu),直接根據(jù)程序輸入和輸出之間的關(guān)系或程序的需求規(guī)約來(lái)確定軟件測(cè)試用例進(jìn)行測(cè)試,具體包括:等價(jià)類(lèi)劃分、因果圖、判定表、邊值分析、正交實(shí)驗(yàn)設(shè)計(jì)、狀態(tài)軟件測(cè)試、事務(wù)流軟件測(cè)試等。②基于程序的軟件測(cè)試指軟件測(cè)試人員根據(jù)程序的內(nèi)部結(jié)構(gòu)特征和與程序路徑相關(guān)的數(shù)據(jù)特性設(shè)計(jì)軟件測(cè)試數(shù)據(jù),主要包括控制流測(cè)試和數(shù)據(jù)流測(cè)試兩類(lèi)主要技術(shù),以及域軟件測(cè)試、符號(hào)執(zhí)行、程序插裝和變異軟件測(cè)試等其他技術(shù)。

③程序與規(guī)約相結(jié)合的軟件測(cè)試方法綜合考慮軟件的規(guī)范和程序的內(nèi)部結(jié)構(gòu)來(lái)生成測(cè)試數(shù)據(jù)。

(3)根據(jù)軟件測(cè)試數(shù)據(jù)設(shè)計(jì)方法,或從軟件測(cè)試是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度來(lái)看,傳統(tǒng)順序程序的軟件測(cè)試方法通常被分為功能性測(cè)試和結(jié)構(gòu)性測(cè)試。在結(jié)構(gòu)性測(cè)試過(guò)程中,軟件測(cè)試者對(duì)程序的語(yǔ)句、分支和邏輯路徑進(jìn)行各種覆蓋測(cè)試,可以在不同點(diǎn)檢查程序的狀態(tài),以確定實(shí)際狀態(tài)與預(yù)期狀態(tài)是否一致。

(4)按軟件測(cè)試階段分類(lèi),軟件測(cè)試分為單元測(cè)試、組件測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試、安裝測(cè)試等,測(cè)試階段是“從小到大”、“由內(nèi)至外”、“循序漸進(jìn)”的測(cè)試過(guò)程,體現(xiàn)了“分而治之”的思想。單元測(cè)試的粒度最小,一般由開(kāi)發(fā)小組采用白盒方式來(lái)測(cè)試,主要測(cè)試單元是否符合“設(shè)計(jì)”要求。

(5)按軟件測(cè)試的目的分類(lèi),軟件測(cè)試分為正確性測(cè)試(白盒測(cè)試、黑盒測(cè)試)、性能測(cè)試、可靠性測(cè)試(強(qiáng)壯性測(cè)試、異常處理測(cè)試、負(fù)載測(cè)試)、回歸測(cè)試、安全性測(cè)試和兼容性測(cè)試等。

(6)按軟件測(cè)試過(guò)程分類(lèi),軟件測(cè)試分為需求階段的測(cè)試、設(shè)計(jì)階段的測(cè)試、程序階段的測(cè)試、測(cè)試結(jié)果的評(píng)估、安裝測(cè)試、驗(yàn)收測(cè)試、測(cè)試變化和維護(hù)。

(7)按軟件測(cè)試的實(shí)施方分類(lèi),軟件測(cè)試分為開(kāi)發(fā)方測(cè)試、用戶(hù)測(cè)試、第三方測(cè)試。

一般軟件測(cè)試方法的分類(lèi)見(jiàn)圖2.1。

圖2.1軟件測(cè)試方法分類(lèi)

2.軟件測(cè)試的基本方法

按照軟件工程的觀點(diǎn),軟件開(kāi)發(fā)過(guò)程包括需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)等多個(gè)階段。為保證軟件產(chǎn)品的質(zhì)量,軟件開(kāi)發(fā)過(guò)程的每一個(gè)階段都需要進(jìn)行測(cè)試,即軟件測(cè)試需要貫穿于軟件開(kāi)發(fā)的全過(guò)程。下面簡(jiǎn)單介紹不同階段、不同目的等涉及多種軟件測(cè)試的方法。

(1)單元測(cè)試:?jiǎn)卧獪y(cè)試是最微小規(guī)模的測(cè)試,以測(cè)試某個(gè)功能或代碼塊。很多情況下由程序員而非測(cè)試員來(lái)做,因?yàn)樗枰纼?nèi)部程序設(shè)計(jì)和編碼的細(xì)節(jié)知識(shí)。這個(gè)工作不容易做好,除非應(yīng)用系統(tǒng)有一個(gè)設(shè)計(jì)很好的體系結(jié)構(gòu),還可能需要開(kāi)發(fā)測(cè)試驅(qū)動(dòng)器模塊或測(cè)試工具。

(2)白盒測(cè)試(結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于程序的測(cè)試):白盒測(cè)試要利用白盒測(cè)試法進(jìn)行動(dòng)態(tài)測(cè)試時(shí),需要測(cè)試軟件產(chǎn)品的內(nèi)部結(jié)構(gòu)和處理過(guò)程,不需測(cè)試軟件產(chǎn)品的功能。通過(guò)白盒測(cè)試可檢測(cè)產(chǎn)品內(nèi)部活動(dòng)是否按照規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,白盒測(cè)試要按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等,主要用于軟件驗(yàn)證。

(3)黑盒測(cè)試(功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說(shuō)明的測(cè)試):測(cè)試人員通過(guò)各種輸入和軟件的各種輸出結(jié)果來(lái)發(fā)現(xiàn)軟件缺陷(Bug),而不關(guān)心程序具體如何實(shí)現(xiàn)的一種測(cè)試方法,是根據(jù)軟件的規(guī)格對(duì)軟件進(jìn)行的測(cè)試,黑盒測(cè)試不考慮軟件內(nèi)部的運(yùn)作原理,軟件對(duì)用戶(hù)來(lái)說(shuō)就像一個(gè)黑盒子,所依據(jù)的只有程序的外部特性。

(4)動(dòng)態(tài)測(cè)試:指通過(guò)運(yùn)行軟件來(lái)檢驗(yàn)軟件的動(dòng)態(tài)行為和運(yùn)行結(jié)果的正確性。動(dòng)態(tài)測(cè)試一般通過(guò)對(duì)源代碼或者二進(jìn)制代碼進(jìn)行插裝,然后根據(jù)程序執(zhí)行所搜集到的信息進(jìn)行Bug檢測(cè)。根據(jù)動(dòng)態(tài)測(cè)試在軟件開(kāi)發(fā)過(guò)程中所處的階段和作用,動(dòng)態(tài)測(cè)試又可分為單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試、回歸測(cè)試等。

(5)靜態(tài)測(cè)試:指在不執(zhí)行程序的情況下,應(yīng)用各種技術(shù)對(duì)代碼進(jìn)行分析和評(píng)估。如檢查和審閱產(chǎn)品說(shuō)明書(shū);直接分析程序源代碼;借助專(zhuān)用的測(cè)試工具評(píng)審軟件文檔或程序,度量程序靜態(tài)復(fù)雜度。靜態(tài)測(cè)試通過(guò)分析或檢查源程序的文法、結(jié)構(gòu)、過(guò)程、接口等來(lái)檢查程序的正確性,以便發(fā)現(xiàn)編寫(xiě)的程序的不足之處,減少錯(cuò)誤出現(xiàn)的概率。

(6)靜態(tài)白盒測(cè)試(結(jié)構(gòu)分析):在軟件不執(zhí)行的條件下有條理地仔細(xì)審查軟件設(shè)計(jì)、體系結(jié)構(gòu)和代碼,從而找出軟件Bug的過(guò)程。

(7)可靠性測(cè)試與排錯(cuò)性測(cè)試:可靠性測(cè)試以驗(yàn)證或評(píng)估軟件的可靠性為目的,并不關(guān)心測(cè)試過(guò)程中所發(fā)現(xiàn)的Bug。排錯(cuò)性測(cè)試則恰恰相反,是以排除軟件Bug為目的,一旦測(cè)試發(fā)現(xiàn)Bug,就立刻予以排除。一般而言,排錯(cuò)性測(cè)試用于測(cè)試的早期階段,以白盒測(cè)試為主要測(cè)試手段。而可靠性測(cè)試用于測(cè)試的末尾階段,一般以黑盒測(cè)試為主要測(cè)試手段。

(8)人工測(cè)試:采用人工的手段對(duì)軟件實(shí)施的測(cè)試,是相對(duì)自動(dòng)測(cè)試而言的。與靜態(tài)分析不同,人工測(cè)試貫穿于軟件生存期的各個(gè)階段,通過(guò)人工和審查會(huì)議的形式對(duì)軟件實(shí)施測(cè)試。在人工測(cè)試中,主要是測(cè)試人員根據(jù)一些成熟的軟件設(shè)計(jì)規(guī)則對(duì)軟件的正確性等進(jìn)行審查,檢驗(yàn)所進(jìn)行的設(shè)計(jì)是否能滿足需要。統(tǒng)計(jì)表明,人工測(cè)試能發(fā)現(xiàn)30%~70%的Bug。

(9)自動(dòng)測(cè)試:自動(dòng)測(cè)試要依靠配置管理來(lái)提供良好的運(yùn)行環(huán)境,同時(shí)需要與開(kāi)發(fā)中的軟件構(gòu)建緊密配合。

(10)等價(jià)劃分測(cè)試(等價(jià)分配測(cè)試):是根據(jù)等價(jià)類(lèi)設(shè)計(jì)測(cè)試用例的一種技術(shù),是黑盒測(cè)試的典型方法之一。該測(cè)試通過(guò)把被測(cè)試程序所有可能的輸入數(shù)據(jù)域按等價(jià)原則劃分成若干部分,縮減可能的測(cè)試案例組合數(shù),但保證其仍然足以測(cè)試軟件的控制范圍。從而可有效減少測(cè)試次數(shù),極大提高測(cè)試效率,縮短軟件開(kāi)發(fā)周期。等價(jià)類(lèi)劃分測(cè)試的目的就是為了在有限的測(cè)試資源的情況下,用少量有代表性的數(shù)據(jù)得到比較好的測(cè)試效果。

(11)需求測(cè)試:根據(jù)軟件工程統(tǒng)計(jì),50%以上的系統(tǒng)Bug是由于錯(cuò)誤的需求或缺少需求導(dǎo)致的,因此,需求測(cè)試是必要的,也是必不可少的。需求測(cè)試貫穿于整個(gè)軟件開(kāi)發(fā)周期,通過(guò)需求測(cè)試可指導(dǎo)測(cè)試的各個(gè)階段,它可幫助我們?cè)O(shè)計(jì)整個(gè)測(cè)試,如測(cè)試計(jì)劃怎樣安排、測(cè)試用例怎樣選取、軟件的確認(rèn)要達(dá)到哪些要求等。

(12)初始化測(cè)試:指系統(tǒng)剛安裝完成后,在數(shù)據(jù)位空的情況下,如果被調(diào)用的模塊為空,點(diǎn)擊調(diào)用模塊時(shí),系統(tǒng)是否進(jìn)行容錯(cuò)的測(cè)試。

(13)鑒定測(cè)試:對(duì)申報(bào)科技項(xiàng)目、科技成果的軟件產(chǎn)品作為項(xiàng)目申報(bào)或?qū)<诣b定的技術(shù)依據(jù)。從技術(shù)與應(yīng)用的角度對(duì)軟件應(yīng)用情況作全面的質(zhì)量評(píng)測(cè)。

(14)健全測(cè)試:對(duì)軟件的健全性進(jìn)行測(cè)試目的在于確定其是否具備進(jìn)行下一步測(cè)試的能力。例如如果一個(gè)新版軟件每5分鐘與系統(tǒng)沖突,使系統(tǒng)陷于癱瘓,說(shuō)明該軟件不夠“健全”,目前不具備進(jìn)一步測(cè)試的條件。

(15)功能測(cè)試:功能測(cè)試主要是針對(duì)產(chǎn)品需求說(shuō)明書(shū)的測(cè)試,是在規(guī)定的一段時(shí)間內(nèi)運(yùn)行軟件系統(tǒng)的所有功能,以驗(yàn)證這個(gè)軟件系統(tǒng)有無(wú)嚴(yán)重Bug。功能測(cè)試包括原定功能的檢驗(yàn)、是否有冗余功能、遺漏功能,以及菜單、工具欄、快捷鍵、下拉框、按鈕、單選按鈕、復(fù)選按鈕,切換、鏈接、觸發(fā)鍵等的檢驗(yàn)。

(16)衰竭測(cè)試:指軟件或環(huán)境修復(fù)或更正后的“再測(cè)試”。一般很難確定需要多少遍再測(cè)試,尤其在接近開(kāi)發(fā)周期結(jié)束時(shí)。自動(dòng)測(cè)試工具對(duì)這類(lèi)測(cè)試尤其有用。

(17)競(jìng)爭(zhēng)條件測(cè)試:在多任務(wù)環(huán)境軟件設(shè)計(jì)中,必須處理隨時(shí)被中斷的情況,使之能夠與其他任何軟件在系統(tǒng)中同時(shí)運(yùn)行,并且共享內(nèi)存、磁盤(pán)、通信設(shè)備以及其他硬件資源。要達(dá)到這樣的結(jié)果,可能競(jìng)爭(zhēng)條件問(wèn)題,即軟件未預(yù)料到的中斷發(fā)生,時(shí)序就會(huì)發(fā)生錯(cuò)亂。競(jìng)爭(zhēng)條件測(cè)試難以設(shè)計(jì),最好是首先仔細(xì)查看狀態(tài)轉(zhuǎn)換圖中的每一個(gè)狀態(tài),以找出哪些外部影響會(huì)中斷該狀態(tài);考慮要使用數(shù)據(jù)如果沒(méi)有準(zhǔn)備好,或者在用到時(shí)數(shù)據(jù)發(fā)生了變化,狀態(tài)會(huì)怎樣;數(shù)條弧線或者直線同時(shí)相連的情形如何等。

(18)失敗測(cè)試(破壞測(cè)試):純粹為了破壞軟件、蓄意攻擊軟件的薄弱環(huán)節(jié)而設(shè)計(jì)和執(zhí)行的測(cè)試,也稱(chēng)為迫使出錯(cuò)測(cè)試。不合適數(shù)據(jù)(如非法、錯(cuò)誤、不正確和垃圾數(shù)據(jù))測(cè)試是失敗測(cè)試的對(duì)象。這類(lèi)測(cè)試沒(méi)有實(shí)際規(guī)則,只是設(shè)法破壞軟件。

(19)過(guò)程測(cè)試:在一些大型的系統(tǒng)中,部分工作由軟件自動(dòng)完成,其他工作則需由各種人員,包括操作員、數(shù)據(jù)庫(kù)管理員、終端用戶(hù)等,按一定規(guī)程與計(jì)算機(jī)配合,人工來(lái)完成。指定由人工完成的過(guò)程也需經(jīng)過(guò)仔細(xì)的檢查,這就是過(guò)程測(cè)試。

(20)互連測(cè)試:互連測(cè)試是要驗(yàn)證兩個(gè)或多個(gè)不同的系統(tǒng)之間的互連性。

(21)累積綜合測(cè)試:當(dāng)增加一個(gè)新功能后,對(duì)應(yīng)用系統(tǒng)所做的連續(xù)測(cè)試。它要求應(yīng)用系統(tǒng)的不同形態(tài)的功能能夠足夠獨(dú)立以能夠在全部系統(tǒng)完成前分別工作,或當(dāng)需要時(shí)那些測(cè)試驅(qū)動(dòng)器已被開(kāi)發(fā)出來(lái);這種測(cè)試可由程序員或測(cè)試員來(lái)做。

(22)界面測(cè)試(UI測(cè)試):軟件用戶(hù)界面的設(shè)計(jì)是否合乎用戶(hù)期望或要求,常包括菜單、對(duì)話框及對(duì)話框上所有按鈕、文字、出錯(cuò)提示,所有按鈕是否對(duì)齊、字符串字體大小、出錯(cuò)信息內(nèi)容和字體大小、工具欄位置/圖標(biāo)、幫助信息(Menu和Helpcontent)等很多方面的測(cè)試,以及測(cè)試用戶(hù)界面的風(fēng)格是否滿足客戶(hù)要求,文字是否正確,頁(yè)面是否美觀,文字和圖片組合是否完美,操作是否友好等,包括登錄界面、總界面、輸入界面(增、刪、改、查)、處理界面、輸出界面、報(bào)表界面、提示界面。

(23)文字測(cè)試:測(cè)試軟件中文字是否拼寫(xiě)正確,是否易懂,不存在二義性,沒(méi)有語(yǔ)法錯(cuò)誤;提示文字與輸入內(nèi)容是否有出入等,包括圖片文字。如請(qǐng)輸入正確的證件號(hào)碼,何謂正確的證件號(hào)碼,證件可以為身份證、駕駛證,也可為軍官證。如果改為:請(qǐng)輸入正確的身份證號(hào)碼,用戶(hù)就比較容易理解。

(24)文檔測(cè)試:主要測(cè)試開(kāi)發(fā)過(guò)程中針對(duì)用戶(hù)的文檔,以用戶(hù)手冊(cè)、安裝手冊(cè)等為主,檢驗(yàn)文檔是否與實(shí)際應(yīng)用存在差別。文檔測(cè)試不需要編寫(xiě)測(cè)試用例。這種測(cè)試是檢查用戶(hù)文檔(如用戶(hù)手冊(cè))的正確性、清晰性和精確性。用戶(hù)文檔中所使用的例子必須在測(cè)試中一一試過(guò),確保敘述正確無(wú)誤。

(25)需求文檔測(cè)試:主要測(cè)試需求文檔中是否存在邏輯矛盾以及需求在技術(shù)上是否可以實(shí)現(xiàn)。

(26)設(shè)計(jì)文檔測(cè)試:測(cè)試設(shè)計(jì)是否符合全部需求以及設(shè)計(jì)是否合理。

(27)文檔審核測(cè)試:文檔審核測(cè)試主要包括需求文檔測(cè)試、設(shè)計(jì)文檔測(cè)試,為前置測(cè)試中的一部分。前置測(cè)試方法越來(lái)越受到重視。

(28)基于設(shè)計(jì)的測(cè)試:是根據(jù)軟件的構(gòu)架或詳細(xì)設(shè)計(jì)引出測(cè)試用例的一種方法,是一種基于設(shè)計(jì)模型的測(cè)試方法。該方法利用用戶(hù)界面自動(dòng)生成法,把設(shè)計(jì)模型中的類(lèi)屬性定義和實(shí)現(xiàn)中的控件屬性組織在一起,構(gòu)建描述界面的邏輯對(duì)照表,輔助測(cè)試腳本引擎執(zhí)行自動(dòng)測(cè)試腳本。

(29)基于模型的測(cè)試:模型實(shí)際上是用語(yǔ)言把一個(gè)系統(tǒng)的行為描述出來(lái),定義出它可能的各種狀態(tài),以及它們之間的轉(zhuǎn)換關(guān)系,即狀態(tài)轉(zhuǎn)換圖?;谀P偷臏y(cè)試主要考慮系統(tǒng)的功能,可以認(rèn)為是功能測(cè)試的一種。

(30)條件測(cè)試:條件測(cè)試的目的在于測(cè)試程序模塊中所有的邏輯條件是否正確。

(31)邊界條件測(cè)試:指環(huán)繞邊界值的測(cè)試,是一種黑盒測(cè)試方法,是適度等價(jià)類(lèi)分析方法的一種補(bǔ)充。由長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)得知,軟件經(jīng)常在邊界上失效,大量的Bug發(fā)生在輸入或輸出的邊界上,采用邊界值分析技術(shù),針對(duì)邊界值及其各種邊界情況設(shè)計(jì)測(cè)試

用例,可能發(fā)現(xiàn)更多新的Bug。邊界條件測(cè)試是單元測(cè)試中最后一項(xiàng)也是最重要的一項(xiàng)任務(wù)。

(32)次邊界條件測(cè)試:有些邊界在軟件內(nèi)部,最終用戶(hù)幾乎看不到,但是仍有必要檢查,這樣的邊界條件稱(chēng)為次邊界條件或者內(nèi)部邊界條件。尋找這樣的邊界條件,不要求測(cè)試員成為程序員或者具有閱讀源代碼的能力,但是確實(shí)要求其大體了解軟件的工作方式。

(33)默認(rèn)值測(cè)試(默認(rèn)、空白、空值、零值和無(wú)):好的軟件會(huì)處理這種情況,常用的方法包括:①將輸入內(nèi)容默認(rèn)為合法邊界內(nèi)的最小值,或者合法區(qū)間內(nèi)某個(gè)合理值;②返回錯(cuò)誤提示信息。這些值在軟件中通常需要進(jìn)行特殊處理。因此應(yīng)當(dāng)建立單獨(dú)的等價(jià)區(qū)間。在這種默認(rèn)下,如果用戶(hù)輸入0或

-1作為非法值,就可以執(zhí)行不同的軟件處理過(guò)程。

(34)數(shù)據(jù)測(cè)試:對(duì)數(shù)據(jù)進(jìn)行測(cè)試就是檢查用戶(hù)輸入的信息、返回結(jié)果以及中間計(jì)算結(jié)果是否正確。軟件由數(shù)據(jù)(包括鍵盤(pán)輸入、鼠標(biāo)單擊、磁盤(pán)文件、打印輸出等)和程序(可執(zhí)行的流程、轉(zhuǎn)換、邏輯和運(yùn)算)兩個(gè)最基本的要素組成。數(shù)據(jù)類(lèi)型,包括數(shù)值、字符、位置、數(shù)量、地址、尺寸等,都會(huì)包含確定的邊界。

(35)數(shù)據(jù)流測(cè)試:根據(jù)定義的位置和使用的變量選擇測(cè)試路徑進(jìn)行測(cè)試。

(36)數(shù)據(jù)完整性測(cè)試:指當(dāng)主表的某一條件信息被刪除后,與這一條相關(guān)的級(jí)聯(lián)從表的信息都應(yīng)該被刪除。如果某些數(shù)據(jù)的主鍵是由數(shù)據(jù)庫(kù)本身實(shí)現(xiàn),可以不用刪除;如果有些主、從表是由程序員寫(xiě)的代碼來(lái)實(shí)現(xiàn),則要進(jìn)行數(shù)據(jù)完整性測(cè)試。

(37)隱藏?cái)?shù)據(jù)測(cè)試:指在軟件驗(yàn)收和確認(rèn)階段十分必要和重要的一部分。程序的質(zhì)量不僅僅通過(guò)用戶(hù)界面的可視化數(shù)據(jù)來(lái)驗(yàn)證,而且必須包括遍歷系統(tǒng)的所有數(shù)據(jù)。

(38)狀態(tài)測(cè)試:指通過(guò)不同的狀態(tài)驗(yàn)證程序的邏輯流程。測(cè)試員必須測(cè)試軟件的狀態(tài)及其轉(zhuǎn)換。軟件狀態(tài)是指軟件當(dāng)前所處的情況或者模式。軟件通過(guò)代碼進(jìn)入某一個(gè)流程分支,觸發(fā)一些數(shù)據(jù)位,設(shè)置某些變量,讀取某些變量,從而轉(zhuǎn)入一個(gè)新的狀態(tài)。

與數(shù)據(jù)測(cè)試一樣,狀態(tài)測(cè)試運(yùn)用等價(jià)分配技術(shù)選擇狀態(tài)和分支。因?yàn)檫x擇不完全測(cè)試,所以要承擔(dān)一定的風(fēng)險(xiǎn),但是通過(guò)合理選擇可以減少危險(xiǎn)。

(39)比較測(cè)試:指與競(jìng)爭(zhēng)伙伴的產(chǎn)品的比較測(cè)試,如軟件的弱點(diǎn)、優(yōu)點(diǎn)或?qū)嵙?。目的是取長(zhǎng)補(bǔ)短,以增強(qiáng)產(chǎn)品的競(jìng)爭(zhēng)力。

(40)接受測(cè)試:指基于客戶(hù)或最終用戶(hù)的規(guī)格書(shū)的最終測(cè)試,或基于用戶(hù)使用一段時(shí)間后,看軟件是否滿足客戶(hù)要求。一般從軟件功能、用戶(hù)界面、性能、業(yè)務(wù)關(guān)聯(lián)性進(jìn)行測(cè)試。

(41)可接受性測(cè)試:可接受性測(cè)試是在把測(cè)試的版本交付測(cè)試部門(mén)進(jìn)行大范圍測(cè)試以前,對(duì)基本功能進(jìn)行的簡(jiǎn)單測(cè)試,即必須滿足一些最低要求,如程序或系統(tǒng)不會(huì)很容易就掛起或崩潰。如果一個(gè)新版本沒(méi)通過(guò)可接受性測(cè)試,就應(yīng)該阻攔測(cè)試部門(mén)花時(shí)間在該測(cè)試版本上測(cè)試。同時(shí)還要找到造成該版本不穩(wěn)定的主要Bug,并督促盡快加以修正。

(42)可用性測(cè)試:指對(duì)“用戶(hù)友好性”的測(cè)試。這是主觀的,且將取決于目標(biāo)最終用戶(hù)或客戶(hù)。用戶(hù)面談、調(diào)查、用戶(hù)對(duì)話的錄像和其他一些技術(shù)都可使用。程序員和測(cè)試員通常都不宜作可用性測(cè)試員。

(43)探索或開(kāi)放型測(cè)試:不是按部就班地按照一個(gè)又一個(gè)正式的測(cè)試用例來(lái)進(jìn)行,也不局限于測(cè)試用例特定的步驟。這種測(cè)試是測(cè)試人員在理解該軟件功能的基礎(chǔ)上,運(yùn)用靈活多樣的想象力和創(chuàng)造力去模擬用戶(hù)的需求來(lái)使用該軟件的多種功能。通常涉及很多的測(cè)試用例或者通過(guò)更復(fù)雜的步驟來(lái)使用該軟件。

(44)深度測(cè)試:指執(zhí)行一個(gè)產(chǎn)品的一個(gè)特性的所有細(xì)節(jié),但不測(cè)試所有特性。當(dāng)比較函數(shù)返回“真”時(shí)才顯示出效果來(lái)。必須啟用“深度測(cè)試”功能,才能執(zhí)行深度測(cè)試。不使用時(shí)需要關(guān)閉。

(45)域測(cè)試:域測(cè)試一般分為單域測(cè)試和多域測(cè)試,單域測(cè)試包括設(shè)備測(cè)試和業(yè)務(wù)測(cè)試。設(shè)備測(cè)試包括測(cè)試某個(gè)系統(tǒng)的軟交換設(shè)備、中繼媒體網(wǎng)關(guān)設(shè)備、信令網(wǎng)關(guān)設(shè)備、接入媒體網(wǎng)關(guān)和IAD設(shè)備等。

(46)規(guī)格說(shuō)明書(shū)測(cè)試:為了提高軟件的可靠性及正確性,采用形式化的方法來(lái)書(shū)寫(xiě)需求規(guī)格說(shuō)明書(shū)已成為符合軟件工程要求的方法。形式化需求規(guī)格說(shuō)明書(shū)是以特定的形式,如有限狀態(tài)機(jī)、判定表及判定樹(shù)等來(lái)表現(xiàn);而傳統(tǒng)需求規(guī)格說(shuō)明書(shū)是以自然語(yǔ)言書(shū)寫(xiě)。從內(nèi)容上講,前者僅針對(duì)系統(tǒng)的一些關(guān)鍵的需求而省略所有的細(xì)節(jié),如資源限制等;而后者卻從系統(tǒng)的功能、資源、性能等方面進(jìn)行詳細(xì)的需求描述。這些區(qū)別決定了形式化測(cè)試有聚合性強(qiáng)的特點(diǎn),因而容易進(jìn)行形式化的測(cè)試。

(47)接口測(cè)試(業(yè)務(wù)流程測(cè)試):接口測(cè)試是系統(tǒng)組件之間接口的一種測(cè)試,包括程序內(nèi)接口(如導(dǎo)入、導(dǎo)出)和程序外接口(調(diào)試)測(cè)試。接口測(cè)試在單元測(cè)試階段進(jìn)行了一部分工作,而大部分都是在集成測(cè)試階段完成的,由開(kāi)發(fā)人員進(jìn)行。

(48)模塊測(cè)試:模塊測(cè)試方法分模塊的功能測(cè)試和模塊的結(jié)構(gòu)測(cè)試兩種方法。

①模塊的功能測(cè)試法。設(shè)計(jì)階段在完成概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)的同時(shí),也為完成模塊的功能測(cè)試創(chuàng)造了足夠的條件,完成功能測(cè)試即利用功能測(cè)試方法生成測(cè)試用例。功能測(cè)試方法是為完成模塊乃至函數(shù)的測(cè)試而提出的方法。

②結(jié)構(gòu)測(cè)試法。結(jié)構(gòu)測(cè)試方法中用得較多的是控制流選擇標(biāo)準(zhǔn)。對(duì)于一份流程圖,最基本的測(cè)試方法是將程序中的路徑遍歷一次。但對(duì)較復(fù)雜的程序,滿足這樣條件的測(cè)試用例數(shù)是一個(gè)天文數(shù)字。因此,在實(shí)際中是不可行的,從而人們提出了一些覆蓋標(biāo)準(zhǔn),試圖達(dá)到完全查錯(cuò)的目的。

(49)結(jié)構(gòu)覆蓋測(cè)試:運(yùn)行插裝后的被測(cè)試軟件,使用功能測(cè)試、人機(jī)界面測(cè)試、邊界測(cè)試等各種測(cè)試用例,查看結(jié)構(gòu)覆蓋情況,并根據(jù)覆蓋情況,設(shè)計(jì)新的測(cè)試用例,逐步達(dá)到結(jié)構(gòu)覆蓋測(cè)試的要求。

(50)性能測(cè)試:指檢驗(yàn)安裝在系統(tǒng)內(nèi)的軟件運(yùn)行性能。這種測(cè)試往往與強(qiáng)度測(cè)試結(jié)合起來(lái)進(jìn)行。為記錄性能需要在系統(tǒng)中安裝必要的測(cè)量?jī)x表或是為度量性能而設(shè)置的軟件(或程序段)。性能測(cè)試關(guān)注的是系統(tǒng)的整體。它與通常所說(shuō)的強(qiáng)度、壓力/負(fù)載測(cè)試測(cè)試有密切關(guān)系。所以壓力和強(qiáng)度測(cè)試應(yīng)該與性能測(cè)試一同進(jìn)行。

(51)強(qiáng)度測(cè)試:是檢驗(yàn)系統(tǒng)的能力最高實(shí)現(xiàn)限度,要檢查在系統(tǒng)運(yùn)行環(huán)境不正常乃至發(fā)生故障的情況下,系統(tǒng)可以運(yùn)行到何種程度的測(cè)試。進(jìn)行強(qiáng)度測(cè)試時(shí),讓系統(tǒng)處于資源的異常數(shù)量、異常頻率和異常批量的條件下運(yùn)行,驗(yàn)證軟件的性能是否還能正常工作;或者說(shuō)是驗(yàn)證軟件的性能在各種極端環(huán)境和系統(tǒng)條件下的承受能力。

(52)回歸測(cè)試:回歸測(cè)試是在軟件維護(hù)階段,對(duì)修改之后的軟件重新進(jìn)行測(cè)試先前的測(cè)試以保證修改的正確性。

(53)一致性測(cè)試:旨在驗(yàn)證被測(cè)系統(tǒng)的測(cè)試行為與規(guī)范是否一致。

(54)本地化測(cè)試:本地化測(cè)試的對(duì)象是軟件的本地化版本。這類(lèi)測(cè)試一般包括驗(yàn)證菜單、對(duì)話框、出錯(cuò)信息、幫助內(nèi)容等所有用戶(hù)界面上的文字都能夠顯示正確翻譯好的當(dāng)?shù)匚淖?。本地化就是將軟件版本語(yǔ)言進(jìn)行更改,如將英文的Windows改成中文的Windows就是本地化。本地化測(cè)試的目的是測(cè)試特定目標(biāo)區(qū)域設(shè)置的軟件本地化質(zhì)量。

(55)α測(cè)試(Alpha測(cè)試):

測(cè)試是指開(kāi)發(fā)組織內(nèi)部人員模擬各類(lèi)用戶(hù)對(duì)即將發(fā)布的軟件產(chǎn)品(稱(chēng)為α版本)進(jìn)行測(cè)試,試圖發(fā)現(xiàn)Bug并修正。α測(cè)試是在系統(tǒng)開(kāi)發(fā)接近完成時(shí)對(duì)應(yīng)用系統(tǒng)的測(cè)試,測(cè)試后仍然會(huì)有少量的設(shè)計(jì)變更。這種測(cè)試一般由最終用戶(hù)或其他人員完成,由一個(gè)用戶(hù)在開(kāi)發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是公司內(nèi)部的用戶(hù)在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測(cè)試,α測(cè)試不能由該系統(tǒng)的程序員或測(cè)試員完成。

(56)

β測(cè)試(Beta測(cè)試):經(jīng)過(guò)

測(cè)試調(diào)整的軟件產(chǎn)品稱(chēng)為β版本。緊隨其后的β測(cè)試是指開(kāi)發(fā)者組織各方面的典型用戶(hù)在日常工作中實(shí)際使用β版本,并要求用戶(hù)報(bào)告異常情況、提出批評(píng)意見(jiàn),然后開(kāi)發(fā)者再對(duì)舊版本進(jìn)行改錯(cuò)和完善。β測(cè)試的關(guān)鍵在于盡可能通過(guò)真實(shí)地模擬實(shí)際運(yùn)行環(huán)境和用戶(hù)對(duì)軟件產(chǎn)品的操作并盡最大努力涵蓋所有可能的用戶(hù)操作方式。

(57)可移植性測(cè)試:可移植性測(cè)試是指測(cè)試軟件是否可以被成功移植到指定的硬件或軟件平臺(tái)上,是測(cè)試軟件在一個(gè)特定的硬件/軟件/操作系統(tǒng)/網(wǎng)絡(luò)等環(huán)境下的性能如何。

(58)兼容性測(cè)試:這類(lèi)測(cè)試主要希望驗(yàn)證軟件產(chǎn)品在不同版本之間的兼容性,或驗(yàn)證該功能能夠如預(yù)期的那樣與其他程序或者構(gòu)件協(xié)調(diào)工作。兼容性經(jīng)常意味著新舊版本之間的協(xié)調(diào),也包括測(cè)試的產(chǎn)品與其他產(chǎn)品的兼容使用。如用同樣產(chǎn)品的新版本時(shí)不影響與用舊版本用戶(hù)之間保存文件、格式和其他數(shù)據(jù)等操作。兼容性包括向上兼容、向下兼容、軟件兼容、硬件兼容。軟件的兼容性有很多,如瀏覽器兼容性,即測(cè)試軟件在不同產(chǎn)商的瀏覽器下是否能夠正確顯示與運(yùn)行,操作系統(tǒng)兼容性,即測(cè)試軟件在不同操作系統(tǒng)下是否能夠正確顯示與運(yùn)行,如測(cè)試軟件在Windows98、Windows2000、WindowsXP、Linux、Unix下是否可以運(yùn)行。

(59)面向復(fù)用的測(cè)試:主要從使用的合理性和方便性等角度對(duì)軟件系統(tǒng)進(jìn)行檢查,發(fā)現(xiàn)人為因素或使用上的問(wèn)題。要保證在足夠詳細(xì)的程度下,用戶(hù)界面便于使用;對(duì)輸入量可容錯(cuò),響應(yīng)時(shí)間和響應(yīng)方式合理可行,輸出信息有意義、正確并前后一致;出錯(cuò)信息能夠引導(dǎo)用戶(hù)去解決問(wèn)題;軟件文檔全面、正規(guī)、確切。

面向復(fù)用的測(cè)試比傳統(tǒng)的測(cè)試模型多了構(gòu)件生成和入庫(kù)過(guò)程,要求每一個(gè)測(cè)試實(shí)例一開(kāi)始就要體現(xiàn)復(fù)用思想。可復(fù)用的資源有測(cè)試思想、測(cè)試工具、測(cè)試技巧、測(cè)試指南、測(cè)試數(shù)據(jù)、測(cè)試結(jié)果、測(cè)試生成器、測(cè)試框架、測(cè)試過(guò)程記錄等,為在測(cè)試進(jìn)行的同時(shí)提供詳細(xì)的資料,這些記錄將被測(cè)試庫(kù)擴(kuò)充和維護(hù)人員使用。

(60)循環(huán)測(cè)試:對(duì)許多算法進(jìn)行基本的循環(huán)測(cè)試。可以定義循環(huán)為簡(jiǎn)單的、并置的、嵌套的或是無(wú)結(jié)構(gòu)的。

(61)驗(yàn)收測(cè)試:驗(yàn)收測(cè)試是指相關(guān)的用戶(hù)或獨(dú)立測(cè)試人員根據(jù)測(cè)試計(jì)劃和結(jié)果對(duì)系統(tǒng)進(jìn)行測(cè)試和接收。驗(yàn)收測(cè)試讓系統(tǒng)用戶(hù)決定是否接收系統(tǒng)。它是一項(xiàng)確定產(chǎn)品是否能夠滿足合同或用戶(hù)所規(guī)定需求的測(cè)試,旨在向軟件的購(gòu)買(mǎi)者展示該軟件系統(tǒng)滿足其用戶(hù)的需求。它的測(cè)試數(shù)據(jù)通常是系統(tǒng)測(cè)試的測(cè)試數(shù)據(jù)的子集。所不同的是,驗(yàn)收測(cè)試往往有軟件系統(tǒng)的購(gòu)買(mǎi)者代表在現(xiàn)場(chǎng),甚至是在軟件安裝使用的現(xiàn)場(chǎng),也是軟件在投入使用之前的最后測(cè)試。

(62)負(fù)面測(cè)試(反向測(cè)試或逆向測(cè)試):負(fù)面測(cè)試是相對(duì)于正面測(cè)試而言的,測(cè)試瞄準(zhǔn)于使系統(tǒng)不能工作。負(fù)面測(cè)試與正面測(cè)試都是測(cè)試設(shè)計(jì)時(shí)的兩個(gè)非常重要的劃分。簡(jiǎn)單點(diǎn)說(shuō),正面測(cè)試指測(cè)試系統(tǒng)是否完成了它應(yīng)該完成的工作;而負(fù)面測(cè)試指測(cè)試系統(tǒng)是否不執(zhí)行它不應(yīng)該完成的操作。

(63)非功能性需求測(cè)試:非功能性需求測(cè)試是與功能不相關(guān)的需求測(cè)試,如性能測(cè)試、可用性測(cè)試等。雖然在設(shè)計(jì)解決方案的過(guò)程中滿足功能性需求很重要,但是如果沒(méi)有考慮非功能性需求,則解決方案很難取得實(shí)效。非功能性需求特點(diǎn):不要脫離實(shí)際環(huán)境、可靠性、可用性、有效性、可維護(hù)性、可移植性等。

(64)按階段測(cè)試:可以分為單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試(參見(jiàn)后面詳細(xì)介紹)??梢园岩陨蠝y(cè)試方法進(jìn)行歸類(lèi),歸類(lèi)原則可以選擇:

①此軟件能做什么?如針對(duì)數(shù)據(jù)進(jìn)行功能、接口、容錯(cuò)、界面、權(quán)限、初始化、數(shù)據(jù)完整性測(cè)試。

②軟件做得怎么樣?如性能、負(fù)載、恢復(fù)、穩(wěn)定性、并發(fā)、系統(tǒng)安全等。

③軟件在什么環(huán)境條件下測(cè)試?如配置、安裝、文檔、可用性等。軟件測(cè)試是由一系列不同的測(cè)試方法和技術(shù)組成,主要目的是對(duì)以計(jì)算機(jī)為基礎(chǔ)的系統(tǒng)進(jìn)行充分的測(cè)試。雖然軟件測(cè)試方法和技術(shù)很多,但不是所有的軟件都要進(jìn)行任何類(lèi)型的測(cè)試。實(shí)際中,一般根據(jù)產(chǎn)品的具體情況進(jìn)行組裝不同類(lèi)型的測(cè)試方法。不同的測(cè)試方法對(duì)各個(gè)階段Bug的檢測(cè)效果一般不同。有時(shí)在同一階段,當(dāng)各種方法組合使用時(shí),Bug檢測(cè)的效果會(huì)更好。

l974年M.E.Fagan首先提出了軟件審查會(huì)的想法,接著在IBM公司和其他一些軟件開(kāi)發(fā)機(jī)構(gòu)中試行,取得了較好的效果。此后逐漸被更多的軟件開(kāi)發(fā)部門(mén)接受,至今成為在軟件開(kāi)發(fā)過(guò)程中把握產(chǎn)品質(zhì)量的有效方法。有專(zhuān)家統(tǒng)計(jì),這一方法用于檢驗(yàn)程序時(shí),能夠有效地發(fā)現(xiàn)30%~70%的邏輯設(shè)計(jì)Bug和編碼Bug。IBM公司代碼審查會(huì)的查錯(cuò)效率更高,竟能查出全部Bug的80%。2.2軟件審查軟件審查的對(duì)象可以是各開(kāi)發(fā)階段的成果,如需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)等階段的成果以及編碼、軟件測(cè)試計(jì)劃和軟件測(cè)試用例等。

軟件審查工作大致要經(jīng)歷以下幾個(gè)步驟:制訂計(jì)劃、預(yù)審、準(zhǔn)備、審查會(huì)、返工、終審。下面簡(jiǎn)要介紹每個(gè)步驟的內(nèi)容。

(1)制訂計(jì)劃:在軟件產(chǎn)品已具備階段審查條件后,可以著手制訂審查工作計(jì)劃。首先要確定審查會(huì)主持人。主持人負(fù)有組織審查會(huì)并最后決定審查結(jié)論的責(zé)任。他應(yīng)該是客觀公正的。為此,主持人不應(yīng)是被審查軟件的開(kāi)發(fā)人員。他的首要責(zé)任是檢驗(yàn)該軟件的階段產(chǎn)品是否確已具備了進(jìn)行審查的條件。若能肯定這一點(diǎn),則可決定預(yù)審,并確定參加審查的其他人員。通常包括開(kāi)發(fā)者,但還需有“局外人”參加,以4~5人組成審查組為宜。接著就是決定審查工作的日程。

(2)預(yù)審:是正式審查的初步,為了能公正準(zhǔn)確地完成評(píng)審,應(yīng)當(dāng)把與評(píng)審相關(guān)的資料提供給參審人員。例如如果審查的對(duì)象是某一分時(shí)系統(tǒng)的軟件模塊,就需要在每個(gè)模塊的審查開(kāi)始以前,讓所有參審人員對(duì)整個(gè)系統(tǒng)有個(gè)全面的了解。必要時(shí),可舉行專(zhuān)題報(bào)告,以介紹和講解該軟件設(shè)計(jì)和實(shí)現(xiàn)中所采用的特定技術(shù)和方法。比如若是同步獨(dú)立處理采用了特定的入隊(duì)和出隊(duì)技術(shù),就要在審查前做出專(zhuān)題介紹。

(3)準(zhǔn)備:軟件審查的準(zhǔn)備工作主要是單獨(dú)進(jìn)行的活動(dòng)。開(kāi)發(fā)人員收集有關(guān)的審查資料,并填寫(xiě)“軟件審查概要”表。其他參審者則應(yīng)認(rèn)真閱讀和研究所提供的資料,填寫(xiě)“軟件審查準(zhǔn)備工作記錄”。其目的在于對(duì)被審軟件有充分的了解,記錄那些閱讀中發(fā)現(xiàn)的問(wèn)題。在這些問(wèn)題中,有些可能是明顯的Bug,有些是不可理解的部分。這些問(wèn)題都將在審查會(huì)上提出,以求得進(jìn)一步分析和討論。

(4)審查會(huì):審查會(huì)是使非開(kāi)發(fā)人員的力量與開(kāi)發(fā)人員結(jié)合起來(lái),利用集體的智慧查找軟件產(chǎn)品中存在的問(wèn)題,從而保證軟件產(chǎn)品質(zhì)量。召開(kāi)審查會(huì)是軟件審查的中心環(huán)節(jié),它的主要工作包括:①審查會(huì)主持人了解會(huì)議準(zhǔn)備情況,包括各位參審人員在會(huì)前準(zhǔn)備工作中所花的時(shí)間。如果他認(rèn)為準(zhǔn)備工作不夠充分,那么很可能決定推遲審查會(huì)召開(kāi)的時(shí)間。

②仔細(xì)閱讀并記錄所發(fā)現(xiàn)的不妥之處是審查會(huì)的主要活動(dòng)。在審查會(huì)上,由一位審查員逐段介紹被審資料。參審人員可隨時(shí)提出問(wèn)題,中斷介紹。對(duì)于發(fā)現(xiàn)了的Bug,可以立即解決或記錄下來(lái)。只要審查組同意或是主持人認(rèn)為有必要,便由記錄員將所發(fā)現(xiàn)Bug的位置、簡(jiǎn)要情況和Bug類(lèi)別等登記在“審查會(huì)發(fā)現(xiàn)Bug報(bào)告”上。介紹結(jié)束后,主持人指示記錄員檢查,看是否確已把所有發(fā)現(xiàn)的Bug均已作了記錄,并正確地作了分類(lèi)。

③參審人員要決定對(duì)這次審查的結(jié)論,包括符合要求、需要返工或需要再次審查等。只有當(dāng)被審查資料確已滿足事先規(guī)定的一些“通過(guò)條件”時(shí),才會(huì)做出“符合要求”的結(jié)論。若在審查后所作的返工中有較大的修改,就必須進(jìn)行“再次審查”。所有參審人員只要明確審查的目的在于找出軟件產(chǎn)品的Bug,則開(kāi)發(fā)者和審查者的目標(biāo)是一致的,并且大家認(rèn)識(shí)到審查的對(duì)象是軟件產(chǎn)品而不是開(kāi)發(fā)者,都能認(rèn)識(shí)到這樣做的完全必要性。

(5)審查返工:是在審查會(huì)后由開(kāi)發(fā)者完成。這項(xiàng)工作通常只是把記錄在“審查會(huì)發(fā)現(xiàn)問(wèn)題報(bào)告”的Bug改正過(guò)來(lái)。

(6)終審是由主持人完成的最后審查活動(dòng)。在返工完成后,他要檢驗(yàn)所有需要改正的地方是否確已改正,最后填寫(xiě)審查結(jié)果報(bào)告和審查總結(jié)報(bào)告。

圖2.2軟件審查過(guò)程及其數(shù)據(jù)處理任何一個(gè)軟件審查都將取得一些數(shù)據(jù),這些數(shù)據(jù)真實(shí)地反映了開(kāi)發(fā)過(guò)程中出現(xiàn)的各種Bug。充分利用這些數(shù)據(jù)指導(dǎo)和改進(jìn)開(kāi)發(fā)工作將是十分有益的。

如果設(shè)計(jì)審查發(fā)現(xiàn)數(shù)據(jù)定義的Bug特別突出,就要求更好地控制數(shù)據(jù)打印格式的文檔,即需要作一些調(diào)整,以保證隨后的產(chǎn)品有較高的質(zhì)量;如果發(fā)現(xiàn)某一軟件產(chǎn)品中邏輯問(wèn)題所占的比例很大,那么就要進(jìn)行更為嚴(yán)格的軟件測(cè)試,并重點(diǎn)檢驗(yàn)其中的邏輯關(guān)系。軟件產(chǎn)品在審查中是否得到了嚴(yán)格的檢驗(yàn),參審人員在審查會(huì)前是否充分地做好了準(zhǔn)備工作等。根據(jù)審查數(shù)據(jù)的收集和分析,再加上其他形式的開(kāi)發(fā)階段度量信息可以對(duì)特定的審查作一些調(diào)整,以求得更好的有效性。這一點(diǎn)如果用得恰當(dāng),軟件審查便具有自調(diào)節(jié)功能。

軟件開(kāi)發(fā)的每個(gè)階段審查都應(yīng)規(guī)定它的進(jìn)入條件、出口條件、推薦的參審人員、查出Bug分類(lèi)以及查找Bug策略等。

(1)進(jìn)入條件是指準(zhǔn)備好審查時(shí)必須具備的條件。

(2)出口條件是審查工作完成的條件。審查的出口條件主要指確實(shí)已改正了所有發(fā)現(xiàn)的Bug。

(3)由于軟件審查是集體進(jìn)行的活動(dòng),審查小組內(nèi)部協(xié)作得如何至關(guān)重要,因而,選定參審人員往往是搞好審查的關(guān)鍵。在軟件開(kāi)發(fā)初期的階段審查中(如需求分析審查或概要設(shè)計(jì)審查),為了反映用戶(hù)和系統(tǒng)測(cè)試的觀點(diǎn)以及實(shí)現(xiàn)人員的觀點(diǎn),審查組成員有時(shí)多達(dá)7~8人。而開(kāi)發(fā)的后期階段,如編碼階段的審查則只涉及詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試。由3~4個(gè)開(kāi)發(fā)人員參加即可。

(4)階段審查所發(fā)現(xiàn)的Bug主要有三種表現(xiàn)形式:

①遺漏:在規(guī)格說(shuō)明或標(biāo)準(zhǔn)中指明應(yīng)該有的內(nèi)容,在送審資料中丟掉了。

②多余:超出規(guī)格說(shuō)明和標(biāo)準(zhǔn),給出了多余的信息。

③錯(cuò)誤:內(nèi)容有誤的信息。

對(duì)審查中發(fā)現(xiàn)的Bug歸納成12類(lèi):接口、數(shù)據(jù)、邏輯、標(biāo)準(zhǔn)、輸入和輸出、功能、性能、人為因素、文檔、語(yǔ)法、軟件測(cè)試環(huán)境、軟件測(cè)試覆蓋等。

自動(dòng)化的軟件測(cè)試工具意味著在軟件測(cè)試活動(dòng)中減少部分開(kāi)銷(xiāo);同時(shí),有些軟件測(cè)試活動(dòng)是靠手工方式難以實(shí)現(xiàn)和度量的。軟件測(cè)試自動(dòng)化是通過(guò)開(kāi)發(fā)和使用一些軟件測(cè)試工具、軟件自動(dòng)測(cè)試系統(tǒng),特別適合于軟件測(cè)試中重復(fù)而繁瑣的活動(dòng)。2.3軟件測(cè)試自動(dòng)化技術(shù)自動(dòng)軟件測(cè)試要與開(kāi)發(fā)中的軟件構(gòu)建緊密配合。在開(kāi)發(fā)中的產(chǎn)品達(dá)到一定程度時(shí),就應(yīng)該開(kāi)始進(jìn)行每日構(gòu)建和軟件測(cè)試。這種做法能使軟件的開(kāi)發(fā)狀態(tài)得到頻繁的更新,進(jìn)而及早發(fā)現(xiàn)設(shè)計(jì)和集成的Bug。所有的軟件測(cè)試設(shè)計(jì)都與動(dòng)態(tài)和靜態(tài)兩種軟件測(cè)試活動(dòng)有同步軟件測(cè)試應(yīng)伴隨開(kāi)發(fā)過(guò)程的每一個(gè)環(huán)節(jié),真正達(dá)到開(kāi)發(fā)、軟件測(cè)試一體化。軟件測(cè)試自動(dòng)化特別適合于軟件測(cè)試中重復(fù)而繁瑣的活動(dòng),其優(yōu)點(diǎn)主要體現(xiàn)在以下五個(gè)方面:

(1)可以使某些軟件測(cè)試任務(wù)比手工軟件測(cè)試執(zhí)行的效率高;可以運(yùn)行更多更頻繁的軟件測(cè)試。如對(duì)程序的新版本可以自動(dòng)運(yùn)行已有的軟件測(cè)試活動(dòng),特別是在頻繁的修改過(guò)程中,一系列回歸軟件測(cè)試的開(kāi)銷(xiāo)應(yīng)是最小的。

(2)可以執(zhí)行一些手工軟件測(cè)試不容易或無(wú)法實(shí)現(xiàn)的測(cè)試活動(dòng),如對(duì)于系統(tǒng)的并發(fā)軟件測(cè)試,用手工進(jìn)行并發(fā)操作幾乎是不可能的,但自動(dòng)軟件測(cè)試工具可以模擬大量并發(fā)輸入。

(3)軟件測(cè)試具有一致性和可重復(fù)性。對(duì)于自動(dòng)重復(fù)的軟件測(cè)試可以重復(fù)多次相同的軟件測(cè)試,如不同的硬件配置、使用不同的操作系統(tǒng)或數(shù)據(jù)庫(kù)等,從而獲得軟件測(cè)試的一致性,這在手工軟件測(cè)試中是很難保證的。一旦一系列軟件測(cè)試被自動(dòng)化,則可以更快地重復(fù)執(zhí)行,從而縮短軟件測(cè)試周期,使軟件更快地推向市場(chǎng)。

(4)自動(dòng)軟件測(cè)試前處理是要在軟件測(cè)試執(zhí)行前實(shí)現(xiàn),如設(shè)置或恢復(fù)在軟件測(cè)試運(yùn)行前必須具備的先決條件。典型的前處理任務(wù)包括創(chuàng)建(文件、數(shù)據(jù)或數(shù)據(jù)庫(kù)),檢驗(yàn)?zāi)承l件是否具備(如有無(wú)足夠的磁盤(pán)空間),重新組織文件以及轉(zhuǎn)換數(shù)據(jù)。

(5)自動(dòng)軟件測(cè)試后處理是在軟件測(cè)試完成后執(zhí)行的步驟。實(shí)際上整套軟件測(cè)試必然有很多類(lèi)似的任務(wù)。把這些任務(wù)完全可以進(jìn)行自動(dòng)化。這一點(diǎn)對(duì)于自動(dòng)軟件測(cè)試來(lái)說(shuō)特別重要。典型的后處理任務(wù)包括刪除(文件、數(shù)據(jù)或數(shù)據(jù)庫(kù)、軟件測(cè)試結(jié)果、副產(chǎn)物等)、檢驗(yàn)(如文件是否存在)、重組(如把軟件測(cè)試結(jié)果放到軟件測(cè)試件結(jié)構(gòu)中)、轉(zhuǎn)換(把輸出結(jié)果轉(zhuǎn)換成易處理的格式)。

什么是軟件測(cè)試工具?人們一般認(rèn)為任何能提高軟件測(cè)試效率的工具都可以稱(chēng)之為軟件測(cè)試工具,不僅指Robot或是LoadRunner這類(lèi)專(zhuān)門(mén)的軟件測(cè)試工具,也不僅指使用各種編程工具編寫(xiě)的軟件測(cè)試工具,如總賬工具等,即使只是導(dǎo)入一些常用檔案,能節(jié)約軟件測(cè)試時(shí)間的都可以稱(chēng)為軟件測(cè)試工具。2.4軟件測(cè)試工具及其選擇原則

1.采用軟件測(cè)試工具的目的

采用軟件測(cè)試工具可以降低軟件測(cè)試工作的難度;提高軟件測(cè)試工作的效率和生產(chǎn)力;提高軟件測(cè)試質(zhì)量;減少軟件測(cè)試過(guò)程中的重復(fù)工作;實(shí)現(xiàn)軟件測(cè)試自動(dòng)化;可以發(fā)現(xiàn)正常軟件測(cè)試中很難發(fā)現(xiàn)的Bug。

注意:工具不能代替思考、計(jì)劃和設(shè)計(jì)。

2.軟件測(cè)試工具的分類(lèi)

為了實(shí)現(xiàn)高效的自動(dòng)軟件測(cè)試,必須有好的軟件測(cè)試工具,每類(lèi)工具在功能或其他特征方面具有相似之處。從不同的角度把軟件測(cè)試工具可分為不同的類(lèi):

(1)按軟件測(cè)試活動(dòng)或任務(wù)劃分:代碼驗(yàn)證、軟件測(cè)試計(jì)劃和軟件測(cè)試執(zhí)行。

(2)按描述性功能關(guān)鍵詞:工具實(shí)現(xiàn)的具體功能,如捕獲/回放、邏輯覆蓋和比較器。

(3)按主要的區(qū)域劃分,測(cè)試工具分類(lèi)或歸類(lèi)如下:

①軟件測(cè)試設(shè)計(jì)工具:有助于準(zhǔn)備軟件測(cè)試輸入或軟件測(cè)試數(shù)據(jù)。它包括邏輯設(shè)計(jì)工具和物理設(shè)計(jì)工具,前者如軟件測(cè)試案例生成程序,后者如從數(shù)據(jù)庫(kù)中隨機(jī)抽取記錄的工具。

②軟件測(cè)試管理工具:包括軟件測(cè)試流程管理、Bug跟蹤管理、軟件測(cè)試用例管理等。幫助完成軟件測(cè)試計(jì)劃、跟蹤軟件測(cè)試運(yùn)行結(jié)果等工具,包括有助于需求、設(shè)計(jì)、編程軟件測(cè)試及Bug跟蹤的工具。③靜態(tài)分析工具:分析代碼而不執(zhí)行代碼的軟件測(cè)試。

④覆蓋工具:評(píng)估一系列的軟件測(cè)試,軟件測(cè)試工具被軟件測(cè)試執(zhí)行的覆蓋程度。

⑤排錯(cuò)工具:發(fā)現(xiàn)Bug位置的工具。它不算軟件測(cè)試工具,但在軟件測(cè)試時(shí)會(huì)經(jīng)常使用排錯(cuò)工具。

⑥動(dòng)態(tài)分析工具:評(píng)估正在運(yùn)行的軟件。

⑦性能模擬工具:用模擬方式對(duì)軟件產(chǎn)品進(jìn)行性能測(cè)試。⑧軟件測(cè)試執(zhí)行和比較工具:可使軟件測(cè)試自動(dòng)進(jìn)行,從而將軟件測(cè)試輸出結(jié)果與期望輸出進(jìn)行比較。

(4)在邏輯上將整個(gè)軟件測(cè)試工具分成各自獨(dú)立的三大部分:靜態(tài)分析、動(dòng)態(tài)分析和軟件測(cè)試報(bào)告,其中只有靜態(tài)分析工具與所采用的設(shè)計(jì)語(yǔ)言相關(guān);而動(dòng)態(tài)分析工具與軟件測(cè)試報(bào)告則與源語(yǔ)言無(wú)關(guān),它們之間的唯一聯(lián)系是通過(guò)數(shù)據(jù)庫(kù)文件(靜態(tài)數(shù)據(jù)庫(kù)文件和動(dòng)態(tài)數(shù)據(jù)庫(kù)文件)。動(dòng)態(tài)分析是具有良好的通用性和高度可重用性的軟件測(cè)試,也就是在將軟件測(cè)試工具移植到新的設(shè)計(jì)語(yǔ)言時(shí),對(duì)代碼的修改和改動(dòng)范圍盡可能的小,以達(dá)到最大限度的軟件復(fù)用。

(5)根據(jù)軟件測(cè)試方法的分類(lèi)以及目前自動(dòng)軟件測(cè)試工具的現(xiàn)狀,將軟件測(cè)試工具劃分為白盒測(cè)試工具、黑盒測(cè)試工具、專(zhuān)用測(cè)試工具、測(cè)試管理工具和測(cè)試輔助工具五大類(lèi)。圖2.3示出了這些軟件測(cè)試工具和軟件生存期中軟件測(cè)試活動(dòng)的關(guān)系。

圖2.3軟件測(cè)試工具和軟件生存期中軟件測(cè)試活動(dòng)的關(guān)系雖然軟件測(cè)試工具的應(yīng)用能夠提高軟件測(cè)試的質(zhì)量和軟件測(cè)試效率,但是各個(gè)軟件測(cè)試工具的應(yīng)用范圍有所不同,所以在軟件測(cè)試過(guò)程中并不是所有的軟件測(cè)試工具都適合人們使用。要讓軟件測(cè)試工具在軟件測(cè)試工作中發(fā)揮作用,需要制定統(tǒng)一的評(píng)估、采購(gòu)、培訓(xùn)、實(shí)施和維護(hù)計(jì)劃等。在這方面掌握一定的專(zhuān)業(yè)知識(shí)是非常有益的。

3.軟件測(cè)試工具選擇原則

合理地選擇軟件測(cè)試工具,可以更好地研究軟件測(cè)試技術(shù)與方法、構(gòu)建軟件的測(cè)試環(huán)境、進(jìn)行系統(tǒng)測(cè)試和交付軟件測(cè)試,使軟件測(cè)試中心具備比較先進(jìn)、完備的開(kāi)發(fā)工具和軟件測(cè)試手段,也可以在軟件選型、開(kāi)發(fā)、運(yùn)行、驗(yàn)收階段進(jìn)行充分的軟件測(cè)試與評(píng)估,提高生產(chǎn)率和全面保證軟件的可靠性。

面對(duì)如此多的軟件測(cè)試工具,對(duì)測(cè)試工具的選擇就成了一個(gè)比較重要的問(wèn)題。市面上有好幾百種軟件測(cè)試工具,開(kāi)發(fā)公司在規(guī)模、已建立的客戶(hù)庫(kù)、產(chǎn)品成熟度、管理深度,以及對(duì)軟件測(cè)試和工具的理解方面差別很大。如何在眾多的軟件測(cè)試工具中選擇合適的測(cè)試工具呢?

1)選型/采購(gòu)軟件測(cè)試工具的建議●

提供并保持對(duì)現(xiàn)有軟件測(cè)試工具及其能力的評(píng)估是一項(xiàng)十分重要的工作。早期專(zhuān)家提供的建議是非常寶貴的。

要根據(jù)被測(cè)軟件的特點(diǎn)(如被測(cè)軟件的語(yǔ)言種類(lèi))選擇幾種適合的工具。

要了解軟件測(cè)試工具的功能覆蓋面和權(quán)威性。

要了解軟件測(cè)試工具的友好程度。

要了解軟件測(cè)試工具的二次開(kāi)發(fā)方便性和售后服務(wù)情況。

2)軟件測(cè)試工具的選擇

(1)功能。在實(shí)際的選擇過(guò)程中,適用且實(shí)用才是根本。

(2)成本(價(jià)格)。除了功能之外,成本就應(yīng)該是最重要的因素了。關(guān)于成本,重要的是確定實(shí)際成本和總成本,甚至生命期成本。

(3)連續(xù)性和一致性。軟件測(cè)試工具引入的目的是軟件測(cè)試自動(dòng)化,需要考慮工具引入的連續(xù)性和一致性,也就是說(shuō),對(duì)軟件測(cè)試工具的選擇必須全面考慮,分階段、逐步的引入軟件測(cè)試工具。

(4)考慮到公司的實(shí)際情況,避免盲目引入軟件測(cè)試工具。人們知道,并不是每種軟件測(cè)試工具都適合公司目前的實(shí)際情況。假設(shè)一個(gè)公司的應(yīng)用項(xiàng)目需求、界面變動(dòng)比較頻繁,建議引入Compuware公司的DevPartner和Telelogic公司的Logiscope,這兩個(gè)工具在軟件測(cè)試階段和維護(hù)階段可以發(fā)揮應(yīng)有的作用。

(5)形成一個(gè)良好使用軟件測(cè)試工具的環(huán)境。需要形成一種機(jī)制讓軟件測(cè)試工具真正能夠發(fā)揮作用。如白盒測(cè)試工具的一般使用場(chǎng)合是在單元測(cè)試階段,而單元測(cè)試是由開(kāi)發(fā)人員完成,如果沒(méi)有流程來(lái)規(guī)范開(kāi)發(fā)人員的行為,在項(xiàng)目進(jìn)度壓力比較大的情況下,開(kāi)發(fā)人員很可能就會(huì)有意識(shí)地不使用軟件測(cè)試工具來(lái)逃避問(wèn)題。在這種情況下,就必須形成一種有約束力的機(jī)制來(lái)強(qiáng)制對(duì)軟件測(cè)試工具的使用。

(6)進(jìn)行有效的軟件測(cè)試工具的培訓(xùn)。軟件測(cè)試工具的使用者必須對(duì)軟件測(cè)試工具非常了解,有效的培訓(xùn)必不可少。

1.?dāng)?shù)據(jù)庫(kù)軟件測(cè)試數(shù)據(jù)自動(dòng)生成工具

在數(shù)據(jù)庫(kù)開(kāi)發(fā)的過(guò)程中,為了軟件測(cè)試應(yīng)用程序?qū)?shù)據(jù)庫(kù)的訪問(wèn),應(yīng)當(dāng)在數(shù)據(jù)庫(kù)中生成軟件測(cè)試用數(shù)據(jù),人們可能會(huì)發(fā)現(xiàn)當(dāng)數(shù)據(jù)庫(kù)中只有少量的數(shù)據(jù)時(shí)程序沒(méi)有Bug,但是當(dāng)數(shù)據(jù)庫(kù)中有大量數(shù)據(jù)時(shí)就出現(xiàn)問(wèn)題了,2.5常用的軟件測(cè)試工具介紹這往往是程序的編寫(xiě)沒(méi)有實(shí)現(xiàn)一些功能,所以一定及早地通過(guò)在數(shù)據(jù)庫(kù)中生成大量數(shù)據(jù)來(lái)幫助開(kāi)發(fā)人員盡快完善這部分功能和性能。長(zhǎng)期以來(lái)生成大量軟件測(cè)試數(shù)據(jù)是靠手工來(lái)完成的,要占用有經(jīng)驗(yàn)的開(kāi)發(fā)和軟件測(cè)試人員大量寶貴時(shí)間。

(1)

TestBytes。TestBytes是一個(gè)用于自動(dòng)生成軟件測(cè)試數(shù)據(jù)的強(qiáng)大易用的工具,通過(guò)簡(jiǎn)單的點(diǎn)擊式操作,就可以確定需要生成的數(shù)據(jù)類(lèi)型(包括特殊字符的定制),并通過(guò)與數(shù)據(jù)庫(kù)的連接來(lái)自動(dòng)生成數(shù)百萬(wàn)行的正確的軟件測(cè)試數(shù)據(jù),可以極大地提高數(shù)據(jù)庫(kù)開(kāi)發(fā)人員、QA軟件測(cè)試人員、數(shù)據(jù)倉(cāng)庫(kù)開(kāi)發(fā)人員、應(yīng)用開(kāi)發(fā)人員的工作效率。

(2)

TestCenter。TestCenter是一款功能強(qiáng)大測(cè)試管理工具,它可以實(shí)現(xiàn)測(cè)試用例的過(guò)程管理,對(duì)測(cè)試需求過(guò)程、測(cè)試用例設(shè)計(jì)過(guò)程、業(yè)務(wù)組件設(shè)計(jì)實(shí)現(xiàn)過(guò)程等整個(gè)軟件測(cè)試過(guò)程進(jìn)行管理。實(shí)現(xiàn)測(cè)試用例的標(biāo)準(zhǔn)化,即每個(gè)軟件測(cè)試人員都能夠理解并使用標(biāo)準(zhǔn)化后的測(cè)試用例,降低了測(cè)試用例對(duì)個(gè)人的依賴(lài);提供測(cè)試用例復(fù)用,用例和腳本能夠被復(fù)用,以保護(hù)測(cè)試人員的資產(chǎn);提供可伸縮的軟件測(cè)試執(zhí)行框架,提供自動(dòng)軟件測(cè)試支持;提供軟件測(cè)試數(shù)據(jù)管理,幫助用戶(hù)同意管理軟件測(cè)試數(shù)據(jù),降低軟件測(cè)試數(shù)據(jù)和軟件測(cè)試腳本之間的耦合度。

(3)

TAR(TerminalAutoRunner)。TAR適用于VT100、VT220等標(biāo)準(zhǔn)的應(yīng)用系統(tǒng),支持命令行模式和窗口模式(使用Cursors編寫(xiě)的應(yīng)用程序),支持自動(dòng)錄制腳本、所見(jiàn)即所

得的資源和腳本編輯,具有穩(wěn)定的自動(dòng)同步功能,是目前國(guó)內(nèi)最好的銀行業(yè)務(wù)軟件測(cè)試工具。

(4)

AutoRunner。AutoRunner是國(guó)內(nèi)第一款自動(dòng)化軟件測(cè)試工具,可以用來(lái)完成功能測(cè)試、回歸軟件測(cè)試、每日構(gòu)建軟件測(cè)試與自動(dòng)回歸軟件測(cè)試等工作,是具有腳本語(yǔ)言的、提供針對(duì)腳本完善的跟蹤和調(diào)試功能的、支持IE軟件測(cè)試和Windowsnative軟件測(cè)試的自動(dòng)化軟件測(cè)試工具。

(5)

LoadRunner。LoadRunner是一種預(yù)測(cè)系統(tǒng)行為和性能的工業(yè)標(biāo)準(zhǔn)級(jí)負(fù)載軟件測(cè)試工具。通過(guò)以模擬上千萬(wàn)用戶(hù)實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來(lái)確認(rèn)和查找問(wèn)題,LoadRunner能夠?qū)φ麄€(gè)企業(yè)架構(gòu)進(jìn)行軟件測(cè)試。通過(guò)使用LoadRunner,企業(yè)能最大限度地縮短軟件測(cè)試時(shí)間,優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。目前企業(yè)的網(wǎng)絡(luò)應(yīng)用環(huán)境都必須支持大量用戶(hù),網(wǎng)絡(luò)體系架構(gòu)中含各類(lèi)應(yīng)用環(huán)境且由不同供應(yīng)商提供軟件和硬件產(chǎn)品。難以預(yù)知的用戶(hù)負(fù)載和愈來(lái)愈復(fù)雜的應(yīng)用環(huán)境使公司時(shí)時(shí)擔(dān)心會(huì)發(fā)生用戶(hù)響應(yīng)速度過(guò)慢,系統(tǒng)崩潰等問(wèn)題。這些都不可避免地導(dǎo)致公司收益的損失。

(6)

TestDirector是全球最大的軟件測(cè)試工具提供商MercuryInteractive公司生產(chǎn)的企業(yè)級(jí)軟件測(cè)試管理工具,也是業(yè)界第一個(gè)基于Web的軟件測(cè)試管理系統(tǒng),它可以在您公司內(nèi)部或外部進(jìn)行全球范圍內(nèi)軟件測(cè)試的管理。通過(guò)在一個(gè)整體的應(yīng)用系統(tǒng)中集成了軟件測(cè)試管理的各個(gè)部分,包括需求管理、軟件測(cè)試計(jì)劃、軟件測(cè)試執(zhí)行以及錯(cuò)誤跟蹤等功能,TestDirector極大地加速了軟件測(cè)試過(guò)程。

(7)

RadviewTestView系列。Radview公司的TestView系列Web性能測(cè)試工具和WebLoadAnalyzer性能分析工具,旨在測(cè)試Web應(yīng)用和Web服務(wù)的功能、性能、程序漏洞、兼容性、穩(wěn)定性和抗攻擊性,并且能夠在軟件測(cè)試的同時(shí)分析問(wèn)題原因和定位故障點(diǎn)。

整套Web性能測(cè)試和分析工具包含兩個(gè)相對(duì)獨(dú)立的子系統(tǒng):Web性能測(cè)試子系統(tǒng)Web性能分析子系統(tǒng)。其中Web性能測(cè)試子系統(tǒng)包含三個(gè)模塊:TestViewManager、WebFT和WebLoad。Web性能分析子系統(tǒng)只有WebLoadAnalyzer。

在一個(gè)完整的軟件測(cè)試系統(tǒng)中,TestViewManager用來(lái)定制、管理各種軟件測(cè)試活動(dòng);WebLoad模擬多個(gè)用戶(hù)行為進(jìn)行測(cè)試,所測(cè)試的是系統(tǒng)性能、容量、穩(wěn)定性和抗攻擊性;WebFT模仿單一用戶(hù)行為進(jìn)行測(cè)試,所測(cè)試的是系統(tǒng)功能、漏洞、兼容性和穩(wěn)定性;WebLoadAnalyzer對(duì)Web服務(wù)、中間件和數(shù)據(jù)庫(kù)進(jìn)行監(jiān)控和分析,找出問(wèn)題原因和故障點(diǎn)。

(8)

DTX系列。福祿克網(wǎng)絡(luò)公司推出的DTX系列電纜認(rèn)證分析儀完成一次6類(lèi)鏈路自動(dòng)軟件測(cè)試的時(shí)間比其他儀器快3倍(進(jìn)行光纜認(rèn)證軟件測(cè)試時(shí)快5倍)。DTX系列還具有IV級(jí)精度的智能故障診斷能力、900MHz的軟件測(cè)試帶寬、12小時(shí)的電池使用時(shí)間和快速的儀器設(shè)置,并可以生成詳細(xì)的中文圖形軟件測(cè)試報(bào)告。

(9)

IBMRationalClearQuest。IBMRationalClearQuest提供基于活動(dòng)的變更和Bug跟蹤。以靈活的工作流管理所有類(lèi)型的變更要求,包括Bug、改進(jìn)、問(wèn)題和文檔變更。能夠方便地定制Bug和變更請(qǐng)求的字段、流程、用戶(hù)界面、查詢(xún)、圖表和報(bào)告。擁有“設(shè)計(jì)一次,多處部署”的能力,從而可以自動(dòng)改變客戶(hù)端界面(Windows、Linux、UNIX和Web)。可與IBMWebSphereStudio、Eclipse和MicrosoftNETIDE進(jìn)行緊密集成,從而可以即時(shí)訪問(wèn)變更信息。支持統(tǒng)一變更管理,以提供經(jīng)過(guò)驗(yàn)證的變更管理過(guò)程支持。易于擴(kuò)展,因此無(wú)論開(kāi)發(fā)項(xiàng)目的團(tuán)隊(duì)規(guī)模、地點(diǎn)和平臺(tái)如何,均可提供良好支持。

包含并集成于IBMRationalSuite和IBMRationalTeamUnifyingPlatform,可以提供生命周期變更管理。

(10)

File-AID/RDX。康博公司提供的File-AID/RDX使程序員能夠迅速在軟件測(cè)試表格中裝入準(zhǔn)確反映生產(chǎn)性關(guān)系的數(shù)據(jù),但這些數(shù)據(jù)只是生產(chǎn)性數(shù)據(jù)的一個(gè)有關(guān)的子集,而且這是一個(gè)更小、更精確的數(shù)據(jù)庫(kù)。

使用File-AID/RDX有三個(gè)好處:節(jié)省時(shí)間,用戶(hù)不必編寫(xiě)一次性程序來(lái)向軟件測(cè)試數(shù)據(jù)庫(kù)中裝入數(shù)據(jù),確保使用正確的數(shù)據(jù)來(lái)對(duì)應(yīng)用系統(tǒng)進(jìn)行合格的軟件測(cè)試;節(jié)省磁盤(pán)空間,軟件測(cè)試中僅僅使用那些需要的生產(chǎn)性數(shù)據(jù);提供了一種簡(jiǎn)單的顯示方法,通過(guò)獨(dú)立的表格串接起各種關(guān)系,用戶(hù)可以方便地選擇所需的數(shù)據(jù)。通過(guò)類(lèi)似于ISPF的界面,用戶(hù)可以迅速方便地瀏覽表格關(guān)系,建立數(shù)據(jù)抽取條件、將數(shù)據(jù)裝入目的表格。

(11)

Mercury質(zhì)量中心。Mercury質(zhì)量中心(MercuryQualityCenter)提供一個(gè)全面的、基于Web的集成系統(tǒng),可跨多種環(huán)境實(shí)施質(zhì)量保證。它的集成應(yīng)用自動(dòng)化了關(guān)鍵質(zhì)量行為,其中包括需求管理、軟件測(cè)試管理、Bug管理、功能測(cè)試和業(yè)務(wù)流程軟件測(cè)試。Mercury質(zhì)量中心提供用戶(hù)所需的流程、自動(dòng)化操作和可見(jiàn)性,以實(shí)現(xiàn)高質(zhì)量的應(yīng)用。它通過(guò)將所有不同要素和正確應(yīng)用維系起來(lái),使質(zhì)量流程自動(dòng)化,從而縮短部署時(shí)間。其結(jié)果就是,它極大地提高了應(yīng)用質(zhì)量和可靠性。

(12)

IXIAIxChariot。美國(guó)IXIA公司的應(yīng)用層性能測(cè)試軟件IxChariot是一個(gè)獨(dú)特的軟件測(cè)試工具,也是在應(yīng)用層性能軟件測(cè)試領(lǐng)域得到業(yè)界認(rèn)可的軟件測(cè)試系統(tǒng)。對(duì)于企業(yè)網(wǎng)而言,IxChariot可應(yīng)用于設(shè)備選型、網(wǎng)絡(luò)建設(shè)及驗(yàn)收、日常維護(hù)等三個(gè)階段,提供設(shè)備網(wǎng)絡(luò)性能評(píng)估、故障定位和SLA基準(zhǔn)等服務(wù)。

IxChariot由兩部分組成:控制端和遠(yuǎn)端,兩者都可安裝在普通PC或者服務(wù)器上,控制端安裝在Windows操作系統(tǒng)上,遠(yuǎn)端支持各種主流的操作系統(tǒng)??刂贫藶樵摦a(chǎn)品的核心部分,控制界面(也可采用命令行方式)、軟件測(cè)試設(shè)計(jì)界面、腳本選擇及編制、結(jié)果顯示、報(bào)告生成以及API接口提供等都由控制端提供。遠(yuǎn)端根據(jù)實(shí)際軟件測(cè)試的需要,安裝在分布的網(wǎng)絡(luò)上,負(fù)責(zé)從控制端接收指令、完成軟件測(cè)試并將軟件測(cè)試數(shù)據(jù)上報(bào)到控制端。

(13)思博倫通信SmartBits。思博倫通信(SpirentCommunications)的SmartBits網(wǎng)絡(luò)性能分析系統(tǒng)為進(jìn)行十兆/百兆/千兆或萬(wàn)兆以太網(wǎng)、ATM、POS、光纖通道、幀中繼網(wǎng)絡(luò)和網(wǎng)絡(luò)設(shè)備的高端口密度軟件測(cè)試提供了行業(yè)標(biāo)準(zhǔn)。

作為一種強(qiáng)健而通用的平臺(tái),SmartBits提供了軟件測(cè)試xDSL、電纜調(diào)制解調(diào)器、MPLS、IPQoS、VoIP、IP多播、TCP/IP、IPv6、路由、SAN和VPN的軟件測(cè)試應(yīng)用。SmartBits使用戶(hù)可以軟件測(cè)試、仿真、分析、開(kāi)發(fā)和驗(yàn)證網(wǎng)絡(luò)基礎(chǔ)設(shè)施并查找故障。從網(wǎng)絡(luò)最初的設(shè)計(jì)到對(duì)最終網(wǎng)絡(luò)的軟件測(cè)試,SmartBits提供了產(chǎn)品生命周期各個(gè)階段的分析解決方案。

(14)安立MD1230A。安立公司的MD1230A提供以太網(wǎng)絡(luò)和IP網(wǎng)絡(luò)優(yōu)良的軟件測(cè)試能力。它的內(nèi)置全球定位軟件測(cè)試接收機(jī)選項(xiàng),可在1微秒內(nèi)進(jìn)行點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)延滯軟件測(cè)試。這樣的解像度對(duì)在IP上應(yīng)用話音和視像是十分重要的。小巧輕便的MD1230A已內(nèi)置計(jì)算機(jī)、顯示裝置,利用點(diǎn)擊設(shè)備和鍵盤(pán)就可在惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)操作應(yīng)用,這些優(yōu)點(diǎn)符合服務(wù)供給者和企業(yè)網(wǎng)經(jīng)理最迫切的欄位可移植性需求。

(15)

ShunraStorm。Shunra公司用于產(chǎn)品和系統(tǒng)測(cè)試階段的硬件產(chǎn)品Storm,是一種將廣域網(wǎng)仿真和用戶(hù)端數(shù)據(jù)流模擬結(jié)合在一起的工具,輔以各種軟件選件,除了仿真各種網(wǎng)絡(luò)環(huán)境外,還可以提供協(xié)議分析等多種功能。Storm產(chǎn)品配套解決方案基本上由StormAppliance和StormConsole,以及相關(guān)軟件組成,以支持多種多樣復(fù)雜的廣域網(wǎng)及實(shí)驗(yàn)室的結(jié)構(gòu)。

(16)

i-Test2.0。i-Test2.0是中科軟件公司從軟件測(cè)試的需求出發(fā),按照國(guó)際質(zhì)量管理標(biāo)準(zhǔn)研制的軟件測(cè)試管理系統(tǒng)。它采用B/S結(jié)構(gòu),可以安裝在Web服務(wù)器上,項(xiàng)目相關(guān)人員可以在不同地點(diǎn)通過(guò)Internet同時(shí)登錄和使用i-Test,協(xié)同完成軟件測(cè)試,可減少為了集中人員而出差所產(chǎn)生的費(fèi)用。它還提供相應(yīng)的自動(dòng)化功能,可高效地編寫(xiě)、查詢(xún)和引用軟件測(cè)試用例,快速填寫(xiě)、修改和查詢(xún)軟件Bug報(bào)告,減少了人力投入。它自帶的軟件測(cè)試用例數(shù)據(jù)庫(kù)和軟件Bug數(shù)據(jù)庫(kù),可以幫助項(xiàng)目成員更好地實(shí)施軟件測(cè)試。此外,除了可以監(jiān)測(cè)和分析軟件的質(zhì)量,i-Test還可以自動(dòng)統(tǒng)計(jì)程序員和軟件測(cè)試人員的工作進(jìn)度。它提供的軟件測(cè)試文檔模板,可以將軟件測(cè)試文檔及數(shù)據(jù)直接傳送到MS-Office,使排版、打印等操作更為便捷。

2.嵌入式軟件測(cè)試工具——LOGISCOPE

LOGISCOPE是一組嵌入式軟件測(cè)試工具集。它貫穿于軟件開(kāi)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論