




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第1 1頁頁第2 2頁頁 系統(tǒng)實施的任務(wù)是實現(xiàn)系統(tǒng)設(shè)計階段提出的系統(tǒng)實施的任務(wù)是實現(xiàn)系統(tǒng)設(shè)計階段提出的物理模型,按實施方案完成一個可以實際運物理模型,按實施方案完成一個可以實際運行的信息系統(tǒng),交付用戶使用。行的信息系統(tǒng),交付用戶使用。q理解系統(tǒng)實施的工作內(nèi)容;理解系統(tǒng)實施的工作內(nèi)容;q了解軟件測試的概念和方法;了解軟件測試的概念和方法;q掌握系統(tǒng)轉(zhuǎn)換的方式。掌握系統(tǒng)轉(zhuǎn)換的方式。第3 3頁頁6.1 物理系統(tǒng)的實施物理系統(tǒng)的實施 6.2 程序設(shè)計程序設(shè)計 6.3 軟件測試與調(diào)試軟件測試與調(diào)試 6.4 人員培訓(xùn)人員培訓(xùn)6.5 系統(tǒng)轉(zhuǎn)換系統(tǒng)轉(zhuǎn)換第4 4頁頁 系統(tǒng)實施概述系統(tǒng)實施概述 系統(tǒng)實施的任務(wù)系統(tǒng)
2、實施的任務(wù)系統(tǒng)實施的任務(wù)是以系統(tǒng)設(shè)計方案為依據(jù),按照系統(tǒng)實施的任務(wù)是以系統(tǒng)設(shè)計方案為依據(jù),按照系統(tǒng)實施方案進行具體的實現(xiàn),最終組建出一個系統(tǒng)實施方案進行具體的實現(xiàn),最終組建出一個能夠?qū)嶋H運行的系統(tǒng),交付用戶使用。能夠?qū)嶋H運行的系統(tǒng),交付用戶使用。具體任務(wù)包括:硬件準(zhǔn)備、軟件準(zhǔn)備、人員培訓(xùn)、具體任務(wù)包括:硬件準(zhǔn)備、軟件準(zhǔn)備、人員培訓(xùn)、數(shù)據(jù)準(zhǔn)備數(shù)據(jù)準(zhǔn)備第5 5頁頁1 1、硬件準(zhǔn)備、硬件準(zhǔn)備 硬件準(zhǔn)備包括計算機主機、輸入輸出設(shè)備、存儲設(shè)備、硬件準(zhǔn)備包括計算機主機、輸入輸出設(shè)備、存儲設(shè)備、輔助設(shè)備(穩(wěn)壓電源、空調(diào)設(shè)備)、通信設(shè)備等。輔助設(shè)備(穩(wěn)壓電源、空調(diào)設(shè)備)、通信設(shè)備等。2 2、軟件準(zhǔn)備、軟件準(zhǔn)備
3、 軟件包括系統(tǒng)軟件、數(shù)據(jù)庫管理系統(tǒng)以及一些應(yīng)用軟件包括系統(tǒng)軟件、數(shù)據(jù)庫管理系統(tǒng)以及一些應(yīng)用軟件。軟件。第6 6頁頁3 3、人員培訓(xùn)、人員培訓(xùn) 主要指用戶培訓(xùn),包括主管人員和業(yè)務(wù)人員。主要指用戶培訓(xùn),包括主管人員和業(yè)務(wù)人員。4 4、數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)準(zhǔn)備 沒有一定的基礎(chǔ)數(shù)據(jù)的準(zhǔn)備,系統(tǒng)調(diào)試就不能很沒有一定的基礎(chǔ)數(shù)據(jù)的準(zhǔn)備,系統(tǒng)調(diào)試就不能很好的進行。好的進行。第六章第六章 管理信息系統(tǒng)的實施管理信息系統(tǒng)的實施第7 7頁頁第8 8頁頁 系統(tǒng)實施的特點系統(tǒng)實施的特點p工作量大工作量大p投入人力、物力多投入人力、物力多p組織管理工作繁重組織管理工作繁重第9 9頁頁 系統(tǒng)實施的方法系統(tǒng)實施的方法p劃分版本的基
4、本原則劃分版本的基本原則p確定版本的規(guī)模確定版本的規(guī)模p實現(xiàn)復(fù)雜模塊的方法實現(xiàn)復(fù)雜模塊的方法p安排實現(xiàn)模塊的順序安排實現(xiàn)模塊的順序第1010頁頁版本的劃分需要考慮以下幾個方面:版本的劃分需要考慮以下幾個方面:(1)(1)先實現(xiàn)控制部分,后實現(xiàn)執(zhí)行部分,先上層后先實現(xiàn)控制部分,后實現(xiàn)執(zhí)行部分,先上層后下層。下層。 (2) (2) 根據(jù)開發(fā)力量、設(shè)備、培訓(xùn)等方面的情況確根據(jù)開發(fā)力量、設(shè)備、培訓(xùn)等方面的情況確定每個版本實現(xiàn)多少模塊、實現(xiàn)哪些模塊。定每個版本實現(xiàn)多少模塊、實現(xiàn)哪些模塊。(3)(3)復(fù)雜的模塊分散在幾個版本中逐步實現(xiàn)。復(fù)雜的模塊分散在幾個版本中逐步實現(xiàn)。(4)(4)兼顧功能模塊和數(shù)據(jù)庫的
5、實現(xiàn)。兼顧功能模塊和數(shù)據(jù)庫的實現(xiàn)。(5)(5)兼顧硬件、軟件、人員培訓(xùn)方面的情況。兼顧硬件、軟件、人員培訓(xùn)方面的情況。 第1111頁頁 MIS MIS物理系統(tǒng)的實施是計算機系統(tǒng)和通信網(wǎng)物理系統(tǒng)的實施是計算機系統(tǒng)和通信網(wǎng)絡(luò)系統(tǒng)設(shè)備的訂購、機房的準(zhǔn)備和設(shè)備的安裝絡(luò)系統(tǒng)設(shè)備的訂購、機房的準(zhǔn)備和設(shè)備的安裝調(diào)試等一系列活動。調(diào)試等一系列活動。6.1.1 選擇供應(yīng)商的標(biāo)準(zhǔn)選擇供應(yīng)商的標(biāo)準(zhǔn)系統(tǒng)安裝主要是指對各種軟、硬件設(shè)備的購置、安系統(tǒng)安裝主要是指對各種軟、硬件設(shè)備的購置、安裝以及整個系統(tǒng)調(diào)試運行裝以及整個系統(tǒng)調(diào)試運行選擇供應(yīng)商的標(biāo)準(zhǔn)是:實力雄厚、信譽可靠、質(zhì)優(yōu)選擇供應(yīng)商的標(biāo)準(zhǔn)是:實力雄厚、信譽可靠、質(zhì)優(yōu)價
6、低、售后服務(wù)好價低、售后服務(wù)好6.1 物理系統(tǒng)的實施物理系統(tǒng)的實施第1212頁頁6.1.2 6.1.2 選擇安裝地點的思路選擇安裝地點的思路 考慮系統(tǒng)對電纜、電話或數(shù)據(jù)通訊服務(wù)、工作空間和考慮系統(tǒng)對電纜、電話或數(shù)據(jù)通訊服務(wù)、工作空間和存儲、噪音和通訊條件及交通情況的要求存儲、噪音和通訊條件及交通情況的要求例如,使用專門的地板,讓電纜通過地板孔道,連接例如,使用專門的地板,讓電纜通過地板孔道,連接中央處理機及各設(shè)備,保證安全;提供不中斷電源,中央處理機及各設(shè)備,保證安全;提供不中斷電源,以免丟失數(shù)據(jù)以免丟失數(shù)據(jù)6.1 物理系統(tǒng)的實施物理系統(tǒng)的實施第1313頁頁 編程(編程(CodingCodin
7、g)就是為系統(tǒng)各個模塊編)就是為系統(tǒng)各個模塊編寫程序。根據(jù)結(jié)構(gòu)化方法設(shè)計了詳細方案,又寫程序。根據(jù)結(jié)構(gòu)化方法設(shè)計了詳細方案,又有了高級語言,初級程序員都可以參加這一階有了高級語言,初級程序員都可以參加這一階段的工作。段的工作。6.2 程序設(shè)計程序設(shè)計 第1414頁頁 可維護性可維護性 由于信息系統(tǒng)需求的不確定性,系統(tǒng)需求可能會隨由于信息系統(tǒng)需求的不確定性,系統(tǒng)需求可能會隨著環(huán)境的變化而不斷變化,因此,就必須對系統(tǒng)功能進著環(huán)境的變化而不斷變化,因此,就必須對系統(tǒng)功能進行完善和調(diào)整,為此,就要對程序進行補充或修改。此行完善和調(diào)整,為此,就要對程序進行補充或修改。此外,由于計算機軟硬件的更新?lián)Q代也需
8、要對程序進行相外,由于計算機軟硬件的更新?lián)Q代也需要對程序進行相應(yīng)的升級。應(yīng)的升級。第1515頁頁 可靠性可靠性:程序應(yīng)具有較好的容錯能力。:程序應(yīng)具有較好的容錯能力。 正常情況下能正確工作。正常情況下能正確工作。 意外情況下應(yīng)便于處理,不至產(chǎn)生意外的操作,意外情況下應(yīng)便于處理,不至產(chǎn)生意外的操作,從而造成嚴(yán)重?fù)p失。從而造成嚴(yán)重?fù)p失。 可理解性:可理解性:程序不僅要求邏輯正確,計算機能程序不僅要求邏輯正確,計算機能夠執(zhí)行,而且應(yīng)當(dāng)層次清楚,便于閱讀。夠執(zhí)行,而且應(yīng)當(dāng)層次清楚,便于閱讀。 程序設(shè)計的目標(biāo)程序設(shè)計的目標(biāo)第1616頁頁 效率:效率: 程序能否有效地利用計算機資源程序能否有效地利用計算機
9、資源 程序效率的地位:程序效率的地位: 已不像以前那樣舉足輕重了,因為已不像以前那樣舉足輕重了,因為硬件價格大幅度下降,而其性能卻不斷完善和提高。硬件價格大幅度下降,而其性能卻不斷完善和提高。 程序設(shè)計人員工作效率的地位日益重要。不僅能降低程序設(shè)計人員工作效率的地位日益重要。不僅能降低軟件開發(fā)成本;而且可明顯降低程序的出錯率,進而減軟件開發(fā)成本;而且可明顯降低程序的出錯率,進而減輕維護人員的工作負(fù)擔(dān)。為了提高程序設(shè)計效率,應(yīng)充輕維護人員的工作負(fù)擔(dān)。為了提高程序設(shè)計效率,應(yīng)充分利用各種軟件開發(fā)工具。分利用各種軟件開發(fā)工具。 程序設(shè)計的目標(biāo)程序設(shè)計的目標(biāo)第1717頁頁在過去的小程序設(shè)計中,主要強調(diào)
10、程序的正確和在過去的小程序設(shè)計中,主要強調(diào)程序的正確和效率。效率。對于大型程序,人們則傾向于首先強調(diào)程序的可對于大型程序,人們則傾向于首先強調(diào)程序的可維護性、可靠性和可理解性,然后才是效率。維護性、可靠性和可理解性,然后才是效率。 注意程序效率、可維護性、可理解性三者之間的關(guān)系程序效率、可維護性、可理解性三者之間的關(guān)系第1818頁頁程序設(shè)計的基本要求程序設(shè)計的基本要求程序的功能必須按照規(guī)定的要求,正確地滿足預(yù)期程序的功能必須按照規(guī)定的要求,正確地滿足預(yù)期的需要的需要程序內(nèi)容清晰、明了、便于閱讀和理解程序內(nèi)容清晰、明了、便于閱讀和理解程序結(jié)構(gòu)嚴(yán)謹(jǐn)、簡捷、算法和語句選用合理,執(zhí)行程序結(jié)構(gòu)嚴(yán)謹(jǐn)、簡捷
11、、算法和語句選用合理,執(zhí)行速度快,節(jié)省機時速度快,節(jié)省機時程序和數(shù)據(jù)的存儲、調(diào)用安排得當(dāng),節(jié)省存儲空間程序和數(shù)據(jù)的存儲、調(diào)用安排得當(dāng),節(jié)省存儲空間程序適應(yīng)性強。程序交付使用后,若應(yīng)用問題或外程序適應(yīng)性強。程序交付使用后,若應(yīng)用問題或外界環(huán)境有了變化時,調(diào)整和修改程序比較簡便易行界環(huán)境有了變化時,調(diào)整和修改程序比較簡便易行6.2 程序設(shè)計程序設(shè)計 第1919頁頁1. 程序設(shè)計的任務(wù)程序設(shè)計的任務(wù) 根據(jù)系統(tǒng)設(shè)計說明書中關(guān)于模塊的詳細描述和根據(jù)系統(tǒng)設(shè)計說明書中關(guān)于模塊的詳細描述和處理過程的描述,選擇合適的計算機語言來編制程處理過程的描述,選擇合適的計算機語言來編制程序的工作。序的工作。第2020頁頁
12、程序設(shè)計的方法程序設(shè)計的方法l結(jié)構(gòu)化程序設(shè)計方法結(jié)構(gòu)化程序設(shè)計方法程序設(shè)計就是處理過程的設(shè)計程序設(shè)計就是處理過程的設(shè)計l面向?qū)ο蟪绦蛟O(shè)計方法面向?qū)ο蟪绦蛟O(shè)計方法程序設(shè)計主要指對象的設(shè)計程序設(shè)計主要指對象的設(shè)計l可視化編程工具或開發(fā)環(huán)境可視化編程工具或開發(fā)環(huán)境 第2121頁頁結(jié)構(gòu)化程序設(shè)計包括以下四方面的內(nèi)容:結(jié)構(gòu)化程序設(shè)計包括以下四方面的內(nèi)容: (1)(1)限制使用限制使用GOTOGOTO語句語句 只用順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)這三種基本結(jié)構(gòu)就能只用順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)這三種基本結(jié)構(gòu)就能表達任何一個只有一個入口和一個出口的程序邏輯。為實際表達任何一個只有一個入口和一個出口的程序邏輯。
13、為實際使用方便,往往允許增加多分支結(jié)構(gòu)、使用方便,往往允許增加多分支結(jié)構(gòu)、REPEATREPEAT型循環(huán)等兩三型循環(huán)等兩三種結(jié)構(gòu)。程序中可以完全不用種結(jié)構(gòu)。程序中可以完全不用GOTOGOTO語句。語句。 (2)(2)逐步求精的設(shè)計方法逐步求精的設(shè)計方法 在一個程序模塊內(nèi),先從該模塊功能描述出發(fā),一層層在一個程序模塊內(nèi),先從該模塊功能描述出發(fā),一層層地逐步細化,直到最后分解、細化成語句為止。地逐步細化,直到最后分解、細化成語句為止。第2222頁頁(3)(3)自頂向下的設(shè)計、編碼和調(diào)試自頂向下的設(shè)計、編碼和調(diào)試這是把逐步求精的方法由程序模塊內(nèi)的設(shè)計推廣到一這是把逐步求精的方法由程序模塊內(nèi)的設(shè)計推廣
14、到一個系統(tǒng)的設(shè)計與實現(xiàn)。個系統(tǒng)的設(shè)計與實現(xiàn)。 (4)(4)主程序員制的組織形式主程序員制的組織形式 這是程序人員的組織形式。程序資料員這是程序人員的組織形式。程序資料員( (或秘書或秘書) )一人。其他技術(shù)人員按需要隨時加入組內(nèi)。主程序員一人。其他技術(shù)人員按需要隨時加入組內(nèi)。主程序員負(fù)責(zé)整體項目的開發(fā),并負(fù)責(zé)關(guān)鍵部分的設(shè)計、編碼負(fù)責(zé)整體項目的開發(fā),并負(fù)責(zé)關(guān)鍵部分的設(shè)計、編碼和調(diào)試。和調(diào)試。 第2323頁頁作為這種組織形式中的一個程序員,為使自己的工作作為這種組織形式中的一個程序員,為使自己的工作融人整個系統(tǒng),與組內(nèi)其他成員協(xié)調(diào)致地工作。必須嚴(yán)融人整個系統(tǒng),與組內(nèi)其他成員協(xié)調(diào)致地工作。必須嚴(yán)格遵
15、守:格遵守: 不使用可能干擾其他模塊的命令或函數(shù);不使用可能干擾其他模塊的命令或函數(shù); 按總體設(shè)計的要求傳遞參數(shù),不隨意修改其內(nèi)容與按總體設(shè)計的要求傳遞參數(shù),不隨意修改其內(nèi)容與含義;含義; 按規(guī)定的統(tǒng)一格式操作公用文件或數(shù)據(jù)庫;按規(guī)定的統(tǒng)一格式操作公用文件或數(shù)據(jù)庫; 按統(tǒng)一的原則使用標(biāo)識符;按統(tǒng)一的原則使用標(biāo)識符; 按統(tǒng)一要求編寫文檔;按統(tǒng)一要求編寫文檔; 保持程序風(fēng)格的一致。保持程序風(fēng)格的一致。 第2424頁頁面向?qū)ο蟪绦蛟O(shè)計面向?qū)ο蟪绦蛟O(shè)計在在OOPOOP方法中,一個對象即是一個獨立存在的實體,對象有各方法中,一個對象即是一個獨立存在的實體,對象有各自的屬性和行為,彼此以消息進行通信。自的
16、屬性和行為,彼此以消息進行通信。對象的屬性只能通過自己的行為來改變,實現(xiàn)了數(shù)據(jù)封裝,對象的屬性只能通過自己的行為來改變,實現(xiàn)了數(shù)據(jù)封裝,這便是對象的封裝性。這便是對象的封裝性。而相關(guān)對象在進行合并分類后,有可能出現(xiàn)共享某些性質(zhì),而相關(guān)對象在進行合并分類后,有可能出現(xiàn)共享某些性質(zhì),通過抽象后使多種相關(guān)對象表現(xiàn)為一定的組織層次,底層次通過抽象后使多種相關(guān)對象表現(xiàn)為一定的組織層次,底層次的對象繼承其高層次對象的特性,這便是對象的繼承性。的對象繼承其高層次對象的特性,這便是對象的繼承性。另外,對象的某一種操作在不同的條件環(huán)境下可以實現(xiàn)不同另外,對象的某一種操作在不同的條件環(huán)境下可以實現(xiàn)不同的處理,產(chǎn)生
17、不同的結(jié)果,這就是對象的多態(tài)性。的處理,產(chǎn)生不同的結(jié)果,這就是對象的多態(tài)性。 第2525頁頁主要思想:主要思想:用圖形工具和可重用部件來交互地編制程序。它把現(xiàn)有的用圖形工具和可重用部件來交互地編制程序。它把現(xiàn)有的或新建的模塊代碼封裝于標(biāo)準(zhǔn)接口封包中,作為可視化編程或新建的模塊代碼封裝于標(biāo)準(zhǔn)接口封包中,作為可視化編程編輯工具中的一個對象,用圖符來表示和控制。編輯工具中的一個對象,用圖符來表示和控制。可視化編程可視化編程一般基于事件驅(qū)動的原理。一般基于事件驅(qū)動的原理。 面向?qū)ο缶幊碳夹g(shù)和可視化編程開發(fā)環(huán)境的結(jié)合,改變了面向?qū)ο缶幊碳夹g(shù)和可視化編程開發(fā)環(huán)境的結(jié)合,改變了應(yīng)用軟件只有經(jīng)過專門技術(shù)訓(xùn)練的
18、專業(yè)編程人員才能開發(fā)的應(yīng)用軟件只有經(jīng)過專門技術(shù)訓(xùn)練的專業(yè)編程人員才能開發(fā)的狀況。它使軟件開發(fā)變得容易,由于大量軟件模塊的重用和狀況。它使軟件開發(fā)變得容易,由于大量軟件模塊的重用和可視控件的引入,技術(shù)人員在掌握這些技術(shù)之后,就能有效可視控件的引入,技術(shù)人員在掌握這些技術(shù)之后,就能有效地提高應(yīng)用軟件的開發(fā)效率,縮短開發(fā)周期,降低了開發(fā)成地提高應(yīng)用軟件的開發(fā)效率,縮短開發(fā)周期,降低了開發(fā)成本,并且使應(yīng)用軟件界面風(fēng)格統(tǒng)一,有很好的易用性。本,并且使應(yīng)用軟件界面風(fēng)格統(tǒng)一,有很好的易用性。 第2626頁頁程序的程序的“內(nèi)部文檔內(nèi)部文檔”,指程序內(nèi)部帶有的說明材料,指程序內(nèi)部帶有的說明材料,用注釋語句書寫。
19、程序適當(dāng)加注釋后,閱讀時就不必再用注釋語句書寫。程序適當(dāng)加注釋后,閱讀時就不必再看其他說明材料了。因此,這是提高程序可閱讀性的有看其他說明材料了。因此,這是提高程序可閱讀性的有力手段。注釋可以出現(xiàn)在程序的任何位置,但要與程序力手段。注釋可以出現(xiàn)在程序的任何位置,但要與程序結(jié)構(gòu)配合起來,效果才好。結(jié)構(gòu)配合起來,效果才好。注意以下幾點:注意以下幾點:(1)(1)注釋必須與程序一致注釋必須與程序一致 (2)(2)注釋不是重復(fù)程序語句,而應(yīng)提供從程序本身難以注釋不是重復(fù)程序語句,而應(yīng)提供從程序本身難以得到的信息。得到的信息。(3)(3)對程序段作注釋,而不是對每個語句作注釋。對程序段作注釋,而不是對每
20、個語句作注釋。 第2727頁頁語法錯誤語法錯誤 程序設(shè)計人員對程序設(shè)計語言的理解不夠,或程序程序設(shè)計人員對程序設(shè)計語言的理解不夠,或程序設(shè)計基本功不扎實造成的結(jié)果。設(shè)計基本功不扎實造成的結(jié)果。邏輯錯誤邏輯錯誤 指那些雖然不違反系統(tǒng)規(guī)則,但是卻不合邏輯或不指那些雖然不違反系統(tǒng)規(guī)則,但是卻不合邏輯或不合題目語義的錯誤。合題目語義的錯誤。第2828頁頁程序設(shè)計語言的選擇程序設(shè)計語言的選擇語言的結(jié)構(gòu)化機制與數(shù)據(jù)管理能力語言的結(jié)構(gòu)化機制與數(shù)據(jù)管理能力選用高級語言應(yīng)該有理想的模塊化機制、可讀性好的控制選用高級語言應(yīng)該有理想的模塊化機制、可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),同時具備較強的數(shù)據(jù)管理能力結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)
21、,同時具備較強的數(shù)據(jù)管理能力語言可提供的交互功能語言可提供的交互功能有較豐富的軟件工具有較豐富的軟件工具開發(fā)人員的熟練程度開發(fā)人員的熟練程度軟件可移植性要求軟件可移植性要求系統(tǒng)用戶的要求系統(tǒng)用戶的要求6.2 程序設(shè)計程序設(shè)計 第2929頁頁軟件開發(fā)工具軟件開發(fā)工具p編程語言類編程語言類p數(shù)據(jù)庫類數(shù)據(jù)庫類p可視化編程類可視化編程類p專業(yè)系統(tǒng)類專業(yè)系統(tǒng)類p客戶客戶/ /服務(wù)器類服務(wù)器類電子表格軟件開發(fā)工具電子表格軟件開發(fā)工具 數(shù)據(jù)庫管理系統(tǒng)提供的開發(fā)工具數(shù)據(jù)庫管理系統(tǒng)提供的開發(fā)工具 套裝軟件工具套裝軟件工具 可視化圖形界面編程工具可視化圖形界面編程工具 MS Visual Foxpro MS Vi
22、sual BASlC PowerBuilder: 例如:例如:第3030頁頁6.3.1 軟件測試 測試是指軟件產(chǎn)品生存周期內(nèi)所有的檢查、評審和確認(rèn)活動,如設(shè)計評審、系統(tǒng)測試。狹義上講,測試是對軟件產(chǎn)品質(zhì)量的檢驗和評價,它一方面檢查軟件產(chǎn)品質(zhì)量中存在的質(zhì)量問題,同時對產(chǎn)品質(zhì)量進行客觀的評價。 測試的目的:軟件測試是以最少的時間和人力,系統(tǒng)地找出軟件中潛在的各種錯誤和缺陷為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;測試是為了證明程序有錯,而不是證明程序沒有錯誤;一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。整個生命周期不同階段可能的測試活動和測試技術(shù)整個生命周期不同階段可能的測試活動和測試技術(shù) : : 6.3
23、軟件測試與調(diào)試軟件測試與調(diào)試 第3131頁頁1. 軟件測試的特征軟件測試的特征p 挑剔性挑剔性p 復(fù)雜性復(fù)雜性p 不徹底性不徹底性p 經(jīng)濟性經(jīng)濟性6.3.1 軟件測試軟件測試第3232頁頁2.2.測試基本原則測試基本原則p測試隊伍的建立測試隊伍的建立p測試用例的設(shè)計測試用例的設(shè)計p測試數(shù)據(jù)的選擇測試數(shù)據(jù)的選擇p測試功能的確定測試功能的確定p測試文檔的管理測試文檔的管理第3333頁頁3.3.測試文檔測試文檔p測試計劃測試計劃測試項目的名稱、目的、步驟、進度、測試用例測試項目的名稱、目的、步驟、進度、測試用例測試用例測試用例=測試數(shù)據(jù)測試數(shù)據(jù)+ +期望結(jié)果期望結(jié)果 p測試報告測試報告測試項目的名稱
24、、實測結(jié)果與期望結(jié)果的比較、發(fā)現(xiàn)的問測試項目的名稱、實測結(jié)果與期望結(jié)果的比較、發(fā)現(xiàn)的問題、測試達到的效果題、測試達到的效果測試結(jié)果測試結(jié)果=測試數(shù)據(jù)測試數(shù)據(jù)+ +期望結(jié)果期望結(jié)果+ +實際結(jié)果實際結(jié)果 第3434頁頁4.4.測試步驟測試步驟p 模塊測試模塊測試是在每個單獨的模塊中進行,包括模塊界面、內(nèi)部是在每個單獨的模塊中進行,包括模塊界面、內(nèi)部數(shù)據(jù)結(jié)構(gòu)、獨立路徑錯誤處理和邊界條件等項目數(shù)據(jù)結(jié)構(gòu)、獨立路徑錯誤處理和邊界條件等項目p 集成測試集成測試將各模塊集中,形成一個完整的軟件,對該軟件進將各模塊集中,形成一個完整的軟件,對該軟件進行測試行測試第3535頁頁p系統(tǒng)測試系統(tǒng)測試將被測軟件放在系
25、統(tǒng)環(huán)境中進行測試將被測軟件放在系統(tǒng)環(huán)境中進行測試p驗收測試驗收測試用戶參與的測試,對系統(tǒng)的最后確認(rèn)用戶參與的測試,對系統(tǒng)的最后確認(rèn)第3636頁頁測試種類測試種類1 1)靜態(tài)測試:目的是通過對程序靜態(tài)結(jié)構(gòu)的檢查,找出)靜態(tài)測試:目的是通過對程序靜態(tài)結(jié)構(gòu)的檢查,找出編譯時不能發(fā)現(xiàn)的錯誤。編譯時不能發(fā)現(xiàn)的錯誤。 靜態(tài)分析器分析(自動方式)靜態(tài)分析器分析(自動方式) 代碼評審(人工方式):代碼會審、走查、辦公桌檢代碼評審(人工方式):代碼會審、走查、辦公桌檢查查2 2)動態(tài)測試:是把事先設(shè)計好的測試用例作用于被測程)動態(tài)測試:是把事先設(shè)計好的測試用例作用于被測程序,比較測試結(jié)果和預(yù)期的結(jié)果是否一致,如
26、果不一致,序,比較測試結(jié)果和預(yù)期的結(jié)果是否一致,如果不一致,則說明被測程序可能存在錯誤。則說明被測程序可能存在錯誤。 黑盒測試黑盒測試 白盒測試白盒測試 6.3.1 軟件測試軟件測試通過運行軟件來檢驗軟件的動態(tài)行為和運行通過運行軟件來檢驗軟件的動態(tài)行為和運行結(jié)果的正確性結(jié)果的正確性約可找出約可找出3070%的邏輯設(shè)計錯誤的邏輯設(shè)計錯誤 基本特征是在對軟件進行分析、檢查和測基本特征是在對軟件進行分析、檢查和測試,不實際運行被測試的軟件試,不實際運行被測試的軟件約可找出約可找出3070%的邏輯設(shè)計錯誤的邏輯設(shè)計錯誤 第3737頁頁 代碼會審是由一組人通過閱讀、討論和爭議對程序代碼會審是由一組人通過
27、閱讀、討論和爭議對程序進行靜態(tài)分析的過程。會審小組由組長、進行靜態(tài)分析的過程。會審小組由組長、2 23 3名程序設(shè)名程序設(shè)計和測試人員及程序員組成。會審小組在充分閱讀待審計和測試人員及程序員組成。會審小組在充分閱讀待審程序文本、控制流程圖及有關(guān)要求、規(guī)范等文件基礎(chǔ)上,程序文本、控制流程圖及有關(guān)要求、規(guī)范等文件基礎(chǔ)上,召開代碼會審會,程序員逐句講解程序的邏輯,并展開召開代碼會審會,程序員逐句講解程序的邏輯,并展開熱烈的討論甚至爭議,以揭示錯誤的關(guān)鍵所在。熱烈的討論甚至爭議,以揭示錯誤的關(guān)鍵所在。需要注意兩點:需要注意兩點:一是在代碼審查時,必須要檢查被測軟件是否通過編譯,一是在代碼審查時,必須要
28、檢查被測軟件是否通過編譯,只有正確了之后才進行代碼會審;只有正確了之后才進行代碼會審;二是一定要保證有足夠的時間讓測試小組對問題進行充二是一定要保證有足夠的時間讓測試小組對問題進行充分的討論,只有這樣才能有效地提高測試效率,避免走分的討論,只有這樣才能有效地提高測試效率,避免走彎路。彎路。 6.3.1 軟件測試軟件測試第3838頁頁白盒測試時,測試者清楚被測試程序的內(nèi)部結(jié)構(gòu)。它從白盒測試時,測試者清楚被測試程序的內(nèi)部結(jié)構(gòu)。它從程序的邏輯結(jié)構(gòu)人手,按照一定的原則來設(shè)計測試用例,程序的邏輯結(jié)構(gòu)人手,按照一定的原則來設(shè)計測試用例,設(shè)定測試數(shù)據(jù)。設(shè)定測試數(shù)據(jù)。黑盒測試時,測試者把被測程序看成一個黑盒,
29、完全用黑盒測試時,測試者把被測程序看成一個黑盒,完全用不著關(guān)心程序的內(nèi)部結(jié)構(gòu)。設(shè)計測試用例時,僅以程序不著關(guān)心程序的內(nèi)部結(jié)構(gòu)。設(shè)計測試用例時,僅以程序的外部功能為根據(jù)。的外部功能為根據(jù)。測試中標(biāo)常見病錯誤種類測試中標(biāo)常見病錯誤種類:功能功能 錯誤錯誤系統(tǒng)錯誤系統(tǒng)錯誤過程錯誤過程錯誤編碼錯誤編碼錯誤6.3.1 軟件測試軟件測試第3939頁頁測試用例:為達到最佳的測試效果或高效的揭露隱藏的錯誤測試用例:為達到最佳的測試效果或高效的揭露隱藏的錯誤而精心設(shè)計的少量測試數(shù)據(jù),稱之為測試用例。而精心設(shè)計的少量測試數(shù)據(jù),稱之為測試用例。 測試用例可以被定義為如下測試用例可以被定義為如下6 6元組:元組:測試
30、索引測試索引測試環(huán)境測試環(huán)境測試輸入測試輸入測試操作測試操作預(yù)期結(jié)果預(yù)期結(jié)果評價標(biāo)準(zhǔn)評價標(biāo)準(zhǔn) 兼顧合理的輸入和兼顧合理的輸入和不合理不合理的輸入數(shù)據(jù)的輸入數(shù)據(jù) 不僅檢查程序是否實現(xiàn)預(yù)期功能,還不僅檢查程序是否實現(xiàn)預(yù)期功能,還應(yīng)檢查程序是否作了應(yīng)檢查程序是否作了不該做的事不該做的事 6.3.1 軟件測試軟件測試第4040頁頁測試用例的用途:測試用例的用途:在開始實施測試之前設(shè)計好測試用例,可以避免盲目測試在開始實施測試之前設(shè)計好測試用例,可以避免盲目測試并提高測試效率。測試用例的使用令軟件測試的實施重點并提高測試效率。測試用例的使用令軟件測試的實施重點突出、目的明確。突出、目的明確。在軟件版本更
31、新后只需修正少部分的測試用例便可展開測在軟件版本更新后只需修正少部分的測試用例便可展開測試工作,降低工作強度、縮短項目周期。試工作,降低工作強度、縮短項目周期。功能模塊的通用化和復(fù)用化使軟件易于開發(fā),而相對于功功能模塊的通用化和復(fù)用化使軟件易于開發(fā),而相對于功能模塊的測試用例的通用化和復(fù)用化則會使軟件測試易于能模塊的測試用例的通用化和復(fù)用化則會使軟件測試易于開展,并隨著測試用例的不斷精化其效率也不斷攀升。開展,并隨著測試用例的不斷精化其效率也不斷攀升。 6.3.1 軟件測試軟件測試第4141頁頁 白盒測試方案時,測試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查白盒測試方案時,測試者必須檢查程序的內(nèi)部結(jié)構(gòu),
32、從檢查程序的邏輯著手,對所有邏輯路徑進行測試,得出測試數(shù)據(jù)。程序的邏輯著手,對所有邏輯路徑進行測試,得出測試數(shù)據(jù)。 白盒測試的主要方法白盒測試的主要方法: : 邏輯驅(qū)動、路徑測試等,主要用于軟邏輯驅(qū)動、路徑測試等,主要用于軟件驗證,檢驗語法錯誤、編譯錯誤、性能問題、邏輯問題、判件驗證,檢驗語法錯誤、編譯錯誤、性能問題、邏輯問題、判定條件問題、編程規(guī)范等。定條件問題、編程規(guī)范等。 白盒測試白盒測試第4242頁頁 優(yōu)點優(yōu)點知道所設(shè)計的測試知道所設(shè)計的測試用例在代碼級上哪用例在代碼級上哪些地方被忽略掉些地方被忽略掉 幫助軟件測試人員幫助軟件測試人員增大代碼的覆蓋增大代碼的覆蓋率,提高代碼的質(zhì)率,提高
33、代碼的質(zhì)量,發(fā)現(xiàn)代碼中隱量,發(fā)現(xiàn)代碼中隱藏的問題藏的問題 白盒測試白盒測試第4343頁頁 缺點缺點 程序運行會有很多不同路徑,程序運行會有很多不同路徑, 不可能測試所有運行路徑;不可能測試所有運行路徑; 測試基于代碼,只能測試開發(fā)人員做的測試基于代碼,只能測試開發(fā)人員做的 對不對,而不能知道設(shè)計的正確與否,對不對,而不能知道設(shè)計的正確與否, 可能會漏掉一些功能需求;可能會漏掉一些功能需求; 系統(tǒng)龐大時,測試開銷會非常大。系統(tǒng)龐大時,測試開銷會非常大。 123 白盒測試白盒測試第4444頁頁 測試用例的設(shè)計測試用例的設(shè)計p語句覆蓋語句覆蓋法法測試測試用例用例覆蓋覆蓋路徑路徑A=2B=0X=3ac
34、eA1ANDB=0X=X/AA=2OR X1X=X+1是是a是是否否bcde第4545頁頁判斷覆蓋法判斷覆蓋法序號測試用例覆蓋路徑12A=3B=0X=1acdA=2B=1X=3abe第4646頁頁條件覆蓋法條件覆蓋法判斷條件判斷條件取值取值A(chǔ)1A1TFB=0B0TFA=2A2TFX1X1TFA1ANDB=0X=X/AA=2OR X1X=X+1是是a是是否否bcde第4747頁頁條件條件判斷條件判斷條件取值取值條件記為條件記為條件條件1A1A1TFT1F1條件條件2B=0B0TFT2F2條件條件3A=2A2TFT3F3條件條件4X1X1TFT4F4第4848頁頁序號序號測試用例測試用例覆蓋路徑覆
35、蓋路徑條件記為條件記為1A=2 B=0X=4aceT1 T2 T3 T42A=1 B=1X=1abdF1 F2 F3 F43A=2 B=0X=1acdT1 T2 T3 F44A=1 B=1X=2abeF1 F2 F3 T4白盒測試白盒測試第4949頁頁條件組合覆蓋法條件組合覆蓋法第一判斷式第一判斷式1A1B=03A1B=02A1B04A1B0第二判斷式第二判斷式5A=2X17A2 X16A=2X18A2 X1A1ANDB=0X=X/AA=2OR X1X=X+1是是a是是否否bcde第5050頁頁序號序號測試用例測試用例覆蓋路徑覆蓋路徑覆蓋條件組合覆蓋條件組合1A=2 B=0X=4ace1, 5
36、2A=2 B=1X=1abd2, 63A=1 B=0X=2abe3, 74A=1 B=1X=1abd4, 8白盒測試白盒測試第5151頁頁路徑覆蓋法路徑覆蓋法abdaceabeacdA=1 B=1 X=1A=1 B=1 X=2A=3 B=0 X=1A=2 B=0 X=4A1ANDB=0X=X/AA=2OR X1X=X+1是是否否bcde第5252頁頁黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,它是在已知產(chǎn)品所黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個功能是否都能正常使用。應(yīng)具有的功能,通過測試來檢測每個功能是否都能正常使用。它只檢查程序功能是否按照需求規(guī)格說明
37、書的規(guī)定正常使用,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試發(fā)現(xiàn)的錯誤類型有:功能不對或遺漏、界面錯誤、黑盒測試發(fā)現(xiàn)的錯誤類型有:功能不對或遺漏、界面錯誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤、性能錯誤、初始化和終止數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤、性能錯誤、初始化和終止錯誤等。錯誤等。黑盒測試方法主要有等價類劃分、邊界值分析、因黑盒測試方法主要有等價類劃分、邊界值分析、因果圖、果圖、錯誤推測等,主要
38、用于軟件確認(rèn)測試。錯誤推測等,主要用于軟件確認(rèn)測試。“黑盒黑盒”法是窮舉輸法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。以這種方法查出程序中所有的錯誤。黑黑盒測試盒測試第5353頁頁 優(yōu)點優(yōu)點黑盒測試的優(yōu)點黑盒測試的優(yōu)點比較簡單,不需要了解程序比較簡單,不需要了解程序內(nèi)部的代碼及實現(xiàn)內(nèi)部的代碼及實現(xiàn) 與軟件的內(nèi)部實現(xiàn)無關(guān)與軟件的內(nèi)部實現(xiàn)無關(guān) 從用戶角度出發(fā),從用戶角度出發(fā),能很容易的知道用戶會用到能很容易的知道用戶會用到哪些功能,會遇到哪些問題哪些功能,會遇到哪些問題 基于軟件開發(fā)文基于軟件開發(fā)
39、文檔,所以也能知道軟件實現(xiàn)檔,所以也能知道軟件實現(xiàn)了文檔中的哪些功能了文檔中的哪些功能 黑黑盒測試盒測試第5454頁頁 缺點缺點不可能覆蓋所有的代不可能覆蓋所有的代碼,覆蓋率較低。碼,覆蓋率較低。 自動化測試的復(fù)用性自動化測試的復(fù)用性較低。較低。 黑黑盒測試盒測試第5555頁頁等價類劃分等價類劃分 等價類劃分法的基本思想:是將所有可能的輸入數(shù)據(jù)等價類劃分法的基本思想:是將所有可能的輸入數(shù)據(jù)( (有有效的和無效的效的和無效的) )劃分成若干個等價的子集劃分成若干個等價的子集 ( (稱為等價類稱為等價類) ), 使得每個子集中的一個典型值在測試中的作用與這一子集使得每個子集中的一個典型值在測試中的
40、作用與這一子集中所有其它值的作用相同中所有其它值的作用相同. . 可從每個子集中選取一組數(shù)據(jù)可從每個子集中選取一組數(shù)據(jù)來測試程序來測試程序第5656頁頁等價類劃分有兩種情況等價類劃分有兩種情況 合理等價類:測試模塊是否實現(xiàn)了規(guī)定的功合理等價類:測試模塊是否實現(xiàn)了規(guī)定的功能和性能能和性能 不合理等價類:測試模塊是否能夠拒絕無效不合理等價類:測試模塊是否能夠拒絕無效輸入,被測試對象在運行條件錯誤時的可靠輸入,被測試對象在運行條件錯誤時的可靠性如何性如何第5757頁頁劃分等價類規(guī)則劃分等價類規(guī)則 如果輸入條件代表一個范圍,可定義一個有效等價類和兩如果輸入條件代表一個范圍,可定義一個有效等價類和兩個無
41、效等價類個無效等價類 例如例如,輸入條件規(guī)定:,輸入條件規(guī)定:項數(shù)可從項數(shù)可從1 1到到999999 1 9991 999 有效有效等價類等價類 無效無效等價類等價類 999 999 無效無效等價類等價類 11165.251165.25元元的測試用例。的測試用例。 ( (如如: : -0.01-0.01元和元和1165.261165.26元元) )第7373頁頁如輸入條件代表一組值,測試用例應(yīng)當(dāng)執(zhí)行其中如輸入條件代表一組值,測試用例應(yīng)當(dāng)執(zhí)行其中的最大值和最小值,還應(yīng)測試略大于最大值和略的最大值和最小值,還應(yīng)測試略大于最大值和略小于最小值的值小于最小值的值第7474頁頁例:例:郵件收費規(guī)定郵件收
42、費規(guī)定 15 kg收費收費2元元則:則:應(yīng)設(shè)計測試用例應(yīng)設(shè)計測試用例: 0.9,1, 5,5.1 kg 或或 0.99,1, 5,5.01 kg例:例:一個數(shù)據(jù)庫表可有一個數(shù)據(jù)庫表可有1255個記錄個記錄則:則:應(yīng)設(shè)計測試用例應(yīng)設(shè)計測試用例: 1個、個、255個、個、0個、個、256個記錄個記錄第7575頁頁如程序數(shù)據(jù)結(jié)構(gòu)有預(yù)定的邊界,應(yīng)測試其邊界的如程序數(shù)據(jù)結(jié)構(gòu)有預(yù)定的邊界,應(yīng)測試其邊界的數(shù)據(jù)項數(shù)據(jù)項如輸出條件規(guī)定了取值范圍,如輸出條件規(guī)定了取值范圍,取邊界上下浮動值取邊界上下浮動值做測試用例做測試用例第7676頁頁錯誤推測測試錯誤推測測試n基本思想:列舉出程序中可能有錯和容易出基本思想:列
43、舉出程序中可能有錯和容易出錯的情況,并且根據(jù)它們選擇測試方案錯的情況,并且根據(jù)它們選擇測試方案n如對一個數(shù)據(jù)庫表進行操作,需要特別檢查如對一個數(shù)據(jù)庫表進行操作,需要特別檢查的情況有:表為空、表中只有一個記錄的情況有:表為空、表中只有一個記錄第7777頁頁黑盒法為主、白盒法為輔黑盒法為主、白盒法為輔 任何情況下任何情況下都應(yīng)該使用邊界值測試設(shè)計測試用例都應(yīng)該使用邊界值測試設(shè)計測試用例 必要時必要時采用等價分類法補充用例采用等價分類法補充用例 必要時再必要時再用錯誤推測法補充用例用錯誤推測法補充用例 對照程序邏輯,檢查設(shè)計用例的邏輯覆蓋標(biāo)準(zhǔn)。根據(jù)對照程序邏輯,檢查設(shè)計用例的邏輯覆蓋標(biāo)準(zhǔn)。根據(jù)程序可
44、靠性要求,補充用例使之達到規(guī)定的覆蓋標(biāo)準(zhǔn)程序可靠性要求,補充用例使之達到規(guī)定的覆蓋標(biāo)準(zhǔn)第7878頁頁練習(xí)練習(xí) 程序程序TRITRI讀入三個整數(shù)值,這三個整數(shù)代表同一個讀入三個整數(shù)值,這三個整數(shù)代表同一個三角形三條邊的長度,程序根據(jù)這三個值判斷三角三角形三條邊的長度,程序根據(jù)這三個值判斷三角形屬于等腰、等邊、還是一般三角形。形屬于等腰、等邊、還是一般三角形。使用黑盒方法設(shè)計測試用例使用黑盒方法設(shè)計測試用例第7979頁頁要測試的情況要測試的情況 正常的不等邊三角形正常的不等邊三角形 正常的等邊三角形正常的等邊三角形 正常的等腰三角形正常的等腰三角形 三條邊不構(gòu)成三角形三條邊不構(gòu)成三角形 一條邊的長
45、度為一條邊的長度為 兩條邊的長度為兩條邊的長度為 三條邊全為三條邊全為 輸入數(shù)據(jù)中包含負(fù)整數(shù)輸入數(shù)據(jù)中包含負(fù)整數(shù) 輸入數(shù)據(jù)不全輸入數(shù)據(jù)不全 輸入數(shù)據(jù)中包含非整數(shù)型數(shù)據(jù)輸入數(shù)據(jù)中包含非整數(shù)型數(shù)據(jù)第8080頁頁abc正常的不等邊三角形正常的不等邊三角形8,10,128,12,1010,12,8正常的等邊三角形正常的等邊三角形10,10,10-,-,-,-,-正常的等腰三角形正常的等腰三角形10,10,1710,17,1017,10,10退化的三解形退化的三解形10,5,55,10,55,5,10非三角形非三角形10,10,2110,21,1021,10,10一條邊數(shù)據(jù)為一條邊數(shù)據(jù)為00,10,12
46、12,0,1012,10,0二條邊數(shù)據(jù)為二條邊數(shù)據(jù)為00,0,170,17,017,0,0三條邊數(shù)據(jù)為三條邊數(shù)據(jù)為00,0,0-,-,-,-,-,-,-,-,-,-,-10,-,-,10,-,-,108,10,-10,-,8-,8,10輸入數(shù)據(jù)中包含負(fù)整數(shù)輸入數(shù)據(jù)中包含負(fù)整數(shù)-3,4,5-3,5,44,5,-3A,B,C-,-,-,-,-=,+,*-,-,-,-,-8,10,A8,A,10A,10,87E3,10.5,A 10.5,7E3,AA,10.5,7E3測試功能測試功能測試數(shù)據(jù)測試數(shù)據(jù)輸入數(shù)據(jù)不全輸入數(shù)據(jù)不全無效輸入無效輸入第8181頁頁2. 2. 軟件測試基本原則軟件測試基本原則 嚴(yán)
47、格按照測試計劃來測試嚴(yán)格按照測試計劃來測試 盡早并不斷地進行測試盡早并不斷地進行測試 程序員應(yīng)盡可能避免檢查自己的程序程序員應(yīng)盡可能避免檢查自己的程序 測試用例應(yīng)當(dāng)兼顧合理的輸入條件和不合理的輸入條件測試用例應(yīng)當(dāng)兼顧合理的輸入條件和不合理的輸入條件 測試用例應(yīng)包括輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分測試用例應(yīng)包括輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分 測試用例應(yīng)當(dāng)兼顧有用功能和無用功能測試用例應(yīng)當(dāng)兼顧有用功能和無用功能 全面檢查每個測試結(jié)果全面檢查每個測試結(jié)果,保留測試保留測試 用例用例 充分注意測試中的集群現(xiàn)象充分注意測試中的集群現(xiàn)象 注意回歸測試的關(guān)聯(lián)性注意回歸測試的關(guān)聯(lián)性 注意遵守注意遵守“經(jīng)濟性經(jīng)濟
48、性”原則原則 6.3.1 軟件測試軟件測試第8282頁頁3.軟件測試步驟 6.3.1 軟件測試軟件測試第8383頁頁規(guī)范化的測試過程與內(nèi)容包括如下內(nèi)容:規(guī)范化的測試過程與內(nèi)容包括如下內(nèi)容:擬定測試計劃:測試的內(nèi)容、進度安排、測試所需的環(huán)境和條擬定測試計劃:測試的內(nèi)容、進度安排、測試所需的環(huán)境和條件、測試培訓(xùn)安排等。件、測試培訓(xùn)安排等。編制測試大綱:明確詳細地規(guī)定了在測試中針對系統(tǒng)的每一項編制測試大綱:明確詳細地規(guī)定了在測試中針對系統(tǒng)的每一項功能或特性所必須完成的基本測試項目和測試完成的標(biāo)準(zhǔn)。無功能或特性所必須完成的基本測試項目和測試完成的標(biāo)準(zhǔn)。無論是自動測試還是手動測試,都必須滿足測試大綱的要
49、求。論是自動測試還是手動測試,都必須滿足測試大綱的要求。設(shè)計和生成測試用例:產(chǎn)生測試設(shè)計說明文檔,其內(nèi)容主要有:設(shè)計和生成測試用例:產(chǎn)生測試設(shè)計說明文檔,其內(nèi)容主要有:被測項目、輸入數(shù)據(jù)、測試過程、預(yù)期輸出結(jié)果等。被測項目、輸入數(shù)據(jù)、測試過程、預(yù)期輸出結(jié)果等。實施測試:測試的實施階段時由一系列的測試周期組成的。實施測試:測試的實施階段時由一系列的測試周期組成的。生成測試報告:對測試進行概要說明,列出測試的結(jié)論,指出生成測試報告:對測試進行概要說明,列出測試的結(jié)論,指出缺陷和錯誤,另外,給出一些建議。例如,可采用的修改方法,缺陷和錯誤,另外,給出一些建議。例如,可采用的修改方法,各項修改預(yù)計的工
50、作量等。各項修改預(yù)計的工作量等。 3. 軟件測試步驟軟件測試步驟第8484頁頁測試中可能發(fā)現(xiàn)的錯誤按其性質(zhì)可分為:測試中可能發(fā)現(xiàn)的錯誤按其性質(zhì)可分為: (1) (1) 功能錯誤功能錯誤 由于處理功能說明不夠完整或不夠確切,致使編程由于處理功能說明不夠完整或不夠確切,致使編程時對功能有誤解而產(chǎn)生的錯誤時對功能有誤解而產(chǎn)生的錯誤(2) (2) 系統(tǒng)錯誤系統(tǒng)錯誤 指與外部接口錯誤、子程序調(diào)用錯誤、參數(shù)使用錯指與外部接口錯誤、子程序調(diào)用錯誤、參數(shù)使用錯誤等。誤等。第8585頁頁 (3) (3) 過程錯誤過程錯誤 主要指算術(shù)運算錯誤、邏輯錯誤等。主要指算術(shù)運算錯誤、邏輯錯誤等。 (4) (4) 數(shù)據(jù)錯誤
51、數(shù)據(jù)錯誤 數(shù)據(jù)結(jié)構(gòu)、實體、屬性錯誤,參數(shù)與控制數(shù)據(jù)混數(shù)據(jù)結(jié)構(gòu)、實體、屬性錯誤,參數(shù)與控制數(shù)據(jù)混淆等。淆等。 (5) (5) 編程錯誤編程錯誤 語法錯誤、邏輯錯誤、編程書寫錯誤等。語法錯誤、邏輯錯誤、編程書寫錯誤等。錯誤種類錯誤種類 第8686頁頁第8787頁頁第8888頁頁 程序錯誤一般包括數(shù)據(jù)缺陷控制缺陷計算缺陷接口缺陷輸入輸出缺陷存儲管理缺陷異常處理缺陷等類型 3. 軟件測試步驟軟件測試步驟第8989頁頁單元測試單元測試: :單元測試是對源程序中的每一個程序單元進行測試,驗證單元測試是對源程序中的每一個程序單元進行測試,驗證每個模塊是否滿足系統(tǒng)設(shè)計說明書的要求。每個模塊是否滿足系統(tǒng)設(shè)計說明
52、書的要求。可使用白盒測試方法測試單元的內(nèi)部結(jié)構(gòu),使用黑盒測試可使用白盒測試方法測試單元的內(nèi)部結(jié)構(gòu),使用黑盒測試方法測試單元的功能和可觀測的行為。方法測試單元的功能和可觀測的行為。 3. 軟件測試步驟軟件測試步驟第9090頁頁單元測試主要從模塊的單元測試主要從模塊的5 5個特征進行檢查:個特征進行檢查: (1 1)模塊接口測試。對被測的模塊,信息能否正常無誤地流入)模塊接口測試。對被測的模塊,信息能否正常無誤地流入和流出。和流出。例如,用被測模塊的輸入?yún)?shù)和形式參數(shù)在個數(shù)、屬性、單位例如,用被測模塊的輸入?yún)?shù)和形式參數(shù)在個數(shù)、屬性、單位上是否一致;調(diào)用其他模塊時所給的實際參數(shù)和被調(diào)模塊的形上是否
53、一致;調(diào)用其他模塊時所給的實際參數(shù)和被調(diào)模塊的形式參數(shù)在個數(shù)、屬性、單位上是否一致;全局變量在各模塊中式參數(shù)在個數(shù)、屬性、單位上是否一致;全局變量在各模塊中的定義和用法是否一致;輸入是否僅改變了形式參數(shù)。的定義和用法是否一致;輸入是否僅改變了形式參數(shù)。(2 2)局部數(shù)據(jù)結(jié)構(gòu)測試。在模塊工作過程中,其內(nèi)部的數(shù)據(jù)能)局部數(shù)據(jù)結(jié)構(gòu)測試。在模塊工作過程中,其內(nèi)部的數(shù)據(jù)能否保持其完整性,包括內(nèi)部數(shù)據(jù)的內(nèi)容、形式及相互關(guān)系不發(fā)否保持其完整性,包括內(nèi)部數(shù)據(jù)的內(nèi)容、形式及相互關(guān)系不發(fā)生錯誤。生錯誤。例如,變量的說明是否合適;是否使用了尚未賦值或尚未初始例如,變量的說明是否合適;是否使用了尚未賦值或尚未初始化的
54、變量;是否出現(xiàn)上溢、下溢或地址異常的錯誤等。化的變量;是否出現(xiàn)上溢、下溢或地址異常的錯誤等。 3. 軟件測試步驟軟件測試步驟第9191頁頁單元測試主要從模塊的單元測試主要從模塊的5 5個特征進行檢查:個特征進行檢查: (3 3)路徑測試。模塊的運行能否達到滿足特定的邏輯覆蓋。)路徑測試。模塊的運行能否達到滿足特定的邏輯覆蓋。(4 4)錯誤處理測試。模塊工作中發(fā)生了錯誤,其中的出錯)錯誤處理測試。模塊工作中發(fā)生了錯誤,其中的出錯處理設(shè)施是否有效。處理設(shè)施是否有效。例如,在對錯誤進行處理之前,系統(tǒng)已經(jīng)對錯誤條件干預(yù);例如,在對錯誤進行處理之前,系統(tǒng)已經(jīng)對錯誤條件干預(yù);出錯的提示信息不足以確定錯誤或
55、確定造成錯誤的原因;錯出錯的提示信息不足以確定錯誤或確定造成錯誤的原因;錯誤的描述難于理解等。誤的描述難于理解等。(5 5)邊界測試。在為限制數(shù)據(jù)加工而設(shè)置的邊界處,模塊)邊界測試。在為限制數(shù)據(jù)加工而設(shè)置的邊界處,模塊是否能夠正常工作是否能夠正常工作。 3. 軟件測試步驟軟件測試步驟第9292頁頁單元測試過程單元測試過程由于每個模塊在整個軟件中并不是孤立的,在對每個模塊進行由于每個模塊在整個軟件中并不是孤立的,在對每個模塊進行單元測試時,也不能完全忽視它們和周圍模塊的相互聯(lián)系。為單元測試時,也不能完全忽視它們和周圍模塊的相互聯(lián)系。為模擬這一聯(lián)系,在進行單元測試時,需設(shè)置若干輔助測試模塊。模擬這
56、一聯(lián)系,在進行單元測試時,需設(shè)置若干輔助測試模塊。輔助模塊有兩種:輔助模塊有兩種:一種是驅(qū)動模塊,用以模擬被測模塊的上級模塊;一種是驅(qū)動模塊,用以模擬被測模塊的上級模塊;另一種是樁模塊,用以模擬被測模塊工作過程中所調(diào)用的模塊。另一種是樁模塊,用以模擬被測模塊工作過程中所調(diào)用的模塊。在測試過程中,需要對整個測試過程進行有效的管理,保證測在測試過程中,需要對整個測試過程進行有效的管理,保證測試質(zhì)量和測試效率。試質(zhì)量和測試效率。 3. 軟件測試步驟軟件測試步驟第9393頁頁驅(qū)動模塊:是模擬待測模塊驅(qū)動模塊:是模擬待測模塊X X的調(diào)用模塊,其的調(diào)用模塊,其作用是將測試數(shù)據(jù)傳送給待測模塊作用是將測試數(shù)據(jù)
57、傳送給待測模塊X X,并顯示,并顯示待測模塊待測模塊X X的結(jié)果的結(jié)果AXY 待待測測模模塊塊X驅(qū)動驅(qū)動集成集成測試:測試:第9494頁頁樁模塊:作用是模擬待測模塊樁模塊:作用是模擬待測模塊X X的下層模塊的下層模塊E E。其。其作用是接受待測模塊作用是接受待測模塊X X的控制并模擬下層模塊的控制并模擬下層模塊E E的的功能功能AXY 待待測測模模塊塊X樁樁1集成集成測試:測試:E第9595頁頁例:下圖是新生管理子系統(tǒng)的功能層次圖: 3. 軟件測試步驟軟件測試步驟新生基本信息管理招生數(shù)據(jù)導(dǎo)入報到預(yù)處理新生報到管理新生信息查詢與統(tǒng)計預(yù)分學(xué)號班級編排寢室安排預(yù)處理查詢現(xiàn)場報到處理欠費查詢統(tǒng)計報到情
58、況統(tǒng)計新生比例分布高考成績統(tǒng)計考第9696頁頁例:下圖是新生管理子系統(tǒng)的功能層次圖:例:下圖是新生管理子系統(tǒng)的功能層次圖:要測試要測試“新生信息查詢與統(tǒng)計新生信息查詢與統(tǒng)計”模塊,由于它不是獨立運行模塊,由于它不是獨立運行的程序,需要有一個驅(qū)動模塊來調(diào)用它,驅(qū)動模塊要說明必的程序,需要有一個驅(qū)動模塊來調(diào)用它,驅(qū)動模塊要說明必需的變量、接收測試數(shù)據(jù)需的變量、接收測試數(shù)據(jù)-模擬總控模塊來調(diào)用它。另外模擬總控模塊來調(diào)用它。另外還需要準(zhǔn)備樁模塊來代替被調(diào)用的子模塊(新生比例分布、還需要準(zhǔn)備樁模塊來代替被調(diào)用的子模塊(新生比例分布、高考成績統(tǒng)計),對于多個子模塊可以用一個樁模塊來代替。高考成績統(tǒng)計),對
59、于多個子模塊可以用一個樁模塊來代替。在測試時,用控制變量在測試時,用控制變量DISCOUNTDISCOUNTTYPETYPE標(biāo)記是新生比例分標(biāo)記是新生比例分布還是高考成績統(tǒng)計。新生基本信息管理招生數(shù)據(jù)導(dǎo)入報到布還是高考成績統(tǒng)計。新生基本信息管理招生數(shù)據(jù)導(dǎo)入報到預(yù)處理新生報到管理新生信息查詢與統(tǒng)計預(yù)分學(xué)號班級編排預(yù)處理新生報到管理新生信息查詢與統(tǒng)計預(yù)分學(xué)號班級編排寢室安排預(yù)處理查詢現(xiàn)場報到處理欠費查詢統(tǒng)計報到情況統(tǒng)寢室安排預(yù)處理查詢現(xiàn)場報到處理欠費查詢統(tǒng)計報到情況統(tǒng)計新生比例分布高考成績統(tǒng)計。計新生比例分布高考成績統(tǒng)計。 3. 軟件測試步驟軟件測試步驟第9797頁頁下面是偽碼編寫的驅(qū)動模塊和樁模
60、塊。下面是偽碼編寫的驅(qū)動模塊和樁模塊。驅(qū)動模塊的偽碼:驅(qū)動模塊的偽碼:TEST DRIVERTEST DRIVER WHILE WHILE 未到文件尾部未到文件尾部 讀取輸入信息讀取輸入信息 IF IF 輸入信息是調(diào)用輸入信息是調(diào)用“新生信息查詢與統(tǒng)計新生信息查詢與統(tǒng)計”模塊模塊 調(diào)用調(diào)用“新生信息查詢與統(tǒng)計新生信息查詢與統(tǒng)計”模塊模塊 END IFEND IFEND WHILEEND WHILEEND TEST DRIVEREND TEST DRIVER 3. 軟件測試步驟軟件測試步驟第9898頁頁樁模塊的偽碼:TEST STUB IF DISCOUNTTYPE= “新生比例分布” 輸出“新
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療培訓(xùn)游戲中的虛擬社交與情感支持研究
- 寧波職業(yè)技術(shù)學(xué)院《計算生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西工程職業(yè)學(xué)院《數(shù)學(xué)綜合素質(zhì)實踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江八一農(nóng)墾大學(xué)《中醫(yī)常用診治技術(shù)與方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 教育創(chuàng)新科技助殘-遠程教育的力量不容小覷
- 數(shù)字化教育背景下教師培訓(xùn)與成長
- 智慧校園的構(gòu)建從智能教室到學(xué)生個性化成長
- 大五人格視角下的教育技術(shù)培訓(xùn)方法
- 中國女裝市場發(fā)展分析及市場趨勢與投資方向研究報告2025-2028版
- 中國復(fù)合柑橘果酒市場發(fā)展分析及市場趨勢與投資方向研究報告2025-2028版
- 鐵路貨運低碳化發(fā)展路徑
- 水工渡槽課程設(shè)計
- 《統(tǒng)計學(xué)》 課件 廖穎文 1. 緒 論
- 07FK02防空地下室通風(fēng)設(shè)備安裝圖集
- 第四講 堅持以人民為中心PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 施工圖審核報告
- 七年級下冊英語語法精解試題
- 2019年河北省中考數(shù)學(xué)試題【及答案】
- 腰椎ODI評分完整版
- 四川省某高速公路材料試驗專項監(jiān)理細則
評論
0/150
提交評論