![軟件測試畢業(yè)設計[33頁]_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/19/8acc1a8d-6738-4c8a-9ed8-a63ea70a5ac2/8acc1a8d-6738-4c8a-9ed8-a63ea70a5ac21.gif)
![軟件測試畢業(yè)設計[33頁]_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/19/8acc1a8d-6738-4c8a-9ed8-a63ea70a5ac2/8acc1a8d-6738-4c8a-9ed8-a63ea70a5ac22.gif)
![軟件測試畢業(yè)設計[33頁]_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/19/8acc1a8d-6738-4c8a-9ed8-a63ea70a5ac2/8acc1a8d-6738-4c8a-9ed8-a63ea70a5ac23.gif)
![軟件測試畢業(yè)設計[33頁]_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/19/8acc1a8d-6738-4c8a-9ed8-a63ea70a5ac2/8acc1a8d-6738-4c8a-9ed8-a63ea70a5ac24.gif)
![軟件測試畢業(yè)設計[33頁]_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-9/19/8acc1a8d-6738-4c8a-9ed8-a63ea70a5ac2/8acc1a8d-6738-4c8a-9ed8-a63ea70a5ac25.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、阜陽師范學院本科畢業(yè)設計題目:班級管理系統(tǒng)的測試 學 號:姓 名:年 級:系 別: 專 業(yè):完成日期: 指導老師: 班級管理系統(tǒng)的測試姓名: 學號: 指導教師: 摘要 在軟件生命周期的各個階段,都有可能會產(chǎn)生差錯。雖然在每個階段結束之前都有嚴格的復審,以期望能盡早的發(fā)現(xiàn)錯誤,但是經(jīng)驗表明審查并不能發(fā)現(xiàn)所有差錯。如果在軟件投入生產(chǎn)性運行之前,沒有發(fā)現(xiàn)大部分錯誤,則這些錯誤遲早會在運行過程中暴露出來,甚至造成嚴重的后果,等到那時去改這些錯誤的代價會很高。測試的目的就是在軟件投入生產(chǎn)性運行之前,盡可能地發(fā)現(xiàn)軟件中的錯誤,測試是對軟件規(guī)格說明、設計和編碼的最后復審,所以軟件測試貫穿在整個軟件開發(fā)期的全
2、過程。要對軟件進行測試首先要明白軟件要實現(xiàn)的功能,否則無法對軟件進行測試。本文在分析軟件測試的方法、目的、流程圖等基本概念的基礎上,重點介紹了對自己開發(fā)的班級管理系統(tǒng)的測試。關鍵詞:安裝測試、功能測試、性能測試、單元測試1. 軟件測試的概念 1.1軟件測試的定義 軟件測試(Software testing)是軟件生存期(Software life cycle)中的一個重要階段,是軟件質量保證的關鍵步驟。通俗地講,軟件測試就是在軟件投入運行前,對軟件需求分析、設計規(guī)格說明和編碼進行最終復審的活動。1983年IEEE提出的軟件工程術語中給軟件測試下的定義是:“使用人工或自動的手段來運行或測定某個軟
3、件系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預期結果與實際結果之間的差別”。這個定義明確指出:軟件測試的目的是為了檢驗軟件系統(tǒng)是否滿足需求。從用戶的角度來看,普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,所以軟件測試應該是“為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程”。或者說,軟件測試應該根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內部結構而精心設計一批測試用例(即輸入數(shù)據(jù)及其預期的輸出結果),并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤或缺陷。1.2 軟件測試的目的、原則、基本要求1.2.1 測試的目的1.檢驗開發(fā)出來的軟件是否符合用戶的需求。2.盡可能多地發(fā)現(xiàn)程序中的錯誤和缺陷。1.2.2 基本要求
4、(測試人員)1.了解軟件的總體設計思路和詳細設計過程2.對整套軟件的數(shù)據(jù)流程要十分清晰1.2.3 測試用例由測試數(shù)據(jù)和相應的預期結果構成。在測試之前,一定要設計好測試數(shù)據(jù)和相應的預期結果,這是測試用例的基本原則和進行有效測試的最好途徑之一1.2.4 測試原則1. 根據(jù)測試數(shù)據(jù)來確定預期的輸出結果。2. 徹底檢查每個測試結果(正確的、錯誤的),并對測試結果進行認真和仔細的分析。3. 對非法的和非預期的輸入數(shù)據(jù)也要像合法的和預期的輸入數(shù)據(jù)一樣編寫測試用例。4. 以挑剔的眼光來看待每個程序模塊,不要設想程序中不會出現(xiàn)錯誤。程序做了它不該做的事情,即使是正確的,我們也應該把它視為錯誤。5. 程序模塊經(jīng)
5、測試后,殘存的錯誤數(shù)目一般與已發(fā)現(xiàn)的錯誤數(shù)目成正比例。也就是說,一個模塊中發(fā)現(xiàn)的錯誤越多,那么它可能殘存的錯誤數(shù)目也就越多,對這樣的程序模塊,一定要進行嚴格和更徹底的測試。6. 要保存測試用例。2. 軟件測試的方法 21 軟件測試的基本方法軟件測試的方法和技術是多種多樣的。對于軟件測試技術,可以從不同的角度加以分類:從是否需要執(zhí)行被測軟件的角度,可分為靜態(tài)測試和動態(tài)測試。從測試是否針對系統(tǒng)的內部結構和具體實現(xiàn)算法的角度來看,可分為白盒測試和黑盒測試。2.1.1 黑盒測試 黑盒測試也稱功能測試或數(shù)據(jù)驅動測試,它是在已知產(chǎn)品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看
6、作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試方法主要有等價類劃分、邊界值分析、因果圖、錯誤推測等,主要用于軟件確認測試。 “黑盒” 法著眼于程序外部結構、不考慮內部邏輯結構、針對軟件界面和軟件功能進行測試?!昂诤小?法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能
7、的輸入進行測試。2.1.2 白盒測試白盒測試也稱結構測試或邏輯驅動測試,它是知道產(chǎn)品內部工作過程,可通過測試來檢測產(chǎn)品內部動作是否按照規(guī)格說明書的規(guī)定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用于軟件驗證?!鞍缀小狈ㄈ媪私獬绦騼炔窟壿嫿Y構、對所有邏輯路徑進行測試?!鞍缀小狈ㄊ歉F舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數(shù)據(jù)。貫穿程序的獨立路徑數(shù)是天文數(shù)字。但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程序違反了設計規(guī)范
8、,即程序本身是個錯誤的程序。第二,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯。第三,窮舉路徑測試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關的錯誤。2.1.3 ALAC(Act-like-a-customer)測試軟件有好多錯誤圖ALAC測試客戶通常會遇到錯誤只占很小比例改進測試的有效性,使測試針對哪些客戶最容易遇到的錯誤圖(1)ALAC測試是一種基于客戶使用產(chǎn)品的知識開發(fā)出來的測試方法。ALAC測試是基于復雜的軟件產(chǎn)品有許多錯誤的原則。最大的受益者是用戶,缺陷查找和改正將針對哪些客戶最容易遇到的錯誤。 2.2 單元測試的基本方法單元測試的對象是軟件設計的最小單位模塊。單元測試的依據(jù)是詳細設計描述,單元測試應
9、對模塊內所有重要的控制路徑設計測試用例,以便發(fā)現(xiàn)模塊內部的錯誤。單元測試多采用白盒測試技術,系統(tǒng)內多個模塊可以并行地進行測試。 2.2.1 單元測試任務單元測試任務包括:1 模塊接口測試;2 模塊局部數(shù)據(jù)結構測試;3 模塊邊界條件測試;4 模塊中所有獨立執(zhí)行通路測試;5 模塊的各條錯誤處理通路測試。模塊接口測試是單元測試的基礎。只有在數(shù)據(jù)能正確流入、流出模塊的前提下,其他測試才有意義。測試接口正確與否應該考慮下列因素:1. 輸入的實際參數(shù)與形式參數(shù)的個數(shù)是否相同和屬性是否匹配;2. 輸入的實際參數(shù)與形式參數(shù)的量綱是否一致;3. 調用其他模塊時所給實際參數(shù)的個數(shù)是否與被調模塊的形參個數(shù)相同;4.
10、 調用其他模塊時所給實際參數(shù)的屬性是否與被調模塊的形參的屬性是否匹配;5. 調用其他模塊時所給實際參數(shù)的量綱是否與被調模塊的形參量綱一致;6. 調用預定義函數(shù)時所用參數(shù)的個數(shù)、屬性和次序是否正確;7. 是否存在與當前入口點無關的參數(shù)引用;8. 是否修改了只讀型參數(shù);9. 對全程變量的定義各模塊是否一致;10.是否把某些約束作為參數(shù)傳遞。如果模塊內包括外部輸入輸出,還應該考慮下列因素:1. 文件屬性是否正確;2. OPEN/CLOSE語句是否正確;3. 格式說明與輸入輸出語句是否匹配;4. 緩沖區(qū)大小與記錄長度是否匹配;5. 文件使用前是否已經(jīng)打開;6. 是否處理了文件尾;7. 是否處理了輸入/
11、輸出錯誤;8. 輸出信息中是否有文字性錯誤; 檢查局部數(shù)據(jù)結構是為了保證臨時存儲在模塊內的數(shù)據(jù)在程序執(zhí)行過程中完整、正確。局部數(shù)據(jù)結構往往是錯誤的根源,應仔細設計測試用例,力求發(fā)現(xiàn)下面幾類錯誤:1. 不合適或不相容的類型說明;2. 變量無初值;3. 變量初始化或缺省值有錯;4. 不正確的變量名(拼錯或不正確地截斷); 5. 出現(xiàn)上溢、下溢和地址異常。除了局部數(shù)據(jù)結構外,如果可能,單元測試時還應該查清全局數(shù)據(jù)對模塊的影響。在模塊中應對每一條獨立執(zhí)行路徑進行測試,單元測試的基本任務是保證模塊中每條語句至少執(zhí)行一次。此時設計測試用例是為了發(fā)現(xiàn)因錯誤計算、不正確的比較和不適當?shù)目刂屏髟斐傻腻e誤。此時基
12、本路徑測試和循環(huán)測試是最常用且最有效的測試技術。計算中常見的錯誤包括:1. 誤解或用錯了算符優(yōu)先級;2. 混合類型運算;3. 變量初值錯;4. 精度不夠;5. 表達式符號錯。比較判斷與控制流常常緊密相關,測試用例還應致力于發(fā)現(xiàn)下列錯誤: 1. 不同數(shù)據(jù)類型的對象之間進行比較;2. 錯誤地使用邏輯運算符或優(yōu)先級;3. 因計算機表示的局限性,期望理論上相等而實際上不相等的兩個量相等;4. 比較運算或變量出錯;5. 循環(huán)終止條件或不可能出現(xiàn);6. 迭代發(fā)散時不能退出;7. 錯誤地修改了循環(huán)變量。 一個好的設計應能預見各種出錯條件,并預設各種出錯處理通路,出錯處理通路同樣需要認真測試,測試應著重檢查下
13、列問題:1. 輸出的出錯信息難以理解;2. 記錄的錯誤與實際遇到的錯誤不相符;3. 在程序自定義的出錯處理段運行之前,系統(tǒng)已介入;4. 異常處理不當;5. 錯誤陳述中未能提供足夠的定位出錯信息。邊界條件測試是單元測試中最后,也是最重要的一項任務。眾所周知,軟件經(jīng)常在邊界上失效,采用邊界值分析技術,針對邊界值及其左、右設計測試用例,很有可能發(fā)現(xiàn)新的錯誤。2.2.2 單元測試過程一般認為單元測試應緊接在編碼之后,當源程序編制完成并通過復審和編譯檢查,便可開始單元測試。測試用例的設計應與復審工作相結合,根據(jù)設計信息選取測試數(shù)據(jù),將增大發(fā)現(xiàn)上述各類錯誤的可能性。在確定測試用例的同時,應給出期望結果。應
14、為測試模塊開發(fā)一個驅動模塊(driver)和(或)若干個樁模塊(stub),下圖顯示了一般單元測試的環(huán)境。驅動模塊在大多數(shù)場合稱為“主程序”,它接收測試數(shù)據(jù)并將這些數(shù)據(jù)傳遞到被測試模塊,被測試模塊被調用后,“主程序”打印“進入-退出”消息。驅動模塊和樁模塊是測試使用的軟件,而不是軟件產(chǎn)品的組成部分,但它需要一定的開發(fā)費用。若驅動和樁模塊比較簡單,實際開銷相對低些。遺憾的是,僅用簡單的驅動模塊和樁模塊不能完成某些模塊的測試任務,這些模塊的單元測試只能采用下面討論的綜合測試方法。提高模塊的內聚度可簡化單元測試,如果每個模塊只能完成一個,所需測試用例數(shù)目將顯著減少,模塊中的錯誤也更容易發(fā)現(xiàn)。圖(2)
15、2.3 綜合測試的基本方法時常有這樣的情況發(fā)生,每個模塊都能單獨工作,但這些模塊集成在一起之后卻不能正常工作。主要原因是,模塊相互調用時接口會引入許多新問題。例如,數(shù)據(jù)經(jīng)過接口可能丟失;一個模塊對另一模塊可能造成不應有的影響;幾個子功能組合起來不能實現(xiàn)主功能;誤差不斷積累達到不可接受的程度;全局數(shù)據(jù)結構出現(xiàn)錯誤,等等。綜合測試是組裝軟件的系統(tǒng)測試技術,按設計要求把通過單元測試的各個模塊組裝在一起之后,進行綜合測試以便發(fā)現(xiàn)與接口有關的各種錯誤。某設計人員習慣于把所有模塊按設計要求一次全部組裝起來,然后進行整體測試,這稱為非增量式集成。這種方法容易出現(xiàn)混亂。因為測試時可能發(fā)現(xiàn)一大堆錯誤,為每個錯誤
16、定位和糾正非常困難,并且在改正一個錯誤的同時又可能引入新的錯誤,新舊錯誤混雜,更難斷定出錯的原因和位置。與之相反的是增量式集成方法,程序一段一段地擴展,測試的范圍一步一步地增大,錯誤易于定位和糾正,界面的測試亦可做到完全徹底。下面討論兩種增量式集成方法。2.3.1 自頂向下集成自頂向下集成是構造程序結構的一種增量式方式,它從主控模塊開始,按照軟件的控制層次結構,以深度優(yōu)先或廣度優(yōu)先的策略,逐步把各個模塊集成在一起。深度優(yōu)先策略首先是把主控制路徑上的模塊集成在一起,至于選擇哪一條路徑作為主控制路徑,這多少帶有隨意性,一般根據(jù)問題的特性確定。以圖(3)為例,若選擇了最左一條路徑,首先將模塊M1,M
17、2,M5和M8集成在一起,再將M6集成起來,然后考慮中間和右邊的路徑。廣度優(yōu)先策略則不然,它沿著控制層次結構水平地向下移動。仍然以下圖為例,它首先把M2、M3和M4與主控模塊集成在一起,再將M5和M6 和其他模塊集成起來。自頂向下綜合測試的具體步驟為:1. 以主控模塊作為測試驅動模塊,把對主控模塊進行單元測試時引入的所有樁模塊用實際 模塊替代;2. 依據(jù)所選的集成策略(深度優(yōu)先或廣度優(yōu)先),每次只替代一個樁模塊; 3. 每集成一個模塊立即測試一遍;4. 只有每組測試完成后,才著手替換下一個樁模塊;5. 為避免引入新錯誤,須不斷地進行回歸測試(即全部或部分地重復已做過的測試)。 圖(3)從第二步
18、開始,循環(huán)執(zhí)行上述步驟,直至整個程序結構構造完畢。上圖(3)中,實線表示已部分完成的結構,若采用深度優(yōu)先策略,下一步將用模塊M7替換樁模塊S7,當然M7本身可能又帶有樁模塊,隨后將被對應的實際模塊一一替代。自頂向下集成的優(yōu)點在于能盡早地對程序的主要控制和決策機制進行檢驗,因此較早地發(fā)現(xiàn)錯誤。缺點是在測試較高層次模塊時,低層處理采用樁模塊替代,不能反映真實情況,重要數(shù)據(jù)不能及時回送到上層模塊,因此測試并不充分。解決這個問題有幾種辦法,第一種是把某些測試推遲到用真實模塊替代樁模塊之后進行,第二種是開發(fā)能模擬真實模塊的樁模塊;第三種是自底向上集成模塊。第一種方法又回退為非增量式的集成方法,使錯誤難于
19、定位和糾正,并且失去了在組裝模塊時進行一些特定測試的可能性;第二種方法無疑要大大增加開銷;第三種方法比較切實可行,下面專門討論。2.3.2 自底向上集成自底向上測試是從“原子”模塊(即軟件結構最低層的模塊)開始組裝測試,因測試到較高層模塊時,所需的下層模塊功能均已具備,所以不再需要樁模塊。自底向上綜合測試的步驟分為: 1. 把低層模塊組織成實現(xiàn)某個子功能的模塊群(cluster); 2. 開發(fā)一個測試驅動模塊,控制測試數(shù)據(jù)的輸入和測試結果的輸出; 3. 對每個模塊群進行測試;4. 刪除測試使用的驅動模塊,用較高層模塊把模塊群組織成為完成更大功能的新模塊群。從第一步開始循環(huán)執(zhí)行上述各步驟,直至整
20、個程序構造完畢。圖(4)說明了上述過程。首先“原子”模塊被分為三個模塊群,每個模塊群引入一個驅動模塊進行測試。因模塊群1、模塊群2中的模塊均隸屬于模塊Ma,因此在驅動模塊D1、D2去掉后,模塊群1與模塊群2直接與Ma接口,這時可對Ma、D3被去掉后,M3與模塊群3直接接口,可對Mb進行集成測試,最后Ma、Mb和 Mc全部集成在一起進行測試。 自底向上集成方法不用樁模塊,測試用例的設計亦相對簡單,但缺點是程序最后一個模塊加入時才具有整體形象。它與自頂向綜合測試方法優(yōu)缺點正好相反。因此,在測試軟件系統(tǒng)時,應根據(jù)軟件的特點和工程的進度,選用適當?shù)臏y試策略,有時混和使用兩種策略更為有效,上層模塊用自頂
21、向下的方法,下層模塊用自底向上的方法。此外,在綜合測試中尤其要注意關鍵模塊,所謂關鍵模塊一般都具有下述一或多個特征:對應幾條需求;具有高層控制功能;復雜、易出錯;有特殊的性能要求。關鍵模塊應盡早測試,并反復進行回歸測試。圖(4)2.4 確認測試的基本方法 通過綜合測試之后,軟件已完全組裝起來,接口方面的錯誤也已排除,軟件測試的最后一步確認測試即可開始。確認測試應檢查軟件能否按合同要求進行工作,即是否滿足軟件需求說明書中的確認標準。2.4.1 確認測試標準實現(xiàn)軟件確認要通過一系列黑盒測試。確認測試同樣需要制訂測試計劃和過程,測試計劃應規(guī)定測試的種類和測試進度,測試過程則定義一些特殊的測試用例,目
22、的在說明軟件與需求是否一致。無論計劃還是過程,都應該著重考慮軟件是否滿足合同規(guī)定的所有功能和性能,文檔資料是否完整、準確人機界面和其他方面(例如,可移植性、兼容性、錯誤恢復能力和可維護性等)是否令用戶滿意。 確認測試的結果有兩種可能,一種是功能和性能指標滿足軟件需求說明的要求,用戶可以接受;另一種是軟件不滿足軟件需求說明的要求,用戶無法接受。項目進行到這個階段才發(fā)現(xiàn)嚴重錯誤和偏差一般很難在預定的工期內改正,因此必須與用戶協(xié)商,尋求一個妥善解決問題的方法。2.4.2 配置復審確認測試的另一個重要環(huán)節(jié)是配置復審。復審的目的在于保證軟件配置齊全、分類有序,并且包括軟件維護所必須的細節(jié)。2.4.3 、
23、測試事實上,軟件開發(fā)人員不可能完全預見用戶實際使用程序的情況。例如,用戶可能錯誤的理解命令,或提供一些奇怪的數(shù)據(jù)組合,亦可能對設計者自認明了的輸出信息迷惑不解,等等。因此,軟件是否滿足用戶要求,應由用戶進行一系列“驗收測試”。驗收測試既可以是非正式的測試,也可以有計劃、有系統(tǒng)的測試。有時,驗收測試長達數(shù)周甚至數(shù)月,不斷暴露錯誤,導致開發(fā)延期。一個軟件產(chǎn)品,可能擁有眾多用戶,不可能由每個用戶驗收,此時多采用稱為、測試的過程,以期望發(fā)現(xiàn)那些似乎只有最終用戶才能發(fā)現(xiàn)的問題。測試是指軟件開發(fā)組織內部人員模擬各類用戶行對即將面市軟件產(chǎn)品(稱為版本)進行測試,試圖發(fā)現(xiàn)錯誤并修正。測試的關鍵在于盡可能逼真地
24、模擬實際運行環(huán)境和用戶對軟件產(chǎn)品的操作并盡最大努力涵蓋所有可能的用戶操作方式。經(jīng)過測試調整的軟件產(chǎn)品稱為版本。緊隨其后的測試是指軟件開發(fā)組織各方面的典型用戶在日常工作中實際使用版本,并要求用戶報告異常情況、提出批評意見。然后軟件開發(fā)公司再對版本進行改錯和完善。2.5 系統(tǒng)測試的基本方法 計算機軟件是基于計算機系統(tǒng)的一個重要組成部分,軟件開發(fā)完畢后應與系統(tǒng)中其它成分集成在一起,此時需要進行一系列系統(tǒng)集成和確認測試。對這些測試的詳細討論已超出軟件工程的范圍,這些測試也不可能僅由軟件開發(fā)人員完成。在系統(tǒng)測試之前,軟件工程師應完成下列工作:(1) 為測試軟件系統(tǒng)的輸入信息設計出錯處理通路;(2) 設計
25、測試用例,模擬錯誤數(shù)據(jù)和軟件界面可能發(fā)生的錯誤,記錄測試結果,為系統(tǒng)測試提供經(jīng)驗和幫助;(3) 參與系統(tǒng)測試的規(guī)劃和設計,保證軟件測試的合理性。系統(tǒng)測試應該由若干個不同測試組成,目的是充分運行系統(tǒng),驗證系統(tǒng)各部件是否都能夠正常工作并完成所賦予的任務。下面簡單討論幾類系統(tǒng)測試。2.5.1 恢復測試恢復測試主要檢查系統(tǒng)的容錯能力。當系統(tǒng)出錯時,能否在指定時間間隔內修正錯誤并重新啟動系統(tǒng)?;謴蜏y試首先要采用各種辦法強迫系統(tǒng)失敗,然后驗證系統(tǒng)是否能盡快恢復。對于自動恢復需驗證重新初始化(reinitialization)、檢查點(checkpointing mechanisms)、數(shù)據(jù)恢復(data
26、recovery)和重新啟動 (restart)等機制的正確性;對于人工干預的恢復系統(tǒng),還需估測平均修復時間,確定其是否在可接受的范圍內。2.5.2 安全測試安全測試檢查系統(tǒng)對非法侵入的防范能力。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。2.5.3 強度測試強度測試檢查程序對異常情況的抵抗能力。強度測試總是迫使系統(tǒng)在異常的資源配置下運行。 2.5.4 性能測試對于那些實時和嵌入式系統(tǒng),軟件部分即使?jié)M足功能要求,也未必能夠滿足性能要求,雖然從單元測試起,每一個測試步驟都包含性能測試,但只有當系統(tǒng)真正集成之后,在真實環(huán)境中才能全面、可靠地測試運行性能系統(tǒng)性能測試是為了完成這一
27、任務。性能測試有時與強度測試相結合,經(jīng)常需要其他軟硬件的配套支持。3. 軟件測試的誤區(qū) 隨著軟件規(guī)模的不斷擴大,軟件設計的復雜程度不斷提高,軟件開發(fā)中出現(xiàn)錯誤或缺陷的機會越來越多。同時,市場對軟件質量重要性的認識逐漸增強。所以,軟件測試在軟件項目實施過程中的重要性日益突出。但是現(xiàn)實情況是與軟件編程比較,軟件測試的地位和作用,還沒有真正受到重視,對于很多人(甚至是軟件項目組的技術人員)還存在對軟件測試的認識誤區(qū),這進一步影響了軟件測試活動的開展和真正提高軟件測試質量。3.1 誤區(qū)之一:軟件開發(fā)完成后進行軟件測試人們一般認為,軟件項目要經(jīng)過以下幾個階段:需求分析,概要設計,詳細設計,軟件編碼,軟件
28、測試,軟件發(fā)布。因此,認為軟件測試只是軟件編碼后的一個過程。這是不了解軟件測試周期的錯誤認識。軟件測試是一個系列過程活動,包括軟件測試需求分析,測試計劃設計,測試用例設計,執(zhí)行測試。因此,軟件測試貫穿于軟件項目的整個生命過程。在軟件項目的每一個階段都要進行不同目的和內容的測試活動,以保證各個階段的正確性。軟件測試的對象不僅僅是軟件代碼,還包括軟件需求文檔和設計文檔。軟件開發(fā)與軟件測試應該是交互進行的,例如,單元編碼需要單元測試,模塊組合階段需要集成測試。如果等到軟件編碼結束后才進行測試,那么測試的時間將會很短,測試的覆蓋面將很不全面,測試的效果也將大打折扣。更嚴重的是如果此時發(fā)現(xiàn)了軟件需求階段
29、或概要設計階段的錯誤,如果要修復該類錯誤,將會耗費大量的時間和人力。3.2 誤區(qū)之二:軟件發(fā)布后如果發(fā)現(xiàn)質量問題,那是軟件測試人員的錯這種認識容易打擊軟件測試人員的積極性。軟件中的錯誤可能來自軟件項目中的各個過程,軟件測試只能確認軟件存在錯誤,不能保證軟件沒有錯誤,因為從根本上講,軟件測試不可能發(fā)現(xiàn)全部的錯誤。從軟件開發(fā)的角度看,軟件的高質量不是軟件測試人員測出來的,是靠軟件生命周期的各個過程中設計出來的。出現(xiàn)軟件錯誤,不能簡單地歸結為某一個人的責任,有些錯誤的產(chǎn)生可能不是技術原因,可能來自于混亂的項目管理。應該分析軟件項目的各個過程,從過程改進方面尋找產(chǎn)生錯誤的原因和改進的措施。3.3 誤區(qū)
30、之三:軟件測試要求不高,隨便找個人都行很多人都認為軟件測試就是安裝和運行程序,點點鼠標,按按鍵盤的工作。這是由于不了解軟件測試的具體技術和方法造成的。隨之軟件工程學的發(fā)展和軟件項目管理經(jīng)驗的提高,軟件測試已經(jīng)形成了一個獨立的技術學科,演變成一個具有巨大市場需求的行業(yè)。軟件測試技術不斷更新和完善,新工具,新流程,新測試設計方法都在不斷更新,需要掌握和學習很多測試知識。所以,具有編程經(jīng)驗的程序員不一定是一名優(yōu)秀的測試工程師。軟件測試包括測試技術和管理兩個方面,完全掌握這兩個方面的內容,需要很多測試實踐經(jīng)驗和不斷學習精神。3.4 誤區(qū)之四:軟件測試是測試人員的事情,與程序員無關開發(fā)和測試是相輔相成的
31、過程,需要軟件測試人員、程序員和系統(tǒng)分析師等保持密切的聯(lián)系,需要更多的交流和協(xié)調,以便提高測試效率。另外,對于單元測試主要應該由程序員完成,必要時測試人員可以幫助設計測試用例。對于測試中發(fā)現(xiàn)的軟件錯誤,很多需要程序員通過修改編碼才能修復。程序員可以通過有目的的分析軟件錯誤的類型、數(shù)量,找出產(chǎn)生錯誤的位置和原因,以便在今后的編程中避免同樣的錯誤,積累編程經(jīng)驗,提高編程能力.3.5 誤區(qū)之五:項目進度吃緊時少做些測試,時間富裕時多做測試這是不重視軟件測試的表現(xiàn),也是軟件項目過程管理混亂的表現(xiàn),必然會降低軟件測試的質量。一個軟件項目的順利實現(xiàn)需要有合理的項目進度計劃,其中包括合理的測試計劃,對項目實
32、施過程中的任何問題,都要有風險分析和相應的對策,不要因為開發(fā)進度的延期而簡單的縮短測試時間、人力和資源。因為縮短測試時間帶來的測試不完整,對項目質量的下降引起的潛在風險,往往造成更大的浪費??朔@種現(xiàn)象的最好辦法是加強軟件過程的計劃和控制,包括軟件測試計劃、測試設計、測試執(zhí)行、測試度量和測試控制.4. 軟件測試的流程圖 隨著軟件規(guī)模的不斷擴大,軟件設計的復雜程度也不斷提高,軟件開發(fā)過程中出現(xiàn)錯誤或缺陷的機會越來越多。因此,軟件測試在軟件項目實施過程中的重要性日益突出,而軟件測試是一種繁瑣的工作僅僅借助于人工測試是遠遠不夠的,還必須依靠軟件流程圖,才能更好的軟件測試活動的開展和真正提高軟件測試質
33、量。 設計&編碼階段測試工作流程上一階段需求相關文檔概要設計評 審詳細設計單元測試方案編 碼單元測試測試抽檢單元測試報告進入下一階段集成測試方案自動測試方案抽象出驗證標準以模塊為單位,不斷循環(huán)5. 軟件測試的實施和軟件測試報告 5.1單元測試1)單元是軟件系統(tǒng)的組成部分,它具有以下特點: 它是由程序員負責完成工作。 有一份詳細的說明書,它包括:輸入定義,輸出定義,數(shù)據(jù)庫定義,接口說明。 它是一個可識別的和可見的程序組成部分,并容易結合程序。 能單獨編譯、匯編、測試。 它是程序的必要部分。2)私有單元與公開單元從概念上可將單元分為私有單元與公開單元兩類。私有單元是非正式的、變化的、模糊的、不完整
34、的、混亂的、獨立的、不協(xié)調的。公開單元是正式的、固定的、具體的、完整的、條理的、聯(lián)系的、協(xié)調的。單元是私有的即未經(jīng)過嚴格測試,尚未交付的使用單元。單元是公開的即已經(jīng)嚴格測試及確認,可以與別的單元結合或調用的單元。單元測試的目的和效果是將私有單元轉化公有單元,且使用最少的費用和最有效的方法完成從私有到公有的轉化。3)單元測試的目標單元測試的目標是證明程序有錯誤,而不是證明程序沒有錯誤。測試可以由程序員自己進行,也可以由進行獨立測試,即由非程序員進行測試。但獨立測試對單元級測試會有一定困難,還要制定具體的目標和方法。如在目標制定時,還可分為主要目標,次要目標和輔助目標以及程序員和他們的保證部門共同
35、實施對單元的測試。 主要目標:是否實現(xiàn)說明書的要求,文檔是否完整而有意義,測試計劃的遵守是否嚴格,錯誤是否完全改正了。 次要目標:設計風格是否保持統(tǒng)一。 輔助目標:如錯誤類型統(tǒng)計,方法有效性,它們會為管理員提供信息。4)單元測試組織單元測試是程序或軟件測試的基層工作,因為單元是整個程序的基礎組成,其質量直接影響程序的更大成份甚至全局。在單元測試時應首先提供下列文檔并按步進行: 提供正式說明書。 制定單元測試計劃和文件。 先測試可測試代碼。 程序員先測試私有單元再進行正式單元測試。 驗收和條件驗收(進度和質量間的沖突)。單元測試后可進行程序元素測試,即對由單元組成的各種程序進行測試。5)單元測試
36、環(huán)境單元測試是在一定環(huán)境下進行的,這些環(huán)境可以是真實的也可以是模擬的。 真實環(huán)境。真實環(huán)境是單元程序實際使用的,這只有在極少數(shù)的環(huán)境情況下能提供,如單元程序屬于一類嵌入性模塊。 模擬環(huán)境。模擬環(huán)境是單元測試常用的,模擬環(huán)境可以在程序開發(fā)的早期進行,并利用工具對單元程序進行測試和排錯,工具本身也是一種模擬環(huán)境。但全部采用模擬方法對單元進行測試,存在的缺點是某些真實的難以實現(xiàn),從而失去真實性,可采用的方法進行回歸測試,從而發(fā)現(xiàn)單元測試模擬方法可能出現(xiàn)的不準確,甚至錯誤之處。6)單元測試的方法 靜態(tài)測試。采用人工閱讀、分析、檢驗程序源代碼的方式,來發(fā)現(xiàn)程序的錯誤,它依據(jù)提供單元測試對象的文檔,從功能
37、和結構兩方面來對程序進行檢查,并且著重于程序結構的檢查。在靜態(tài)文檔是重要的依據(jù),但在檢查程序的同時也是對文檔實行檢查的過程,在繼續(xù)對程序的檢查中又會發(fā)現(xiàn)文檔中存在的問題和不確切,甚至錯誤之處。 動態(tài)測試 采用機器運行實例方式來發(fā)現(xiàn)程序的錯誤。它依據(jù)提供單元測試對象的文檔,從功能和結構兩方面來對程序進行檢查,并著重于程序功能檢查。還可盡量利用輔助測試工具,進行語法檢查、報表生成、數(shù)據(jù)結構、算法正確性等的檢查。通常采用靜態(tài)測試和動態(tài)測試相互結合、互相補充對單元測試是必要的,特別不要輕視靜態(tài)測試,它有利于提高人們的程序設計水平和嚴謹?shù)墓ぷ鞯膽B(tài)度。 復審。復審是保證測試質量的重要手段,由程序員參加的復
38、審小組對文檔、測試過程和結果應進行按計劃的檢查并驗證其正確性,因此應事先制定復審計劃,規(guī)定審查內容和方式。復審的方式和級別亦可以根據(jù)情況和需要有所區(qū)別5.2 集成測試 集成測試又稱整體測試或結合測試,是軟件測試的中的一個重要環(huán)節(jié)。 集成測試的任務集成測試是已完成程序元素級測試的條件下證實程序元素間的一致性。集成是指取出一組程序元素,把它們集成為一個更大的自身無矛盾的元素。而整體測試就是要檢驗結合的過程中的錯誤,證實程序元素的一致性。整體測試不同于對一般元素的測試,是對正在結合元素測試,即對結合過程的測試。 集成測試的條件集成測試前提是:(1) 全部被結合的子元素已經(jīng)過測試,子元素自身一致的和正
39、確的。 (2) 研究子元素間直接或間接的一致性。(3) 測試和排錯交替進行,獲得一個互相一致的子元素結合。(4) 對新元素進行測試。(5) 重復上述過程,直到完成整個系統(tǒng)的測試和結合。 集成測試技巧集成測試將對結合元素間的調用關系、數(shù)據(jù)依賴和元素接口進行測試,它可以應用下述技術:(1) 調用圖/樹的準備。包括每個元素和每個更低元素所做的各次調用,并且用圖型表示出來,以便于了解元素間的調用關系。(2) 數(shù)據(jù)依賴圖的準備。全部數(shù)據(jù)分析是整體測試的一部分,它利用數(shù)據(jù)字典,確定數(shù)據(jù)依賴關系。為了測試全程數(shù)據(jù),可利用所謂數(shù)據(jù)依賴圖,它描繪出程序元素所引用各種數(shù)據(jù),并擴大到該元素的下層元素的影響數(shù)據(jù),以說
40、明程序元素與數(shù)據(jù)元素之間的依從關系。(3) 加工依賴圖。研究加工對數(shù)據(jù)對象的改變,加工依賴圖包括了各種加工對所有元素的操作關系。(4) 接口和接口標準。接口控制文檔記錄了元素之間的接口信息,它應遵守嚴格的接口標準。接口標準規(guī)定:數(shù)據(jù)項的傳送方式、數(shù)據(jù)對象按類型的調用順序規(guī)定、元素格式規(guī)定以及其它規(guī)定。 集成測試的內容(1) 程序元素中的數(shù)據(jù)項的相容性,它包括了數(shù)據(jù)項的表示范圍的相容性、類型的相容性、表示方式的一致性、重要數(shù)據(jù)量的范圍或個數(shù)的相容性、數(shù)據(jù)對象順序的正確性、傳遞方法的正確性、參數(shù)使用合理性等。(2) 對調用圖的使用中,應準確記錄相關信息,以檢驗對調用圖的路徑覆蓋情況。(3) 在盡量
41、避免設計多入口和多出口的程序元素的同時,應對此類元素進行認真測試,檢查多入口元素的每個入口點,并驗證選取入口的正確和路徑覆蓋。多出口有時是有必要的,但是也應在整體測試中對其進行測試。 集成測試策落集成測試可以采用如下:(1) 自頂向下。自頂向下集成測試是從程序頂部開始,把頂部元素作為單元進行測試,它所調用的子程序可設成虛元素,即一種簡單的替代元素,當測試完成后,再以真實元素加入,并重新進行對加入后的整個元素的測試;重復上述過程,直到全部測試完成加入元素及其整體為止。(2) 自底向上。自底向上的集成測試是從程序結構的底層開始,把被集成的元素逐層進行合并測試,直到頂層元素。(3) 隨機測試。 隨機
42、測試是對系統(tǒng)進行整體測試的一種方法,但不是唯一的辦法,它是在事先未做周密分析和計劃的條件下,運行和執(zhí)行某一類程序,或利用現(xiàn)成的隨手可得的程序加載到系統(tǒng)并執(zhí)行,從而進行隨機測試,以求發(fā)現(xiàn)程序的某些錯誤,這種測試是正式測試前的先導性測試,當發(fā)現(xiàn)某些錯誤并排除后再進行正式的測試。隨機測試有利于確定整體程序的框架,如測試程序是否能完成輸入、存儲、控制和輸出的基本功能。5.3 系統(tǒng)測試系統(tǒng)測試是軟件測試中的最后的、最完整的測試,它是在元素級測試和整體的基礎上進行的,它是從全局來考慮軟件系統(tǒng)的功能和性能要求。(1) 系統(tǒng)測試的任務。(2) 完成系統(tǒng)的功能驗證。它由軟件人員和質量保證人員共同研究進行。(3)
43、 完成系統(tǒng)的驗收測試。它由用戶或用戶代表在正式制定驗收測試計劃的情況下進行。(4) 系統(tǒng)測試計劃。測試計劃的制定是執(zhí)行功能測試和驗收測試的基本保證,它們必須有正式的測試文檔,沒有正式的文檔就不會有正式的測試。測試文檔應該是有規(guī)范的且內容豐富的資料,一般包含三大部分:A 部分:綜述部分,包括:詞匯集,各種說明書,測試設計標準和約定,測試運行次序、方法、圖表等。B 部分:測試數(shù)據(jù)庫和代碼部分,包括測試數(shù)據(jù)庫文檔和交叉引用索引,測試數(shù)據(jù)庫生成程序,驅動程序和裝配生成程序,測試配置說明書,測試硬件和軟件工具,驗證硬、軟件,支持性工具等。測試計劃應自頂向下設計,并且文檔化。 C 部分:實際測試說明書,包
44、括:測試結構與范圍組成,典型測試集組成,預測試的設計和記錄,測試計劃和生產(chǎn)率。系統(tǒng)測試實施系統(tǒng)測試的實施一般按下述步驟進行:(1) 功能測試。通過大量的精心的測試實例對系統(tǒng)的功能做全面系統(tǒng)的測試。(2) 性能測試。用特定的測試實例驗證系統(tǒng)的性能要求。(3) 背景測試。用實際負載代替無負載的情況的測試,即真實運行環(huán)境的測試。(4) 配置測試。提供全部邏輯式物理設備,在指令的設備組合情況下,實現(xiàn)全部功能的測試。(5) 繁忙測試。系統(tǒng)全部資源處于高度繁忙情況下的一種“破壞”性測試,以驗證系統(tǒng)的可靠性。(6) 恢復測試。測試系統(tǒng)對故障恢復能力,測試故障后整體和控制的可恢復性。(7) 安全性測試。測試系
45、統(tǒng)對錯誤的操作或非法的用戶的惡意破壞的安全保證的可靠程度。其中功能測試、性能測試和繁忙測試對于所有系統(tǒng)都是必要的,其它的測試同樣也是需要的,但根據(jù)系統(tǒng)的不同要求,可能會更有側重。系統(tǒng)測試包括功能測試和驗收測試兩種測試,其中功能測試是一種按測試計劃和測試文檔嚴格進行的過程,而驗收測試則是一種具有合同執(zhí)行和法律意義的活動。為順利進行系統(tǒng)測試通常需要在測試文檔的指導下,先進行必要的測試,并在測試前組織測試人和見證人班子,測試的指揮人和見證人是測試的關鍵人員。軟件測試是軟件開發(fā)的重要組成環(huán)節(jié),沒有測試就沒有合格和高質量的軟件,而軟件測試的投入,包括人員和資金投入是巨大的,而且具有很高的組織管理和技術難
46、度,如何組織測試人員隊伍和如何設計和積累測試實例等,但又是必須進行和完成的重要工作。5.4 測試報告測試報告是測試階段工作的總結,測試報告的內容主要包括:引言。 介紹測試的目的、范圍、測試角度和標準、測試結果概要。測試計劃和配置。包括系統(tǒng)配置、運行配置、測試標準和評價等。接口測試。描述對系統(tǒng)接口的測試和結果。功能測試。描述對系統(tǒng)各種功能的測試和結果。開發(fā)測試。包括正常數(shù)據(jù)和過載數(shù)據(jù)的測試,以及在錯誤數(shù)據(jù)下的測試和結果。交付使用的準備。包括交付使用的軟件目錄,留待解決的問題,質量的檢驗結果,對測試結果進行歸納,給出系統(tǒng)可接受的程度。附錄。包括參考文獻、異常狀況小結、測試數(shù)據(jù)等。6. 班級管理系統(tǒng)
47、的測試 我們對軟件進行測試首先明白軟件要實現(xiàn)的功能,按照軟件測試文檔進行否則無法對軟件進行測試。班級管理系統(tǒng)實現(xiàn)功能:1)學生信息管理,包括: 學生信息的錄入、修改、刪除。 學生信息的查詢:學號、姓名。2)學生成績管理,包括: 學生成績的查詢、添加、修改、刪除。 計算班級每門課的最低分、最高分、平均分、每個學生的總分。 計算班級每門課的優(yōu)秀率和優(yōu)秀人數(shù)(90)、良好率和良好人數(shù)(75)、不及格率和不及格人數(shù)。3) 課程管理,包括: 課程表的查詢 課程的添加、刪除、修改現(xiàn)以班級管理系統(tǒng)的成績評定為例進行測試。6.1 應用程序測試界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對軟件的第一印象
48、。而且設計良好的界面能夠引導用戶自己完成相應的操作,起到向導性的作用。同時界面如同人的面孔,具有吸引用戶的直接優(yōu)勢。設計合理的界面能給用戶帶來輕松愉悅的感受和成功的感覺,相反由于界面設計的失敗,讓用戶有挫敗感,再實用強大的功能都可能在用戶的畏懼與諸東流。班級管理系統(tǒng)的登錄界面和主界面就是很友好的界面,如下所示: 6.1.1 易用性測試按鈕名稱易懂,用詞準確,放棄模楞兩可的字眼,要與同一界面上的其它按鈕易于區(qū)分,能望文知意。理想的情況是用戶不用查閱幫助就能知道該界面的功能并進行相關的正確操作。如班級管理系統(tǒng)的模塊成績評定是一個非常易用如上所示:用戶輸入學號單擊“統(tǒng)計”可以查詢自己的各科成績和總分
49、,當選種單選框“科目”的一門課和在“等級”單選框可以計算優(yōu)秀人數(shù)和優(yōu)秀率、平均分、最低分、最高分等。6.1.2 規(guī)范性測試通常界面設計都按Windows界面的規(guī)范來設計,即包含“菜單條、工具欄、工具箱、狀態(tài)欄、滾動條、右鍵快捷菜單”的標準格式,可以說:界面遵循規(guī)范化的程度越高,則易用性相應的就越好。小型軟件一般不提供工具箱。班級管理系統(tǒng)主界面如上所示,僅提供菜單、命令工具箱。6.1.3 合理性測試屏幕對角線相交的位置是用戶直視的地方,正上方四分之一處為易吸引用戶注意力的位置,在放置窗體時要注意利用這兩個位置。1)父窗體或主窗體的中心位置應該在對角線焦點附近,即采取屏幕居中。2)子窗體位置應該在
50、主窗體的左上角或正中。3)多個子窗體彈出時應該依次向右下方偏移,以顯示出窗體標題為宜。4)重要的命令按鈕與使用較頻繁的按鈕放在界面上較注目的位置。5)與正在進行的操作無關的按鈕應加以屏蔽。6)對可能造成數(shù)據(jù)無法恢復的操作提供了確認信息,給用戶放棄選擇的機會。并且將按鈕的缺省焦點置在“取消”按鈕上。7)非法的輸入或操作有足夠的提示說明,例如,當用戶輸入學號在數(shù)據(jù)庫不存在時,則系統(tǒng)有提示。例如,當用戶查詢自己的各科成績時系統(tǒng)通過查詢數(shù)據(jù)庫有如下提示,同時用戶單擊確定請輸入學號文本框清空:8)對運行過程中出現(xiàn)問題而引起錯誤的地方要有提示,讓用戶明白錯誤出處,避免形成無限期的等待。9)提示、警告、或錯
51、誤說明清楚、明了、恰當。10)對于文本框(TextBox)一般需要根據(jù)其對應的數(shù)據(jù)庫字段的類型以及長度來限制用戶允許輸入的字符和長度,測試時注意了輸入框中的數(shù)值的最大數(shù)和最小數(shù),以及默認值、空白值或空格時的情況。11)對于單選組內有且只有一個單選鈕可選;如果單選組內無單選鈕可選,這種情況是否允許存在。12)復選框組內允許多個復選框(包括全部可選)可選;如果復選框組內無復選框可選,這種情況允許存在;文本框及某些控件拒絕輸入和選擇時顯示區(qū)域變灰或按既定規(guī)約處理。13)系統(tǒng)的提示框樣式應統(tǒng)一,即使用標準的Windows提示框,其中包括標題、圖標、提示語和功能按鈕。圖標使用要規(guī)范,要根據(jù)提示信息的性質
52、選擇不同的圖標,而且除非嚴重的錯誤,一般不使用“X”圖標,以免使用戶產(chǎn)生畏懼心理。14)窗體顯示后,缺省的焦點設在最合理的控件上,方便用戶操作。15)輸入型控件一般不允許只輸入空格或可存入輸入值兩端的空格。6.1.4 美觀與協(xié)調性界面大小應該適合美學觀點,感覺協(xié)調舒適,能在有效的范圍內吸引用戶的注意力。1)長寬接近黃金點比例(寬高比為4:3),切忌長寬比例失調。2)布局合理,不宜過于密集,也不能過于空曠,合理的利用空間。3)按鈕大小基本相近,忌用太長的名稱,免得占用過多的界面位置,與界面的大小和空間要協(xié)調。4)避免空曠的界面上放置很大的按鈕。5)放置完控件后界面沒有很大的空缺位置。6)字體的大
53、小與界面的大小比例協(xié)調, 通常使用的字體中宋體9-12較為美觀,很少使用超過12號的字體。建議使用宋體9號字。7)前景與背景色搭配合理協(xié)調,反差不太大,少用深色,如大紅、大綠等。常用色使用Windows界面色調。8)如果使用其他顏色,主色要柔和,具有親和力與磁力,堅決杜絕刺目的顏色。班級管理系統(tǒng)的載入界面顏色采用了這一原則使用戶感覺樸素大方具有磁性。如下所示:6.2 功能測試在測試前,首先要根據(jù)需求分析報告全面了解用戶需求并透徹理解。測試時要注意以下幾點:A、測試時要分清主次,即先測試主要功能,后測試次要功能。要選找出系統(tǒng)的功能主干,讓數(shù)據(jù)依次流經(jīng)功能主干,測試功能實現(xiàn)的是否正確。B、功能主干
54、用正常正確后,我們還要考慮測試其異常處理功能。C、功能主干測試正確后,再進行分支功能的測試。E、要對程序的功能進行方便性測試,將不夠滿意的地方,都應當成系統(tǒng)缺陷向項目負責人或系統(tǒng)開發(fā)者指出。F、檢查系統(tǒng)需求和設計說明書中要求的功能是否在系統(tǒng)中都被實現(xiàn)、性能是否達到指標。G、數(shù)據(jù)之間的邏輯關系是否正確。班級管理系統(tǒng)的功能測試是本系統(tǒng)的重點測試,對于班級管理系統(tǒng)的“成績評定”可以完成計算班級每門課的最低分、最高分、平均分、每個學生的總分。計算班級每門課的優(yōu)秀率和優(yōu)秀人數(shù)(90)、良好率和良好人數(shù)(75)、不及格率和不及格人數(shù)。當使用黑盒測試測試系統(tǒng)時,系統(tǒng)應完成上述功能,對于邊界值測試時系統(tǒng)也有一
55、定的提示(測試用例學號為空)如下所示:當用戶選中科目和等級的單選框時,單擊確定查詢按扭能完成所要求的操作(測試用例學號為20024420、心理學這門課的良好率和良好人數(shù)和這門課的最高分、最低分)。當用戶選中該系統(tǒng)“科目”框架中的計算機文化基礎和“等級”框架中的、良好、人數(shù)、平均分時,單擊“查詢”時所完成的操作與實際期望一致。如下所示:同時完成對學生記錄的添加、修改、刪除;成績的修改、刪除等功能?,F(xiàn)以班級管理系統(tǒng)學生的刪除為例進行測試如下,當用戶單擊“是(Y)”則刪除當前記錄;單擊“否(N)”則取消刪除。6.3 環(huán)境測試配置測試環(huán)境是測試實施的一個重要階段,測試環(huán)境適合與否會嚴重影響測試結果的真
56、實性和正確性。測試環(huán)境包括硬件環(huán)境和軟件環(huán)境。其中軟件環(huán)境指被測軟件運行時的操作系統(tǒng)、數(shù)據(jù)庫及其他應用軟件構成的環(huán)境。在實際測試中,軟件環(huán)境又可分為主測試環(huán)境和輔助測試環(huán)境。主測試環(huán)境是測試軟件功能、安全可靠性、性能、易用性等大多數(shù)指標的主要環(huán)境。一般來說,配置主測試環(huán)境可遵循下列原則:1.符合軟件運行的最低要求。測試環(huán)境首先要保證能支撐軟件正常運行。2.選用比較普及的操作系統(tǒng)和軟件平臺。本系統(tǒng)能在Win98、Win2000、2000Server、Windows XP系統(tǒng)下運行。3.營造相對簡單、獨立的測試環(huán)境。除了操作系統(tǒng),測試機上只安裝軟件運行和測試必需的軟件,以避免不相關的軟件影響測試實施。4.無毒的環(huán)境。利用有效的正版殺毒軟件檢測軟件環(huán)境,保證測試環(huán)境中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育小孩拒絕偷竊行為-教室演講
- 哈林花式籃球項目介紹
- 房地產(chǎn)項目投資策劃營銷
- 廈門工學院《Unty游戲開發(fā)》2023-2024學年第二學期期末試卷
- 遺傳病防范知識培訓課件
- 成都農(nóng)業(yè)科技職業(yè)學院《最優(yōu)化方法(專業(yè)大類)》2023-2024學年第一學期期末試卷
- 2025年河南省許昌市初三下學期段考(第二次月考)化學試題含解析
- 燕山大學《對話經(jīng)典》2023-2024學年第二學期期末試卷
- 廣東省東莞市智升校2025年初三下學期期初聯(lián)考化學試題含解析
- 內科護理慢性阻塞性肺疾病
- 污水管網(wǎng)工程主要項目清單與計價表參考模板范本
- 如何提高基層干部群眾工作能力課件
- 感染相關性血液學改變課件
- 呼吸困難 教學課件
- 環(huán)網(wǎng)柜基礎知識培訓課程完整版課件
- 廣大燈飾制造公司-燈具生產(chǎn)作業(yè)指導書
- 新人教版八年級音樂下冊《英雄凱旋歌》課件
- T∕TAF 090-2021 移動終端適老化技術要求
- 施工質量保證措施方案(市政管線、排水、道路等)
- 類文閱讀-11 宇宙生命之謎
- 建設項目對海洋生物資源影響評價技術規(guī)程
評論
0/150
提交評論