![基于新信息技術(shù)的軟件測(cè)試技術(shù) 課件 第5章 軟件測(cè)試過程_第1頁](http://file4.renrendoc.com/view12/M06/3B/03/wKhkGWZz8riAWJouAAF3YO74QpY722.jpg)
![基于新信息技術(shù)的軟件測(cè)試技術(shù) 課件 第5章 軟件測(cè)試過程_第2頁](http://file4.renrendoc.com/view12/M06/3B/03/wKhkGWZz8riAWJouAAF3YO74QpY7222.jpg)
![基于新信息技術(shù)的軟件測(cè)試技術(shù) 課件 第5章 軟件測(cè)試過程_第3頁](http://file4.renrendoc.com/view12/M06/3B/03/wKhkGWZz8riAWJouAAF3YO74QpY7223.jpg)
![基于新信息技術(shù)的軟件測(cè)試技術(shù) 課件 第5章 軟件測(cè)試過程_第4頁](http://file4.renrendoc.com/view12/M06/3B/03/wKhkGWZz8riAWJouAAF3YO74QpY7224.jpg)
![基于新信息技術(shù)的軟件測(cè)試技術(shù) 課件 第5章 軟件測(cè)試過程_第5頁](http://file4.renrendoc.com/view12/M06/3B/03/wKhkGWZz8riAWJouAAF3YO74QpY7225.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第5章軟件測(cè)試過程5.1軟件測(cè)試過程概述5.2單元測(cè)試5.3集成測(cè)試5.4系統(tǒng)測(cè)試5.5驗(yàn)收測(cè)試
5.1軟件測(cè)試過程概述
軟件測(cè)試過程與軟件開發(fā)過程應(yīng)該是相對(duì)應(yīng)的,V模型(圖5.1)表示了軟件開發(fā)與軟件測(cè)試的這種對(duì)應(yīng)關(guān)系。它反映了測(cè)試活動(dòng)與分析和設(shè)計(jì)的關(guān)系,從左到右描述了基本的開發(fā)過程和測(cè)試行為,標(biāo)明了測(cè)試工程中存在的不同級(jí)別,清楚地描述了這些測(cè)試階段和開發(fā)過程期間各階段的對(duì)應(yīng)關(guān)系。
圖5.1軟件開發(fā)的V模型
最初的軟件需求分析定義出軟件的作用范圍、信息域、功能、行為、性能、約束和驗(yàn)收標(biāo)準(zhǔn),再進(jìn)一步是概要設(shè)計(jì)、詳細(xì)設(shè)計(jì),然后是編程。在V模型中,單元測(cè)試是基于代碼的測(cè)試,最初由開發(fā)人員執(zhí)行,以驗(yàn)證其可執(zhí)行程序代碼的各個(gè)部分是否已達(dá)到了預(yù)期的功能要求;集成測(cè)試驗(yàn)證了多個(gè)單元之間的集成是否正確,并有針對(duì)性地對(duì)詳細(xì)設(shè)計(jì)中所定義的各單元之間的接口進(jìn)行檢查;在所有單元測(cè)試和集成測(cè)試完成后,系統(tǒng)測(cè)試開始以客戶環(huán)境模擬系統(tǒng)的運(yùn)行,以驗(yàn)證系統(tǒng)是否達(dá)到了在概要設(shè)計(jì)中所定義的功能和性能,系統(tǒng)測(cè)試應(yīng)檢測(cè)系統(tǒng)功能、性能的質(zhì)量特性是否達(dá)到了系統(tǒng)要求的指標(biāo);驗(yàn)收測(cè)試確定軟件的實(shí)現(xiàn)是否滿足用戶需要或合同的要求。
5.2單元測(cè)試
5.2.1單元測(cè)試定義
單元測(cè)試(UnitTesting)是指對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證。對(duì)于單元測(cè)試中單元的含義,一般來說,要根據(jù)實(shí)際情況判定其具體含義,如C語言中單元指一個(gè)函數(shù);Java里單元指一個(gè)類,也可指一個(gè)函數(shù);圖形化的軟件中可以指一個(gè)窗口或一個(gè)菜單等。總的來說,單元就是人為規(guī)定的最小的被測(cè)功能模塊。
在單元測(cè)試活動(dòng)中,軟件的獨(dú)立單元將在與程序的其他部分相隔離的情況下進(jìn)行測(cè)試,主要工作分為兩個(gè)步驟:人工靜態(tài)檢查和動(dòng)態(tài)執(zhí)行跟蹤。
單元測(cè)試的目標(biāo)是檢查每個(gè)模塊是否正確地實(shí)現(xiàn)了設(shè)計(jì)說明書中的功能、性能、接口和其他設(shè)計(jì)約束要求,以確保每個(gè)單元都被正確地編碼。單元測(cè)試的目標(biāo)不僅是測(cè)試代碼的功能性,還需確保代碼在結(jié)構(gòu)上的可靠性及健全性,并且能夠在所有條件下正確響應(yīng)。
單元測(cè)試需要達(dá)到以下一些具體目標(biāo):
(1)信息能正確地流入和流出單元;
(2)在單元工作過程中,其內(nèi)部數(shù)據(jù)能否保持完整性,包括內(nèi)部數(shù)據(jù)的形式、內(nèi)容及相互關(guān)系不發(fā)生錯(cuò)誤,也包括全局變量在單元中的處理和影響;
(3)控制數(shù)據(jù)處理的邊界能正確工作;
(4)單元的運(yùn)行能滿足特定的邏輯覆蓋;
(5)對(duì)于單元中發(fā)生的錯(cuò)誤,其出錯(cuò)處理措施是有效的。
5.2.2單元測(cè)試內(nèi)容
單元測(cè)試的主要任務(wù)是解決5個(gè)方面的測(cè)試問題,包括模塊接口測(cè)試、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試、路徑測(cè)試、錯(cuò)誤處理測(cè)試、邊界測(cè)試,如圖5.2所示。
圖5.2單元測(cè)試解決5個(gè)方面的問題
1.模塊接口測(cè)試
(1)針對(duì)模塊接口測(cè)試進(jìn)行的檢查,主要涉及以下幾方面的內(nèi)容:
①調(diào)用本模塊的輸入?yún)?shù)是否正確。
②本模塊調(diào)用子模塊時(shí)輸入給子模塊的參數(shù)是否正確。
③輸入的實(shí)際參數(shù)與形式參數(shù)的個(gè)數(shù)是否相同。
④調(diào)用標(biāo)準(zhǔn)函數(shù)的參數(shù)在個(gè)數(shù)、屬性、順序上是否匹配。
⑤全局變量的定義在各個(gè)模塊中是否一致。
⑥是否修改了只讀型參數(shù)。
(2)如果模塊內(nèi)包括外部輸入、輸出,還應(yīng)考慮以下問題:
①文件屬性是否正確。
②是否處理了文件尾。
③是否所有的文件使用前已經(jīng)打開。
④輸出信息有沒有文字性錯(cuò)誤。
⑤對(duì)文件結(jié)束條件的判斷和處理是否正確。
2.局部數(shù)據(jù)結(jié)構(gòu)測(cè)試
在模塊工作中,必須測(cè)試模塊內(nèi)部的數(shù)據(jù)能否保持完整性,包括內(nèi)部數(shù)據(jù)的內(nèi)容、形式及相互關(guān)系不發(fā)生錯(cuò)誤。對(duì)于局部數(shù)據(jù)結(jié)構(gòu),應(yīng)該在單元測(cè)試中注意發(fā)現(xiàn)以下幾類錯(cuò)誤:
(1)不正確的或不一致的類型說明。
(2)錯(cuò)誤的初始化或默認(rèn)值。
(3)錯(cuò)誤的變量名,如拼寫錯(cuò)誤或書寫錯(cuò)誤。
(4)下溢、上溢或者地址錯(cuò)誤。
(5)不相容的數(shù)據(jù)類型。
3.路徑測(cè)試
在單元測(cè)試中最主要的測(cè)試是針對(duì)路徑的測(cè)試。測(cè)試用例必須能夠發(fā)現(xiàn)由于計(jì)算錯(cuò)誤、不正確的判定或不正常的控制而產(chǎn)生的錯(cuò)誤。
應(yīng)選擇適當(dāng)?shù)臏y(cè)試用例,對(duì)模塊中重要的執(zhí)行路徑進(jìn)行測(cè)試。
應(yīng)當(dāng)設(shè)計(jì)測(cè)試用例查找由于錯(cuò)誤的計(jì)算、不正確的比較或不正常的控制流而導(dǎo)致的錯(cuò)誤。
對(duì)基本執(zhí)行路徑和循環(huán)進(jìn)行測(cè)試,可以發(fā)現(xiàn)大量的路徑錯(cuò)誤。
4.錯(cuò)誤處理測(cè)試
測(cè)試出錯(cuò)處理的重點(diǎn)是模塊在工作中發(fā)生了錯(cuò)誤,其中的出錯(cuò)處理是否有效。檢驗(yàn)程序中的出錯(cuò)處理可能面對(duì)的情況有:
(1)對(duì)運(yùn)行發(fā)生的錯(cuò)誤簡述得難以理解。
(2)所報(bào)告的錯(cuò)誤與實(shí)際遇到的錯(cuò)誤不一致。
(3)出錯(cuò)后,在錯(cuò)誤處理之前就引起系統(tǒng)的干預(yù)。
(4)例外條件的處理不正確。
(5)提供的錯(cuò)誤信息不足,以至于無法找到錯(cuò)誤的原因。
5.邊界測(cè)試
邊界測(cè)試是單元測(cè)試的最后一步,必須采用邊界值分析方法來設(shè)計(jì)測(cè)試用例,認(rèn)真仔細(xì)地測(cè)試為限制數(shù)據(jù)處理而設(shè)置的邊界處,檢查模塊是否能夠正常工作。邊界測(cè)試主要考慮以下問題:
(1)處理m維數(shù)組的第m個(gè)元素時(shí)是否出錯(cuò)。
(2)運(yùn)算或判斷時(shí)取最大值、最小值時(shí)是否出錯(cuò)。
(3)在m次循環(huán)的第0次、第1次、第n次是否有錯(cuò)誤。
5.2.3單元測(cè)試方法
在單元測(cè)試階段,應(yīng)使用白盒測(cè)試方法和黑盒測(cè)試方法對(duì)被測(cè)單元進(jìn)行測(cè)試,其中以白盒測(cè)試方法為主。
在單元測(cè)試階段以白盒測(cè)試方法為主,是指在單元測(cè)試階段,白盒測(cè)試消耗的時(shí)間、人力、物力等成本一般會(huì)大于黑盒測(cè)試的成本。白盒測(cè)試進(jìn)入的前提條件是測(cè)試人員已經(jīng)對(duì)被測(cè)試對(duì)象有了一定的了解,基本上明確了被測(cè)試軟件的邏輯結(jié)構(gòu)。黑盒測(cè)試要首先了解軟件產(chǎn)品具備的功能和性能等需求,再根據(jù)需求設(shè)計(jì)一批測(cè)試用例以驗(yàn)證程序內(nèi)部活動(dòng)是否符合設(shè)計(jì)要求。
一般說來,由于黑盒測(cè)試是從被測(cè)單元外部進(jìn)行的測(cè)試,成本較低,因此可先對(duì)被測(cè)單元進(jìn)行黑盒測(cè)試,之后再進(jìn)行白盒測(cè)試,以彌補(bǔ)黑盒測(cè)試的不徹底。
白盒測(cè)試和黑盒測(cè)試的測(cè)試用例設(shè)計(jì)方法如圖5.3所示。圖5.3測(cè)試用例設(shè)計(jì)方法
在單元測(cè)試中,設(shè)計(jì)測(cè)試用例應(yīng)注意以下問題:
(1)測(cè)試人員在實(shí)際工作中至少應(yīng)該設(shè)計(jì)能夠覆蓋如下需求的基于功能的單元測(cè)試用例:
①測(cè)試程序單元的功能是否實(shí)現(xiàn);
②測(cè)試程序單元性能是否滿足要求;
③是否有可選的其他測(cè)試特性,如邊界、余量、安全性、可靠性、強(qiáng)度、人機(jī)交互界面等。
(2)無論是白盒測(cè)試還是黑盒測(cè)試,每個(gè)測(cè)試用例都應(yīng)該包含下面4個(gè)關(guān)鍵元素:
①被測(cè)單元模塊初始狀態(tài)聲明,即測(cè)試用例的開始狀態(tài)(僅適用于被測(cè)單元維持了調(diào)用中間狀態(tài)的情況);
②被測(cè)單元的輸入,包含由被測(cè)單元讀入的任何外部數(shù)據(jù)值;
③該測(cè)試用例實(shí)際測(cè)試的代碼,用被測(cè)單元的功能和測(cè)試用例設(shè)計(jì)中使用的分析來說明,如:單元中哪一個(gè)決策條件被測(cè)試;
④測(cè)試用例的期望輸出結(jié)果(在測(cè)試進(jìn)行之前的測(cè)試說明中定義)。
5.2.4單元測(cè)試環(huán)境
一般情況下,單元測(cè)試常常緊接在代碼編寫之后。完成了程序編寫、復(fù)查、語法正確性驗(yàn)證之后,就應(yīng)進(jìn)行單元測(cè)試。
對(duì)每個(gè)模塊進(jìn)行單元測(cè)試時(shí),不能完全忽視它們和周圍模塊的相互關(guān)系。為模擬這一聯(lián)系,在進(jìn)行單元測(cè)試時(shí),需要設(shè)置若干輔助測(cè)試模塊。輔助測(cè)試模塊有兩種,一種是驅(qū)動(dòng)模塊(Driver),另一種是被調(diào)用模擬子模塊(Sub)。
被調(diào)用模擬子模塊又稱為樁模塊,是模擬被測(cè)試的模塊所調(diào)用的模塊。被調(diào)用模擬子模塊由被測(cè)模塊調(diào)用,它們一般只進(jìn)行很少的數(shù)據(jù)處理,如圖5.4所示。圖5.4驅(qū)動(dòng)模塊與樁模塊示例圖
單元測(cè)試通常被認(rèn)為是附屬于編碼步驟的。其測(cè)試環(huán)境如圖5.5所示:一個(gè)驅(qū)動(dòng)程序只是一個(gè)接收測(cè)試數(shù)據(jù)并把數(shù)據(jù)傳送給要測(cè)試模塊的構(gòu)件;樁模塊是替代那些隸屬于被測(cè)試構(gòu)件的從屬模塊。這就是一般的單元測(cè)試環(huán)境。
圖5.5一般單元測(cè)試環(huán)境
所測(cè)模塊和與其相關(guān)的驅(qū)動(dòng)模塊及被調(diào)用模擬子模塊構(gòu)成了一個(gè)“測(cè)試環(huán)境”。人們?cè)谶M(jìn)行單元測(cè)試時(shí)盡量避免開發(fā)驅(qū)動(dòng)模塊和樁模塊,尤其應(yīng)避免開發(fā)樁模塊,因?yàn)轵?qū)動(dòng)模塊開發(fā)的工作量一般少于樁模塊。
5.2.5單元測(cè)試過程
1.計(jì)劃階段
測(cè)試分析人員應(yīng)根據(jù)軟件測(cè)試任務(wù)書(合同或項(xiàng)目計(jì)劃)和被測(cè)試軟件的設(shè)計(jì)文檔對(duì)被測(cè)試軟件單元進(jìn)行分析,并確定以下內(nèi)容:
(1)確定測(cè)試充分性的要求,根據(jù)軟件單元的重要性、單元測(cè)試的目標(biāo)和約束條件,確定測(cè)試用例應(yīng)覆蓋的范圍及每個(gè)范圍所要求的覆蓋程度(如語句覆蓋率、功能覆蓋率以及分支覆蓋率,單元的每一個(gè)軟件特性都至少被一個(gè)正常的測(cè)試用例和一個(gè)異常的測(cè)試用例分別覆蓋一次)。
(2)確定測(cè)試終止的要求,設(shè)定測(cè)試過程正常終止的條件(如測(cè)試充分性是否達(dá)到要求),確定導(dǎo)致測(cè)試過程異常終止的可能情況(如代碼邏輯錯(cuò)誤)。
(3)確定用于測(cè)試的資源要求,包括軟件(如所需要的操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)服務(wù)、編譯環(huán)境、靜態(tài)分析軟件、測(cè)試數(shù)據(jù)產(chǎn)生軟件、測(cè)試結(jié)果獲取和處理軟件及測(cè)試驅(qū)動(dòng)軟件等)、硬件(如計(jì)算機(jī)、服務(wù)器、設(shè)備接口、網(wǎng)絡(luò)連接設(shè)備等)、人員配備以及技能素質(zhì)要
求等。
(4)確定需要測(cè)試的軟件特性,根據(jù)軟件設(shè)計(jì)文檔的描述確定軟件單元的功能、性能、接口、狀態(tài)、設(shè)計(jì)約束以及數(shù)據(jù)結(jié)構(gòu)等內(nèi)容和要求,進(jìn)行標(biāo)識(shí)、分類,從中確定需要進(jìn)行測(cè)試的軟件特性。
(5)確定測(cè)試需要的技術(shù)和方法,包括測(cè)試數(shù)據(jù)輸入/輸出技術(shù),測(cè)試數(shù)據(jù)生成與驗(yàn)證技術(shù),測(cè)試結(jié)果獲取技術(shù)等。
(6)根據(jù)測(cè)試任務(wù)書(合同或項(xiàng)目計(jì)劃)的要求和被測(cè)試軟件的特性,確定測(cè)試結(jié)束的條件。
(7)確定由資源和被測(cè)試軟件單元所決定的單元測(cè)試活動(dòng)的進(jìn)度。
2.設(shè)計(jì)實(shí)現(xiàn)階段
軟件單元測(cè)試的設(shè)計(jì)和實(shí)現(xiàn)工作由測(cè)試設(shè)計(jì)人員和測(cè)試程序員共同完成,一般根據(jù)軟件單元測(cè)試計(jì)劃完成以下工作:
(1)測(cè)試用例的設(shè)計(jì),將需測(cè)試的軟件特性分解,針對(duì)分解后的每種情況設(shè)計(jì)測(cè)試用例。
(2)獲取測(cè)試數(shù)據(jù),有兩種方式可得到測(cè)試數(shù)據(jù),一種是獲得現(xiàn)有的測(cè)試數(shù)據(jù);另一種是生成新的測(cè)試數(shù)據(jù),并按要求對(duì)所獲得的數(shù)據(jù)進(jìn)行驗(yàn)證。
(3)確定測(cè)試順序,考慮資源約束、風(fēng)險(xiǎn)管理以及測(cè)試用例失效造成的影響或后果等幾個(gè)方面的因素。
(4)獲取測(cè)試資源,對(duì)于測(cè)試所需用到的軟件和硬件,有的可從現(xiàn)有工具中選擇,有的則需要另外研制。
(5)編寫測(cè)試程序,包括開發(fā)測(cè)試支持工具、單元測(cè)試的驅(qū)動(dòng)模塊與樁模塊。
(6)建立和校準(zhǔn)測(cè)試環(huán)境。
(7)編寫軟件單元測(cè)試說明文檔。
3.執(zhí)行評(píng)估階段
測(cè)試人員和測(cè)試分析人員要共同執(zhí)行測(cè)試。其中測(cè)試人員的主要工作是按照軟件單元測(cè)試計(jì)劃和軟件單元測(cè)試說明的內(nèi)容以及要求執(zhí)行測(cè)試。在執(zhí)行過程中,測(cè)試人員應(yīng)仔細(xì)觀察和如實(shí)記錄測(cè)試過程、測(cè)試結(jié)果并努力發(fā)現(xiàn)其中的錯(cuò)誤,認(rèn)真填寫測(cè)試記錄。
如果測(cè)試用例不通過,測(cè)試分析人員應(yīng)認(rèn)真分析其原因,并根據(jù)以下原因采取相應(yīng)的措施:
(1)由于軟件單元測(cè)試說明和測(cè)試數(shù)據(jù)的錯(cuò)誤導(dǎo)致測(cè)試用例不通過時(shí),需要改正錯(cuò)誤,將被改正的錯(cuò)誤信息詳細(xì)記錄,并重新運(yùn)行該測(cè)試。
(2)由于執(zhí)行測(cè)試步驟的錯(cuò)誤導(dǎo)致測(cè)試用例不通過時(shí),需要重新運(yùn)行未正確執(zhí)行的測(cè)試步驟。
(3)由于測(cè)試環(huán)境(包括軟件環(huán)境與硬件環(huán)境)的錯(cuò)誤導(dǎo)致測(cè)試用例不通過時(shí),需要修改測(cè)試環(huán)境,將環(huán)境更正信息詳細(xì)記錄下來,重新運(yùn)行該測(cè)試。如果不能修正環(huán)境,要記錄相關(guān)原因,并核對(duì)終止測(cè)試。
(4)由于軟件單元的實(shí)現(xiàn)錯(cuò)誤導(dǎo)致測(cè)試用例不能通過時(shí),要填寫軟件問題報(bào)告單,提出軟件修改建議,然后繼續(xù)進(jìn)行測(cè)試;或是比較錯(cuò)誤與異常終止情況,核對(duì)終止測(cè)試,待軟件更新完畢后,視情況進(jìn)行回歸測(cè)試。
(5)由于軟件單元的設(shè)計(jì)錯(cuò)誤導(dǎo)致測(cè)試用例不能通過時(shí),同樣要填寫軟件問題報(bào)告單,提出軟件修改建議,然后繼續(xù)進(jìn)行測(cè)試;或是比較錯(cuò)誤與異常終止情況,核對(duì)終止測(cè)試,待軟件更新完畢后,視情況進(jìn)行回歸測(cè)試,并修改相應(yīng)的測(cè)試設(shè)計(jì)與測(cè)試數(shù)據(jù)。
在對(duì)單元測(cè)試的結(jié)果進(jìn)行評(píng)估時(shí),測(cè)試分析人員應(yīng)根據(jù)被測(cè)試設(shè)計(jì)文檔、軟件單元測(cè)試說明、測(cè)試記錄和軟件問題報(bào)告單等,對(duì)測(cè)試工作進(jìn)行總結(jié),主要包括以下內(nèi)容:
(1)總結(jié)軟件單元測(cè)試計(jì)劃和軟件單元測(cè)試說明變化情況以及原因,記錄在軟件單元測(cè)試報(bào)告中。
(2)根據(jù)測(cè)試異常終止的情況,確定測(cè)試用例未覆蓋到的范圍,并將其理由記錄在測(cè)試報(bào)告中。
(3)確定不能解決的測(cè)試事件以及不能解決的理由,并將理由記錄在測(cè)試報(bào)告中。
(4)總結(jié)測(cè)試所反映的軟件單元與軟件設(shè)計(jì)文檔,對(duì)軟件單元的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行評(píng)估,并提出改進(jìn)意見,將其記錄在測(cè)試報(bào)告中。
(5)編寫軟件單元測(cè)試報(bào)告,內(nèi)容包括測(cè)試結(jié)果分析、軟件單元的評(píng)估以及對(duì)軟件單元的改進(jìn)意見。
(6)根據(jù)測(cè)試記錄和軟件問題報(bào)告單編寫測(cè)試問題報(bào)告。
5.2.6單元測(cè)試人員
通常開發(fā)組在組長的監(jiān)督下進(jìn)行,由編寫該單元的開發(fā)設(shè)計(jì)者設(shè)計(jì)所需的測(cè)試用例和測(cè)試數(shù)據(jù),來測(cè)試該單元并修改缺陷。開發(fā)組組長負(fù)責(zé)保證使用合適的測(cè)試技術(shù),在合理的質(zhì)量控制和監(jiān)督下執(zhí)行充分的測(cè)試。實(shí)驗(yàn)表明,單元測(cè)試,尤其是對(duì)代碼的評(píng)審和檢查,能夠充分發(fā)揮開發(fā)組的團(tuán)隊(duì)作用,可以十分有效地找出單元的缺陷。
5.2.7測(cè)試工具簡介
目前市場(chǎng)上有很多可以用的單元測(cè)試工具。單元測(cè)試使用自動(dòng)化測(cè)試工具,可以避免大量的重復(fù)勞動(dòng),降低工作強(qiáng)度,并有效地提高測(cè)試效率,使測(cè)試人員能夠把精力花在更有創(chuàng)造性的工作上。
目前的單元測(cè)試工具類型很多,按照測(cè)試的范圍和功能,可以分為:靜態(tài)分析工具、代碼規(guī)范審核工具、內(nèi)存和資源檢查工具、測(cè)試數(shù)據(jù)生成工具、測(cè)試框架工具、測(cè)試結(jié)果比較工具、測(cè)試度量工具、測(cè)試文檔生成和管理工具。
下面分別按編程語言介紹單元測(cè)試工具。
1)?C/C++
CppUnit是C++單元測(cè)試工具的鼻祖,具有免費(fèi)的開源的單元測(cè)試框架。由于已有高人寫了不少關(guān)于CppUnit的很好的文章,想了解CppUnit的朋友,建議讀一下Cpluser所作的《CppUnit測(cè)試框架入門》,該文也提供了CppUnit的下載地址。
2)?C++Test
C++Test是Parasoft公司的產(chǎn)品。“C++Test是一個(gè)功能強(qiáng)大的自動(dòng)化C/C++單元級(jí)測(cè)試工具,可以自動(dòng)測(cè)試任何C/C++函數(shù)、類,自動(dòng)生成測(cè)試用例、測(cè)試驅(qū)動(dòng)函數(shù)或樁函
數(shù),在自動(dòng)化的環(huán)境下極其容易快速地將單元級(jí)的測(cè)試覆蓋率達(dá)到100%”(引自華唐公司的網(wǎng)頁)。
3)?VisualUnit
VisualUnit簡稱VU,這是國產(chǎn)的單元測(cè)試工具,據(jù)說申請(qǐng)了多項(xiàng)專利,擁有一批創(chuàng)新的技術(shù)?!白詣?dòng)生成測(cè)試代碼;快速建立功能測(cè)試用例程序行為一目了然;極高的測(cè)試完整性;高效完成白盒覆蓋;快速排錯(cuò);高效調(diào)試;詳盡的測(cè)試報(bào)告”。(摘自VU開發(fā)商的網(wǎng)頁)。前面所述的測(cè)試要求:完成功能測(cè)試,完成語句覆蓋、條件覆蓋、分支覆蓋、路徑覆蓋,用VU可以輕松實(shí)現(xiàn)。使用VU還能提高編碼的效率,總體來說,在完成單元測(cè)試的同時(shí),編碼調(diào)試的時(shí)間還能大幅度縮短。
4)?gtest
gtest測(cè)試框架是在不同平臺(tái)上(Linux,MacOSX,Windows,Cygwin,WindowsCE和Symbian)為編寫C++測(cè)試而生成的。它是基于xUnit架構(gòu)的測(cè)試框架,支持自動(dòng)發(fā)現(xiàn)測(cè)試,豐富的斷言集,用戶定義的斷言,death測(cè)試,致命與非致命的失敗,類型參數(shù)化測(cè)試,各類運(yùn)行測(cè)試的選項(xiàng)和XML的測(cè)試報(bào)告。需要詳細(xì)了解的朋友可以參閱《玩轉(zhuǎn)Google單元測(cè)試框架gtest系列》文章。
5)?C#
NUnit是一個(gè)單元測(cè)試框架,專門針對(duì)于?.NET來寫的。其實(shí)JUnit(Java)、CppUnit(C++)都是xUnit的一員。NUnit是xUnit家族中的第4個(gè)主打產(chǎn)品,完全由C#語言來編寫,并且編寫時(shí)充分利用了許多?.NET的特性,比如反射、客戶屬性等。
6)?Java
JUnit是Java社區(qū)中知名度最高的單元測(cè)試工具。它誕生于1997年,由ErichGamma和KentBeck共同開發(fā)完成。其中ErichGamma是經(jīng)典著作《設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》一書的作者之一,并在Eclipse中有很大的貢獻(xiàn);KentBeck則是一位極限編程(XP)方面的專家和先驅(qū)。JUnit設(shè)計(jì)得非常小巧,但是功能卻非常強(qiáng)大,是一個(gè)開發(fā)源代碼的Java測(cè)試框架,用于編寫和運(yùn)行可重復(fù)的測(cè)試,是用于單元測(cè)試框架體系xUnit的一個(gè)實(shí)例(用于java語言),主要用于白盒測(cè)試和回歸測(cè)試。
5.3集成測(cè)試
5.3.1集成測(cè)試的定義把經(jīng)過單元測(cè)試的模塊按設(shè)計(jì)要求連接起來,組成所規(guī)定的軟件系統(tǒng)的過程稱為“集成”。集成是多個(gè)單元的聚合,許多單元組合成模塊,而這些模塊又聚合成更大的部分,如子系統(tǒng)或系統(tǒng)。
集成測(cè)試(IntegrationTesting),也叫組裝測(cè)試或聯(lián)合測(cè)試。在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求(如根據(jù)結(jié)構(gòu)圖)組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行集成測(cè)試。實(shí)踐表明,一些模塊雖然能夠單獨(dú)工作,但并不能保證連接起來也能正常工作。程序在某些局部反映不出來的問題,在全局上很可能暴露出來,影響功能的實(shí)現(xiàn)。
5.3.2測(cè)試目標(biāo)
集成測(cè)試的目標(biāo)是確保在把各個(gè)子模塊連接起來的時(shí)候,能達(dá)到預(yù)期功能要求,一個(gè)模塊的功能不會(huì)對(duì)另一個(gè)模塊的功能產(chǎn)生不利影響。
5.3.3集成測(cè)試的原則
集成測(cè)試的原則如下:
(1)所有公共接口必須被測(cè)試到;
(2)關(guān)鍵模塊必須進(jìn)行充分測(cè)試;
(3)集成測(cè)試應(yīng)當(dāng)按一定層次進(jìn)行;
(4)集成測(cè)試策略選擇應(yīng)當(dāng)綜合考慮質(zhì)量、成本和進(jìn)度三者之間的關(guān)系;
(5)集成測(cè)試應(yīng)當(dāng)盡早開始,并以概要設(shè)計(jì)為基礎(chǔ);
(6)在模塊和接口的劃分上,測(cè)試人員應(yīng)該和開發(fā)人員進(jìn)行充分溝通。
5.3.4集成測(cè)試的策略
1.一次性集成方式(bigbang)
這是一種非增量式組裝方式。也叫做整體拼裝。
使用這種方式,首先對(duì)每個(gè)模塊分別進(jìn)行模塊測(cè)試,然后再把所有模塊組裝在一起進(jìn)行測(cè)試,最終得到要求的軟件系統(tǒng),如圖5.6所示。
圖5.6一次性集成方式
1)優(yōu)點(diǎn)
(1)可迅速完成集成測(cè)試;
(2)需要的樁和樁模塊非常少;
(3)需要的用例是最少的,多個(gè)測(cè)試人員可以并行測(cè)試;
(4)操作簡單;
(5)資源利用率高。
2)缺點(diǎn)
(1)一次試運(yùn)行成功的可能性不大;
(2)問題定位和修改比較困難;
(3)接口間的交互關(guān)系只被測(cè)試到很少的一部分,大量的實(shí)際中會(huì)運(yùn)行到的程序執(zhí)行路徑?jīng)]有被測(cè)試到;
(4)風(fēng)險(xiǎn)高。
2.增量式集成方式
這種集成方式又稱漸增式集成。增量式集成測(cè)試可按不同的次序?qū)嵤?,因而可以有兩種方法,即自頂向下的增量方式和自底向上的增量方式。
1)自頂向下的增量方式
這種集成方式將模塊按系統(tǒng)程序結(jié)構(gòu),從最頂層程序開始,所有被主程序調(diào)用的下層單元全部使用樁來代替,然后一層一層向下進(jìn)行測(cè)試,每層程序調(diào)用的下一層程序單元都要打樁。整個(gè)集成可以按深度優(yōu)先的策略進(jìn)行,也可以按照廣度優(yōu)先的策略進(jìn)行。
自頂向下的集成方式有兩種:深度優(yōu)先集成方式、廣度優(yōu)先集成方式。
(1)深度優(yōu)先集成方式。從最頂層單元開始,持續(xù)向下到下一層,選擇一個(gè)分支,自頂而下一個(gè)一個(gè)地集成這條分支上的所有單元,直到最底層,然后轉(zhuǎn)向另一個(gè)分支,重復(fù)這樣的集成操作直到所有的單元都集成進(jìn)來。
以圖5.7為例,深度優(yōu)先集成方式集成的步驟如下:
①從U1開始,被U1調(diào)用的U2、U3、U4被3個(gè)樁模塊S1、S2、S3代替,基于功能樹,選擇一個(gè)U1的分支,集成自頂而下。在本例中選擇最左面的一個(gè)分支。
②將U1和U2集成,被U2調(diào)用的U5用樁模塊S4代替,U3、U4被S2、S3代替。
③將U1、U2和U5集成,U3、U4用樁模塊S2、S3代替。
④轉(zhuǎn)回到第二級(jí),將U1、U2、U5和U3集成,用S3代替U4。
⑤轉(zhuǎn)回到第二級(jí),將U1、U2、U3、U5和U4集成,用S5代替U6。
⑥將U6與其他模塊集成。圖5.7深度優(yōu)先集成方式
(2)廣度優(yōu)先集成方式。從最頂層單元開始,持續(xù)向下到下一層,一個(gè)個(gè)完成下一層上所有單元集成后,再轉(zhuǎn)向下面一層,重復(fù)這樣的集成操作直到所有的單元都集成進(jìn)來。
以圖5.8為例,廣度優(yōu)先集成方式集成的步驟如下:
①從U1開始測(cè)試,被U1調(diào)用的U2、U3、U4被S1、S2、S3這3個(gè)樁模塊代替,集成從左向右進(jìn)行。
②移到下一層,將U1和U2集成,被U2調(diào)用的U5被樁模塊S4代替,U3,U4被S2、S3代替。
③集成U1、U2、U3,U5被S4代替,U4被S3代替。
④集成U1、U2、U3和U4,被U4調(diào)用的U6被S5代替,U5用S4代替。
⑤移到下一層,集成U2、U1、U3、U4和U5,用S5代替U6。
⑥將U6與其他單元集成。圖5.8廣度優(yōu)先集成方式
自頂向下的增量方式集成的優(yōu)點(diǎn)包括:
①較早地驗(yàn)證了主要控制和判斷點(diǎn);
②按深度優(yōu)先可以首先實(shí)現(xiàn)和驗(yàn)證一個(gè)完整的軟件功能;
③功能較早證實(shí),帶來信心;
④只需一個(gè)驅(qū)動(dòng),減少驅(qū)動(dòng)器開發(fā)的費(fèi)用;
⑤支持故障隔離。
自頂向下的增量方式集成的缺點(diǎn)包括:
①樁的開發(fā)量大;
②底層驗(yàn)證被推遲;
③底層組件測(cè)試不充分。
自頂向下的增量方式集成的適用范圍包括:
①產(chǎn)品控制結(jié)構(gòu)比較清晰和穩(wěn)定;
②高層接口變化較小;
③底層接口未定義或經(jīng)常可能被修改;
④產(chǎn)品控制組件具有較大的技術(shù)風(fēng)險(xiǎn),需要盡早被驗(yàn)證;
⑤希望盡早能看到產(chǎn)品的系統(tǒng)功能行為。
2)自底向上的增量方式
這種集成的方式是從程序模塊結(jié)構(gòu)的最底層的模塊開始集成和測(cè)試。
因?yàn)槟K是自底向上進(jìn)行組裝,對(duì)于一個(gè)給定層次的模塊,它的子模塊(包括子模塊的所有下屬模塊)已經(jīng)組裝并測(cè)試完成,所以不再需要樁模塊。在模塊的測(cè)試過程中需要從子模塊得到的信息可以直接運(yùn)行子模塊得到。
以圖5.9為例,自底向上的增量方式集成的步驟如下:
①從最底層U5、U3、U6開始,開發(fā)3個(gè)驅(qū)動(dòng)模塊d1、d2、d3調(diào)用它們;
②用U5集成U2,U6、U4被d4、d5代替;
③將所有單元集成在一起。
圖5.9自底向上的增殖方式
自底向上的增量方式集成的優(yōu)點(diǎn)包括:
①對(duì)底層組件行為較早驗(yàn)證;
②工作最初可以并行集成,比自頂向下效率高;
③減少了樁的工作量;
④支持故障隔離。
自底向上的增量方式集成的缺點(diǎn)包括:
①驅(qū)動(dòng)的開發(fā)工作量大;
②對(duì)高層的驗(yàn)證被推遲,設(shè)計(jì)上的錯(cuò)誤不能被及時(shí)發(fā)現(xiàn)。
自底向上的增量方式集成的適用范圍包括:
①底層接口比較穩(wěn)定;
②高層接口變化比較頻繁;
③底層組件較早被完成。
3.三明治集成方式
結(jié)合自底向上和自頂向下兩種集成方法,對(duì)于底層模塊采用自底向上的集成方法,對(duì)于頂層模塊采用自頂向下的集成方法進(jìn)行測(cè)試。
以圖5.10為例,三明治集成方式的步驟如下:
(1)基于功能樹,選擇完全分支/子分支作為集成單元,在本例中,選擇了3個(gè)子樹:
①為了測(cè)試U2和U5的集成,開發(fā)一個(gè)驅(qū)動(dòng)模塊d1。
②開發(fā)兩個(gè)樁S1和S2,測(cè)試U1和U3的集成。
③為了測(cè)試U4和U6,開發(fā)一個(gè)驅(qū)動(dòng)模塊d2。圖5.10三明治集成方式
(2)將所有的測(cè)試子樹集成在一起。
三明治集成方式集成的優(yōu)點(diǎn):集合了自頂向下的增量方式和自底向上的增量方式的優(yōu)點(diǎn)。
三明治集成方式集成的缺點(diǎn):中間層測(cè)試不充分。
三明治集成方式集成的適用范圍:適應(yīng)于大部分軟件開發(fā)項(xiàng)目。
5.3.5集成測(cè)試過程
一個(gè)測(cè)試從開發(fā)到執(zhí)行遵循一個(gè)過程,不同的組織對(duì)這個(gè)過程的定義會(huì)有所不同。根據(jù)集成測(cè)試不同階段的任務(wù),可以把集成測(cè)試劃分為5個(gè)階段:計(jì)劃階段、設(shè)計(jì)階段、實(shí)施階段、執(zhí)行階段、評(píng)估階段。其具體流程圖如圖5.11所示。
圖5.11集成測(cè)試過程流程圖
集成測(cè)試各階段的工作內(nèi)容及流程如表5-1所示。
5.3.6集成測(cè)試人員
由于集成測(cè)試不是在真實(shí)環(huán)境下進(jìn)行,而是在開發(fā)環(huán)境或是一個(gè)獨(dú)立的測(cè)試環(huán)境下進(jìn)行的,所以集成測(cè)試所需人員一般從開發(fā)組中選出,在開發(fā)組長的監(jiān)督下進(jìn)行,開發(fā)組長負(fù)責(zé)保證在合理的質(zhì)量控制和監(jiān)督下使用合適的測(cè)試技術(shù)執(zhí)行充分的集成測(cè)試。
集成測(cè)試過程中應(yīng)考慮邀請(qǐng)一個(gè)用戶代表非正式地觀看集成測(cè)試。
5.4系統(tǒng)測(cè)試
5.4.1系統(tǒng)測(cè)試定義系統(tǒng)測(cè)試(SystemTesting)是將已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測(cè)試和確認(rèn)測(cè)試。系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。
5.4.2系統(tǒng)測(cè)試目標(biāo)
系統(tǒng)測(cè)試的主要目標(biāo)是驗(yàn)證系統(tǒng)功能的完整性,保證系統(tǒng)各模塊的功能滿足基本業(yè)務(wù)需求,確保系統(tǒng)測(cè)試的活動(dòng)是按計(jì)劃進(jìn)行的,模塊能正確取得數(shù)據(jù)并處理,各功能流程處理正確。
5.4.3系統(tǒng)測(cè)試的主要測(cè)試技術(shù)
系統(tǒng)測(cè)試一般要完成以下幾種測(cè)試。
1.功能測(cè)試
功能測(cè)試也叫黑盒子測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,只需考慮各個(gè)功能,不需要考慮整個(gè)軟件的內(nèi)部結(jié)構(gòu)及代碼,一般從軟件產(chǎn)品的界面、架構(gòu)出發(fā),按照需求編寫出來的測(cè)試
用例,輸入數(shù)據(jù)在預(yù)期結(jié)果和實(shí)際結(jié)果之間進(jìn)行評(píng)測(cè),檢查產(chǎn)品是否達(dá)到用戶要求的功能。
需求規(guī)格說明是功能測(cè)試的基本輸入。因此應(yīng)先對(duì)需求規(guī)格進(jìn)行分析,明確功能測(cè)試的重點(diǎn),可按照如下步驟進(jìn)行:
(1)標(biāo)識(shí)所有的功能需求(其中包括隱含的功能需求)。
(2)對(duì)所有可能出現(xiàn)的功能異常進(jìn)行分類并分析,再加以標(biāo)識(shí)。
(3)對(duì)前面表示的功能需求確定優(yōu)先級(jí)。
(4)對(duì)每個(gè)功能進(jìn)行測(cè)試分析,分析其是否可測(cè)、采用何種測(cè)試方法、測(cè)試的入口條件、可能的輸入、預(yù)期輸出等。
(5)確定是否需要開發(fā)腳本或借助工具錄制腳本。
(6)確定要對(duì)哪些測(cè)試使用自動(dòng)化測(cè)試,對(duì)哪些測(cè)試使用手工測(cè)試。
經(jīng)常進(jìn)行的功能測(cè)試項(xiàng)目如下:
(1)頁面鏈接;(2)相關(guān)性;
(3)按鈕的功能是否正確;(4)字符串長度;
(5)字符類型;(6)標(biāo)點(diǎn)符號(hào);
(7)中文字符處理;(8)帶出信息的完整性;
(9)信息重復(fù)情況;(10)刪除功能;
(11)添加和修改是否一致;(12)修改重名;
(13)重復(fù)提交表單;(14)多次使用back鍵的情況;
(15)?search檢查;(16)輸入信息位置;
(17)上傳下載文件;(18)必填項(xiàng);
(19)快捷鍵;(20)回車鍵。
2.性能測(cè)試
性能測(cè)試檢驗(yàn)安裝在系統(tǒng)內(nèi)的軟件的運(yùn)行性能。性能測(cè)試是通過自動(dòng)化的測(cè)試工具模擬多種正常、峰值以及異常負(fù)載條件來對(duì)系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測(cè)試。負(fù)載測(cè)試和壓力測(cè)試都屬于性能測(cè)試,兩者可以結(jié)合進(jìn)行。通過負(fù)載測(cè)試,可確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測(cè)試負(fù)載逐漸增加時(shí)系統(tǒng)各項(xiàng)性能指標(biāo)的變化情況。壓力測(cè)試是通過確定一個(gè)系統(tǒng)的瓶頸或者不能接受的性能點(diǎn),來獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試。可從三個(gè)方面進(jìn)行性能測(cè)試:應(yīng)用在客戶端的性能測(cè)試、應(yīng)用在網(wǎng)絡(luò)上的性能測(cè)試和應(yīng)用在服務(wù)器端的性能測(cè)試。
1)應(yīng)用在客戶端的性能測(cè)試
應(yīng)用在客戶端的性能測(cè)試目的是考察客戶端應(yīng)用的性能,測(cè)試的入口是客戶端。它主要包括并發(fā)性能測(cè)試、疲勞強(qiáng)度測(cè)試、大數(shù)據(jù)量測(cè)試和速度測(cè)試等,其中并發(fā)性能測(cè)試是重點(diǎn)。
并發(fā)性能測(cè)試的過程是一個(gè)負(fù)載測(cè)試和壓力測(cè)試的過程,即逐漸增加負(fù)載,直到系統(tǒng)的瓶頸或者不能接受的性能點(diǎn),通過綜合分析交易執(zhí)行指標(biāo)和資源監(jiān)控指標(biāo)來確定系統(tǒng)并發(fā)性能的過程。
2)應(yīng)用在網(wǎng)絡(luò)上的性能測(cè)試
該測(cè)試重點(diǎn)是利用成熟先進(jìn)的自動(dòng)化技術(shù)進(jìn)行網(wǎng)絡(luò)應(yīng)用性能監(jiān)控、網(wǎng)絡(luò)應(yīng)用性能分析和網(wǎng)絡(luò)預(yù)測(cè)。下面分別從三個(gè)方面來闡述。
(1)網(wǎng)絡(luò)應(yīng)用性能分析,目的就是準(zhǔn)確展示網(wǎng)絡(luò)帶寬、延遲、負(fù)載和TCP端口的變化是如何影響用戶的響應(yīng)時(shí)間的。
(2)網(wǎng)絡(luò)應(yīng)用性能監(jiān)控,主要用來分析關(guān)鍵應(yīng)用程序的性能,定位問題的根源是在客戶端、服務(wù)器、應(yīng)用程序還是網(wǎng)絡(luò)。
(3)網(wǎng)絡(luò)預(yù)測(cè),主要是從網(wǎng)絡(luò)管理軟件獲取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、從現(xiàn)有的流量監(jiān)控軟件獲取流量信息,這樣可以得到現(xiàn)有網(wǎng)絡(luò)的基本結(jié)構(gòu),并進(jìn)行流量分析和沖突檢測(cè)。
3)應(yīng)用在服務(wù)器端的性能測(cè)試
該測(cè)試主要是采用工具監(jiān)控資源使用情況。實(shí)施測(cè)試的目的是實(shí)現(xiàn)服務(wù)器設(shè)備、服務(wù)器操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、應(yīng)用在服務(wù)器上的性能的全面監(jiān)控。
3.系統(tǒng)可靠性測(cè)試
可靠性測(cè)試是指連續(xù)運(yùn)行被測(cè)系統(tǒng),檢查系統(tǒng)運(yùn)行時(shí)的穩(wěn)定程度。
4.系統(tǒng)兼容性測(cè)試
兼容性測(cè)試是指待測(cè)試項(xiàng)目在特定的硬件平臺(tái)上、不同的應(yīng)用軟件之間、不同的操作系統(tǒng)平臺(tái)上、不同的網(wǎng)絡(luò)等環(huán)境中能正常地運(yùn)行的測(cè)試。
在做兼容性測(cè)試時(shí),應(yīng)主要關(guān)注如下幾個(gè)問題:
(1)當(dāng)前系統(tǒng)可能運(yùn)行在哪些不同的操作系統(tǒng)環(huán)境下?
(2)當(dāng)前系統(tǒng)可能與哪些不同類型的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交換?
(3)當(dāng)前系統(tǒng)可能運(yùn)行在哪些不同的硬件配置的環(huán)境下?
(4)當(dāng)前系統(tǒng)可能需要與哪些軟件系統(tǒng)協(xié)同工作?這些軟件系統(tǒng)可能的版本有哪些?
(5)是否需要綜合測(cè)試?
5.恢復(fù)測(cè)試
恢復(fù)測(cè)試作為一種系統(tǒng)測(cè)試,主要關(guān)注導(dǎo)致軟件運(yùn)行失敗的各種條件,并驗(yàn)證其恢復(fù)過程能否正確執(zhí)行。在特定情況下,系統(tǒng)需具備容錯(cuò)能力。另外,系統(tǒng)失效必須在規(guī)定時(shí)間段內(nèi)被更正,否則將會(huì)導(dǎo)致嚴(yán)重的經(jīng)濟(jì)損失。
在進(jìn)行恢復(fù)性測(cè)試時(shí),同樣先要進(jìn)行恢復(fù)性測(cè)試分析,需考慮如下的主要問題:
(1)恢復(fù)期間的安全性過程;
(2)恢復(fù)處理日志方面的能力;
(3)當(dāng)出現(xiàn)供電問題時(shí)的恢復(fù)能力;
(4)恢復(fù)操作后系統(tǒng)性能是否下降。
6.安全測(cè)試
安全測(cè)試用來驗(yàn)證系統(tǒng)內(nèi)部的保護(hù)機(jī)制,以防止非法侵入。在安全測(cè)試中,測(cè)試人員扮演試圖侵入系統(tǒng)的角色,采用各種辦法突破防線。因此系統(tǒng)安全設(shè)計(jì)的準(zhǔn)則是要想方設(shè)法使侵入系統(tǒng)所需的代價(jià)盡可能地昂貴。
7.強(qiáng)度測(cè)試
強(qiáng)度測(cè)試檢查程序?qū)Ξ惓G闆r的抵抗能力,檢查系統(tǒng)在極限狀態(tài)下運(yùn)行的時(shí)候性能下降的幅度是否在允許的范圍內(nèi)。
5.4.4系統(tǒng)測(cè)試的過程
系統(tǒng)測(cè)試的過程如圖5.12所示。圖5.12系統(tǒng)測(cè)試的過程
系統(tǒng)測(cè)試的幾個(gè)階段:
(1)計(jì)劃階段:制訂測(cè)試計(jì)劃。
(2)設(shè)計(jì)階段:對(duì)系統(tǒng)進(jìn)行詳細(xì)的測(cè)試分析,然后設(shè)計(jì)一些典型的、滿足測(cè)試需求的測(cè)試用例,同時(shí)給出系統(tǒng)測(cè)試的大致過程。
3)實(shí)施階段:使用當(dāng)前的軟件版本進(jìn)行測(cè)試腳本的錄制工作,確定軟件的基線。
(4)執(zhí)行階段:根據(jù)系統(tǒng)測(cè)試計(jì)劃和事先設(shè)計(jì)好的系統(tǒng)測(cè)試用例,以及一定的測(cè)試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度民商法擔(dān)保合同保險(xiǎn)條款4篇
- 2017北京市中考英語(含解析)
- 2025年農(nóng)行個(gè)人消費(fèi)信貸合同2篇
- 二零二五版新能源汽車充電站租賃合同合法經(jīng)營引領(lǐng)綠色出行4篇
- 包含2025年度灑水車租賃的環(huán)保項(xiàng)目合同3篇
- 個(gè)性化畫稿合作合同2024年版版B版
- 2025年度智能家電租賃服務(wù)合同范本3篇
- 2025年度房地產(chǎn)開發(fā)項(xiàng)目融資借款抵押合同模板4篇
- 二零二五年度城市公共安全監(jiān)控項(xiàng)目合同2篇
- 二零二五年度教育培訓(xùn)機(jī)構(gòu)場(chǎng)地租賃及課程合作合同4篇
- Q∕GDW 516-2010 500kV~1000kV 輸電線路劣化懸式絕緣子檢測(cè)規(guī)程
- 遼寧省撫順五十中學(xué)2024屆中考化學(xué)全真模擬試卷含解析
- 2024年湖南汽車工程職業(yè)學(xué)院單招職業(yè)技能測(cè)試題庫及答案解析
- 家長心理健康教育知識(shí)講座
- GB/T 292-2023滾動(dòng)軸承角接觸球軸承外形尺寸
- 軍人結(jié)婚函調(diào)報(bào)告表
- 民用無人駕駛航空器實(shí)名制登記管理規(guī)定
- 北京地鐵6號(hào)線
- 航空油料計(jì)量統(tǒng)計(jì)員(初級(jí))理論考試復(fù)習(xí)題庫大全-上(單選題匯總)
- 諒解書(標(biāo)準(zhǔn)樣本)
評(píng)論
0/150
提交評(píng)論