第8章 管理信息系統(tǒng)的系統(tǒng)實施.ppt_第1頁
第8章 管理信息系統(tǒng)的系統(tǒng)實施.ppt_第2頁
第8章 管理信息系統(tǒng)的系統(tǒng)實施.ppt_第3頁
第8章 管理信息系統(tǒng)的系統(tǒng)實施.ppt_第4頁
第8章 管理信息系統(tǒng)的系統(tǒng)實施.ppt_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、教學(xué)內(nèi)容和要求:掌握在整體規(guī)劃、分步實施的原則指導(dǎo)下,如何進(jìn)行管理信息系統(tǒng)的實施工作,包括物理系統(tǒng)的實施、程序設(shè)計、程序和系統(tǒng)調(diào)試、系統(tǒng)切換,以及系統(tǒng)的運(yùn)行和維護(hù)等。 教學(xué)重點:程序的編制、調(diào)試與生成,第八章 管理信息系統(tǒng)的系統(tǒng)實施,第一節(jié) 物理系統(tǒng)的實施 第二節(jié)程序設(shè)計 第三節(jié)系統(tǒng)測試 第四節(jié) 系統(tǒng)轉(zhuǎn)換、維護(hù),開發(fā)一個管理信息系統(tǒng)好像建一棟大樓,系統(tǒng)分析、系統(tǒng)設(shè)計是根據(jù)樓的要求畫出各種藍(lán)圖,系統(tǒng)實施是調(diào)集各類人員、設(shè)備、材料,在現(xiàn)場根據(jù)圖紙按實施方案的要求把大樓建起來。完成了系統(tǒng)分析、系統(tǒng)設(shè)計之后,如何將原來紙面上的、類似于設(shè)計圖的新系統(tǒng)方案轉(zhuǎn)換成可執(zhí)行的實際系統(tǒng),這是系統(tǒng)實施階段的主要工作

2、。 系統(tǒng)實施的主要內(nèi)容包括物理系統(tǒng)的實施、程序設(shè)計、系統(tǒng)測試與調(diào)試、系統(tǒng)轉(zhuǎn)換、維護(hù)與評價等。系統(tǒng)實施階段既是成功地實現(xiàn)新系統(tǒng),又是取得用戶對系統(tǒng)信任的關(guān)鍵階段。,第一節(jié) 物理系統(tǒng)的實施,管理信息系統(tǒng)的物理系統(tǒng)的實施是計算機(jī)系統(tǒng)和通信網(wǎng)絡(luò)系統(tǒng)設(shè)備的訂購、機(jī)房的準(zhǔn)備和設(shè)備的安裝調(diào)試等一系列活動的總和。 計算機(jī)系統(tǒng)的實施 購置計算機(jī)系統(tǒng)的基本原則是: 能夠滿足管理信息系統(tǒng)的設(shè)計要求; 計算機(jī)系統(tǒng)是否具有合理的性能價格比; 系統(tǒng)是不是具有良好的可擴(kuò)充性; 能否得到來自供應(yīng)商的售后服務(wù)和技術(shù)支持等。 計算機(jī)對周圍環(huán)境比較敏感,尤其在安全性較高的應(yīng)用場合,對機(jī)房的溫度、濕度等都有特殊的要求。通常,機(jī)房可安

3、裝雙層玻璃門窗,并且要求無塵。硬件通過電纜線連接至電源,電纜走線要安放在防止靜電感應(yīng)的耐壓有腳的活動地板下面。另外,為了防止由于突然停電造成的事故發(fā)生,應(yīng)安裝備用電源設(shè)備,如功率足夠的不間斷電源(UPS)。,網(wǎng)絡(luò)系統(tǒng)的實施 MIS 通常是一個由通信線路把各種設(shè)備連接起來組成的網(wǎng)絡(luò)系統(tǒng),MIS 網(wǎng)絡(luò)有局域網(wǎng)和廣域網(wǎng)兩種。 網(wǎng)絡(luò)系統(tǒng)的實施的主要內(nèi)容: 通信設(shè)備的安裝; 電纜線的鋪設(shè); 網(wǎng)絡(luò)性能的調(diào)試等工作。,第二節(jié)程序設(shè)計,系統(tǒng)實施階段最主要的工作是程序設(shè)計。程序設(shè)計是根據(jù)系統(tǒng)設(shè)計文檔(系統(tǒng)設(shè)計說明書)中有關(guān)模塊的處理過程描述,選擇合適的計算機(jī)程序語言,編制出正確、清晰、健壯,易維護(hù)、易理解、工作

4、效率高的程序的過程。,程序設(shè)計語言的選擇,C/S結(jié)構(gòu)集成編程工具: Visual Basic Visual C+ PowerBuilder Delphi,B/S結(jié)構(gòu)下的腳本語言: ASP JSP PHP,關(guān)系型數(shù)據(jù)庫: Oracle DB2 Informix Sybase SQL Server Access xBASE類,選擇的依據(jù) 所處理問題的性質(zhì) 管理信息系統(tǒng)是以數(shù)據(jù)處理為主,故應(yīng)選擇數(shù)據(jù)處理能力強(qiáng)的語言。 用戶的要求 如果所開發(fā)的系統(tǒng)由用戶負(fù)責(zé)維護(hù),用戶通常要求用他們熟悉的語言書寫程序。 語言的人機(jī)交互動能 選用的語言必須能夠提供友好、美觀的人機(jī)交互功能,這對用戶來說是非常重要的。 軟件

5、工具 如果某種語言有較豐富的支持程序開發(fā)的軟件工具可以利用,則使系統(tǒng)的實現(xiàn)和調(diào)試都變得比較容易。 開發(fā)人員的知識 雖然對于有經(jīng)驗的程序員來說,學(xué)習(xí)一種新語言并不困難,但要完全掌握一種新語言并用它編出高質(zhì)量的程序來,卻需要經(jīng)過一段時間的實踐。因此,如果可能的話,應(yīng)該盡量選擇一種已經(jīng)為程序員所熟悉的語言。 軟件可移植性 如果開發(fā)出的系統(tǒng)軟件將在不同的計算機(jī)上運(yùn)行,或打算在某個部門推廣使用,那么應(yīng)該選擇一種通用性強(qiáng)的語言。,按程序開發(fā)路徑劃分 1、自頂向下的方法 要求程序員首先實現(xiàn)軟件結(jié)構(gòu)的最高層次,之后再實現(xiàn)下一個層次,直至用程序設(shè)計語言實現(xiàn)最低層次為止。 2、自底向上的方法 與上述方法開發(fā)過程相

6、反,它是從最底層開始,直至實現(xiàn)最高層次為止。 通常用自頂向下的開發(fā)方法開發(fā)的程序可讀性好,條理分明,可靠性也較高。而用自底向上開發(fā)方法得到的程序往往局部是最優(yōu)的,系統(tǒng)的整體結(jié)構(gòu)卻較差。,程序設(shè)計方法,程序設(shè)計的基本要求,正確性 編出的程序,能夠嚴(yán)格按照規(guī)定的要求,準(zhǔn)確無誤地提供預(yù)期的全部信息; 可理解性 程序的內(nèi)容清晰、明了,便于閱讀和理解; 可靠性 程序應(yīng)具有較好的容錯能力,不僅正常情況下能正確工作,而且在異常情況下應(yīng)便于處理; 可維護(hù)性 程序的應(yīng)變性能強(qiáng)。程序執(zhí)行過程中,發(fā)現(xiàn)問題或客觀條件有了變化,調(diào)整和修改程序比較簡便易行; 效率 程序的結(jié)構(gòu)嚴(yán)謹(jǐn)、明了,運(yùn)算處理速度快,節(jié)省機(jī)時。程序和數(shù)

7、據(jù)的存儲、調(diào)用安排得當(dāng),節(jié)省存儲空間。 健壯性 是指系統(tǒng)對錯誤操作、錯誤數(shù)據(jù)輸入 能予以識別與禁止的能力,不會因錯誤操作、錯誤數(shù)據(jù)輸入及硬件故障而造成系統(tǒng)崩潰。,明確條件和要求 根據(jù)系統(tǒng)設(shè)計及其他有關(guān)資料,弄清該程序設(shè)計的條件和設(shè)計要求。 分析數(shù)據(jù) 對要處理的數(shù)據(jù)進(jìn)行仔細(xì)分析,弄清數(shù)據(jù)的詳細(xì)內(nèi)容和特點。 確定流程 用統(tǒng)一規(guī)定的符號,描述數(shù)據(jù)輸入、加工、輸出等處理過程。 編寫程序 采用某種程序設(shè)計語言,按其規(guī)定的語法把確定的流程編寫出來。 檢查和調(diào)試 對編好的程序進(jìn)行檢查和調(diào)試。 編寫程序使用說明書,程序設(shè)計的步驟,采用有實際意義的標(biāo)識符 不用過于相似的變量名 同一標(biāo)識符不要具有多種含義 名字不

8、要過長,過長的名字會增加工作量。 在編程前最好能對標(biāo)識符的選取約定統(tǒng)一的標(biāo)準(zhǔn),便于以后閱讀理解。,標(biāo)識符的命名: 標(biāo)識符包括模塊名、變量名、常量名、過程名以及數(shù)據(jù)區(qū)名等。理解程序中這些名字的含義是理解程序的關(guān)鍵,所以標(biāo)識符應(yīng)該適當(dāng)選取,使其直觀,易于理解和記憶。,編程風(fēng)格,不要為了節(jié)省空間而把多個語句寫在同一行; 避免過于復(fù)雜的條件測試; 利用括號使多條件表達(dá)式清晰直觀; 把同一層次的語句行左端對齊,而下一層的語句向右邊縮進(jìn)若干格書寫,它能體現(xiàn)程序邏輯結(jié)構(gòu)的深度。,程序的書寫格式: 編程時應(yīng)注意每個語句力求簡單而直接,不能為了提高效率而使程序過于復(fù)雜。恰當(dāng)?shù)臅鴮懜袷綄⒂兄陂喿x。,注釋應(yīng)正確,

9、修改程序時應(yīng)同時修改注釋,否則會起反作用。 注釋應(yīng)提供一些程序本身難以表達(dá)的信息。 為了方便用戶今后維護(hù),注釋中盡量多用漢字。,程序的注釋: 程序的注釋序言性注釋出現(xiàn)在模塊的首都,內(nèi)容應(yīng)包括:模塊功能說明;界面描述(如調(diào)用語句格式、所有參數(shù)的解釋和該模塊需調(diào)用的模塊名等);某些重要變量的使用、限制;開發(fā)信息(如作者、修改日期等)。 描述性注釋嵌在程序之中,用來說明程序段的功能或數(shù)據(jù)的狀態(tài)。,對所有的輸入數(shù)據(jù)都進(jìn)行檢驗; 檢查輸入項各種重要組合的合理性; 應(yīng)允許缺省值; 輸入步驟和操作盡可能簡單,并保持簡單的輸入格式。,程序的輸入和輸出: 程序的輸入和輸出信息與用戶的使用直接相關(guān),輸入和輸出的方

10、式和格式應(yīng)方便用戶使用。編寫程序是應(yīng)注意:,結(jié)構(gòu)化程序設(shè)計(StructuredProgramming, 簡稱SP)方法是E.Djkstra等人于 1972年提出,用于詳細(xì)設(shè)計和程序設(shè)計階段,指導(dǎo)人們用良好的思想方法,開發(fā)出易于理解、又正確的程序的一種程序設(shè)計方法。 它建立在Bohm和Jacopini在1966年就證明了的結(jié)構(gòu)定理的基礎(chǔ)上,它指出任何程序邏輯結(jié)構(gòu)都可以用順序、分支和循環(huán)這三種基本結(jié)構(gòu)來表示。,結(jié)構(gòu)化程序設(shè)計,SP方法用三種基本結(jié)構(gòu)反復(fù)嵌套構(gòu)成“結(jié)構(gòu)化的程序”。每種結(jié)構(gòu)嚴(yán)格地只有一個入口和一個出口,所以一般認(rèn)為,結(jié)構(gòu)化程序設(shè)計是采用自頂向下逐步求精的設(shè)計方法和單入口單出口的控制技

11、術(shù)。 由于結(jié)構(gòu)化程序具有結(jié)構(gòu)清晰、易于閱讀和修改、容易驗證其正確性等優(yōu)點,因此使用該方法有利于編寫出結(jié)構(gòu)良好的程序,提高編程工作效率。 目前,多種計算機(jī)程序語言都支持結(jié)構(gòu)化程序設(shè)計。,結(jié)構(gòu)化程序設(shè)計(SP)特點:,第三節(jié) 系統(tǒng)測試,系統(tǒng)測試是管理信息系統(tǒng)開發(fā)過程中十分重要的環(huán)節(jié)。盡管在系統(tǒng)開發(fā)周期的各個階段均采取了嚴(yán)格的技術(shù)審查,但依然難免留下差錯,這些差錯如果沒有在投入運(yùn)行前的系統(tǒng)測試階段被發(fā)現(xiàn)并糾正,問題遲早會在運(yùn)行中暴露出來,到那時要糾正錯誤將會付出更大的代價。,測試的目的、原則和過程,系統(tǒng)測試是保證系統(tǒng)質(zhì)量的關(guān)鍵步驟。統(tǒng)計資料表明,對于一些較大規(guī)模的系統(tǒng)來說,系統(tǒng)測試的工作量往往占系統(tǒng)

12、開發(fā)總工作量的40%以上,開發(fā)費(fèi)用的近1/2。 到目前為止,人們還無法證明一個大型復(fù)雜程序的正確性,只能依靠一定的測試手段來說明該程序在某些條件下沒有發(fā)生錯誤。所以在測試時應(yīng)想方設(shè)法使程序的各個部分部投入運(yùn)行,力圖找出所有錯誤。,發(fā)現(xiàn)系統(tǒng)中的錯誤并及時糾正。,測試的目的,測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程,系統(tǒng)測試就是要在計算機(jī)上以各種可能的數(shù)據(jù)和操作條件反復(fù)地對程序進(jìn)行試驗,發(fā)現(xiàn)存在的錯誤并及時加以修改,使其符合設(shè)計要求; 好的測試方案是很可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)錯誤的測試方案; 成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。,G.Myers對測試目標(biāo)做出了如下歸納:,測試人員應(yīng)避

13、免測試自己設(shè)計的程序; 測試用例應(yīng)分別考慮輸入和輸出; 測試數(shù)據(jù)的選取應(yīng)考慮各種不同情況; 檢查程序是否執(zhí)行了規(guī)定以外的操作; 注意保留測試用例; 對已發(fā)現(xiàn)的錯誤模塊要足夠重視。,測試的基本原則,測試過程,單元測試:對軟件單元(模塊)進(jìn)行測試,確實保證它作為一個單元能正常地工作。 集成測試:把經(jīng)過測試的單元按一定順序組裝成為系統(tǒng),進(jìn)行測試,又稱接口測試。,確認(rèn)測試:根據(jù)軟件需求規(guī)格說明中定義的全部功能、性能、可靠性等需求,測試整個軟件是否達(dá)到要求。 系統(tǒng)測試:將通過確測試的軟件與系統(tǒng)中其它的軟件、硬件人員、數(shù)據(jù)等結(jié)合在一起,在真實的系統(tǒng)工作環(huán)境下檢驗軟件是否能與系統(tǒng)正確連接,并確認(rèn)軟件是否與用

14、戶需求(系統(tǒng)需求)一致。,測試與開發(fā)過程的關(guān)系,測試的方式,靜態(tài)測試,靜態(tài)測試是指通過人工方式評審系統(tǒng)文檔和程序,在不實際運(yùn)行程序的情況下,找出編譯不能發(fā)現(xiàn)的錯誤。這種方法手續(xù)簡單,是一種行之有效的檢驗手段。經(jīng)驗表明,組織良好的靜態(tài)測試可以發(fā)現(xiàn)程序中3070的編碼和邏輯設(shè)計錯誤,從而可以減少動態(tài)測試的負(fù)擔(dān),提高整個測試工作的效率。,個人復(fù)查:指源程序編完以后,直接由程序員自己進(jìn)行檢查。 走查:測試在預(yù)先閱讀過該軟件資料和源程序的前提下,由測試人員扮演計算機(jī)的角色,用人工方法將測試數(shù)據(jù)輸入被測程序,并在紙上跟蹤監(jiān)視程序的執(zhí)行情況, 讓人代替機(jī)器沿著程序的邏輯走一遍, 發(fā)現(xiàn)程序中的錯誤。由于人工運(yùn)

15、行很慢,因此走查只能使用少量簡單的測試用例,實際上走查只是個手段,是在“走”的進(jìn)程中不斷從程序中發(fā)現(xiàn)錯誤。 會審:由程序作者逐個閱讀和講解程序,測試人員逐個審查、提問,討論可能產(chǎn)生的錯誤。會審要對程序的功能、結(jié)構(gòu)及風(fēng)格等全面進(jìn)行審定。,動態(tài)測試,動態(tài)測試是運(yùn)用事先設(shè)計好的測試用例,有控制地運(yùn)行程序,從多種角度觀察程序運(yùn)行時的行為, 對比運(yùn)行結(jié)果與預(yù)期結(jié)果 的差別以發(fā)現(xiàn)錯誤。也就是說,動態(tài)測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序。因此,動態(tài)測試的關(guān)鍵問題是如何設(shè)計測試用例,即設(shè)計一批測試數(shù)據(jù),通過有限的測試用例,在有限的研制時間、研制經(jīng)費(fèi)的約束下,盡可能多地發(fā)現(xiàn)程序中的錯誤。 動態(tài)測試可分為黑盒法和白盒法,

16、在不同的測試階段可采用不同的方法或交叉使用這兩種方法。,1、黑盒測試:將被測試程序?qū)ο罂醋骱诤凶?,不考慮其內(nèi)部程序結(jié)構(gòu)與處理過程,僅僅對于程序接口進(jìn)行測試。即檢查適當(dāng)?shù)妮斎胧欠衲軌虍a(chǎn)生適當(dāng)?shù)妮敵?。又稱為功能測試,數(shù)據(jù)驅(qū)動測試,基于規(guī)格說明書的測試。,用黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件中確定測試數(shù)據(jù),來檢查程序是否都能產(chǎn)生正確的輸出,但這是不可能的。,示例: 假設(shè)一個程序P有輸入量X和Y及輸出量Z。在字長為32位的計算機(jī)上運(yùn)行。若X、Y取整數(shù),按黑盒方法進(jìn)行窮舉測試: 可能采用的測試數(shù)據(jù)組:232232264 如果測試一 組數(shù)據(jù)需要1毫秒,一年工作365 24小時,完成所有測試

17、需5億年。,2、白盒測試:分析程序結(jié)構(gòu)與過程執(zhí)行路徑,按照程序內(nèi)部的邏輯結(jié)構(gòu)設(shè)計測試用例,檢驗程序的每條通路是否按預(yù)期正常進(jìn)行,力求提高測試覆蓋率。又稱為結(jié)構(gòu)測試,玻璃盒測試,基于覆蓋的測試。,最徹底的白箱法是覆蓋程序中的每一條路徑。然而,由于大型復(fù)雜程序中的邏輯路徑數(shù)目太多,致使不可能將全部路徑都覆蓋。,示例: 給出一個小程序的流程圖,它包括了一個執(zhí)行20次的循環(huán),循環(huán)體中包含5條路徑。 它包含的不同執(zhí)行路徑數(shù)達(dá)520條,對每一條路徑進(jìn)行測試需要1毫秒,要想把所有路徑測試完,需3170年。,測試用例的設(shè)計,不論黑盒還是白盒測試都不能進(jìn)行窮盡測試, 所以軟件測試不可能發(fā)現(xiàn)程序中存在的所有錯誤,

18、 因此需精心設(shè)計測試用例, 力爭盡可能少的次數(shù),測出盡可能多的錯誤.,把所有可能的輸入數(shù)據(jù)劃分成若干部分(等價類),并從每個等價類中選取一個典型代表數(shù)據(jù)作為測試用例,并假設(shè)在一個等價類中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等價的。 通常是將模塊的輸入域劃分成有效等價類(模塊中符合規(guī)范的輸入)和無效等價類(模塊中非法的輸入)兩種。,等價類劃分法(黑盒類),劃分等價類的規(guī)則 1、如果輸入條件代表一個范圍,可定義一個有效等價類和兩個無效等價類。 例:某模塊的合理輸入是1999,則大于等于1且小于等于999的數(shù)據(jù)屬于有效等價數(shù)據(jù);小于1或大于999的數(shù)據(jù)為無效等價類,測試數(shù)據(jù)可以從這三個等價類中抽取

19、。,2、如果輸入條件規(guī)定了輸入值的集合,則可定義一個有效等價類和一個無效等價類。,例:某個待測程序的輸入?yún)?shù)“職稱”的輸入值可以是助教、講師、副教授、教授四種。則,可以設(shè)計一個有效等價類(取四個職稱中的一個值);一個無效等價類(四個職稱之外的任意值)。,3、如規(guī)定了輸入數(shù)據(jù)的一組值,且程序?qū)Σ煌斎胫底霾煌幚?,則每個允許的輸入值是一個有效等價類,并有一個無效等價類(所有不允許的輸入值的集合)。,例:如果程序?qū)Σ煌毞Q有不同的處理方案,如“住房分配”程序。則,應(yīng)設(shè)計四個有效等價類(四個職稱每個值為一類);一個無效等價類(四個職稱之外的任意值)。,4、如果規(guī)定了輸入條件必須遵守的規(guī)則,則可劃分一

20、個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。,例:如果規(guī)定了輸入數(shù)據(jù)是整型,則可劃分出一個有效等價類(輸入整數(shù));若干個無效等價類(輸入字符、實數(shù))。,用等價類劃分法確定測試用例步驟:,1、形成等價類表,每一等價類規(guī)定一個唯一的編號; 2、設(shè)計一測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類,重復(fù)這一步驟,直到所有有效等價類均被測試用例所覆蓋; 3、設(shè)計一新測試用例,使其只覆蓋一個無效等價類,重復(fù)這一步驟直到所有無效等價類均被覆蓋;,例:某城市電話號碼由三部分組成 地區(qū)碼:空白或3位數(shù)字 前 綴:非0或1開頭的三位數(shù)字 后 綴:4位數(shù)字,第一步:電話號碼等價類劃分,第二

21、步:確定測試用例 可通過下面13個測試用例覆蓋所有等價類。,邊界值分析法(黑盒類),在編寫程序時,往往只注意正常情況,忽視了邊界狀態(tài)。因此,在測試過程中以剛好等于、大于或小于邊界值的數(shù)據(jù)作為測試數(shù)據(jù),容易發(fā)現(xiàn)程序中的錯誤。 邊界是相對于輸入等價類和輸出等價類而言,稍高于其邊界值及稍低于其邊界值的一些特定情況。 使用邊界值分析方法設(shè)計測試用例,應(yīng)對確定的邊界,選取正好等于,剛剛大于,或剛剛小于邊界的值做為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。,邊界值分析法設(shè)計測試用例原則 1、如輸入條件代表以a和b為邊界的范圍,測試用例應(yīng)包含a、b、略大于a和略小于b的值。 例:郵件收費(fèi)規(guī)定

22、 15 kg收費(fèi)2元,則應(yīng)設(shè)計測試用例: 0.9、1、 5、5.1 kg,2、如果輸入條件規(guī)定了輸入值的個數(shù),則用最大個數(shù)、最小個數(shù)、比最大個數(shù)多1、比最小個數(shù)少1的數(shù)作為測試數(shù)據(jù)。 例:一個輸入文件可有1255個記錄,則可分別設(shè)計有: 1個、255個、0個、256個記錄的輸入文件,3、 如規(guī)格說明中提出輸入輸出的有序集(順序文件、有序表等),取有序集的第一個和最后一個元素做測試用例。,4、如程序數(shù)據(jù)結(jié)構(gòu)有預(yù)定的邊界,應(yīng)測試其邊界的數(shù)據(jù)項。 例:程序中定義一數(shù)組,其元素下標(biāo)的下界是0,上界是100,則應(yīng)選擇達(dá)到這個數(shù)組下標(biāo)邊界的值,如0與100作為測試用例。,5、如輸出條件規(guī)定了取值范圍,取邊

23、界上下浮動值做測試用例。 例: 每日保險扣除額(輸出項)在01165.25 元,則應(yīng)設(shè)計測試用例使其恰好產(chǎn)生0元和1165.25元的結(jié)果, 此外還應(yīng)考慮設(shè)計結(jié)果為負(fù)值或 1165.25元的測試用例,如: -0.01元和1165.26元)。 由于輸入值的邊界不與輸出值的邊界相對應(yīng),所以要檢查輸出值的邊界及產(chǎn)生超出輸出值值域的結(jié)果不一定可能。,邏輯覆蓋測試法(白盒類),用白盒法測試模塊時,最徹底的就是覆蓋程序中的每一條路徑,然而,由于大型復(fù)雜程序中的邏輯路徑數(shù)目太多,致使不可能將全部路徑都覆蓋。因此采用其它一些標(biāo)準(zhǔn)來量度覆蓋的程度,并希望覆蓋程度盡可能高些。,例:一個被測程的程序段如下所示:,路徑

24、: L1:ace L2:abd L3:abe L4:acd,1、語句覆蓋 執(zhí)行足夠多的測試用例,使得被測程序中每個可執(zhí)行語句至少被執(zhí)行一次。 上例中只需設(shè)計一個測試用例: 【(2, 0, 4),(2, 0, 3)】,覆蓋ace(L1),即達(dá)到了語句覆蓋。 語句覆蓋是最弱的覆蓋標(biāo)準(zhǔn)。,2、判定覆蓋(邊覆蓋) 執(zhí)行足夠多的測試用例,使得被測程序中每個語句至少被執(zhí)行一次,且每個判斷的真假分支至少執(zhí)行一次。 上例中可設(shè)計兩組測試用例: 【(2, 1, 1),(2, 1, 2)】,覆蓋 abe【L3】 【(3, 0, 3),(3, 0, 1)】,覆蓋 acd【L4】 兩組測試用例可覆蓋所有判定的真假分支

25、 判定覆蓋仍是弱的覆蓋標(biāo)準(zhǔn)。,3、條件覆蓋 執(zhí)行足夠多的測試用例,使得被測程序中每個判定的每個條件的可能值至少執(zhí)行一次。,設(shè)條件的取值標(biāo)記,條件覆蓋可選取的 測試用例 如下表,【(1, 0, 3),(1, 0, 4)】,abe(L3),b,e,【(2, 1, 1),(2, 1, 2)】,abe(L3),b,e,T1 T2 T3 T4,T1 T2 T3 T4,注:未覆蓋c、d分支,不滿足判定覆蓋的要求,條件覆蓋不一定包含判定覆蓋,判定覆蓋也不一定包含條件覆蓋,4、判定/條件覆蓋 執(zhí)行足夠多的測試用例,使得被測程序中的判定的每個條件的所有可能取值至少執(zhí)行一次,同時每個判定本身的所有可能判定結(jié)果至少

26、執(zhí)行一次。,設(shè)條件的取值標(biāo)記,判定/條件覆蓋可選取的 測試用例 如下表,【(2, 0, 4),(2, 0, 3)】,ace(L1),c,e,【(1, 1, 1),(1, 1, 1)】,abd(L2),b,d,T1 T2 T3 T4,注:它是判定覆蓋與條件覆蓋的綜合,但不能保證檢查出邏輯表達(dá)式的全部錯誤。對于上例中A1時檢查B=0,而 A0卻不去驗證了。,5 、條件組合覆蓋 執(zhí)行足夠多的測試用例,使得被測程序中所有可能的條件取值組合至少執(zhí)行一次。 各個判斷的條件共有8種可能的組合: (1)A1, B=0 (2) A1, B0 (3) A0 (5) A=2, X1 (6) A=2, X2, X1

27、(8) A2, X=1,設(shè)條件的取值標(biāo)記,【(2, 0, 4), (2, 0, 3)】,ace L1,T1 T2 T3 T4,【(2, 1, 1), (2, 1, 2)】,abe L3,【(1, 0, 3), (1, 0, 4)】,abe L3,【(1, 1, 1), (1, 1, 1)】,abd L2,注:滿足條件組合覆蓋必滿足判定、條件、判定/條件覆蓋,但仍不能遍歷每條路徑。,6、路徑覆蓋 執(zhí)行足夠多的測試用例,使得被測程序中每條可能路徑至少通過一次。,【(2, 0, 4), (2, 0, 3)】,ace L1,T1 T2 T3 T4,【(1, 1, 1), (1, 1, 1)】,abd

28、L2,【(1, 1, 2), (1, 1, 3)】,abe L3,【(3, 0, 3), (3, 0, 1)】,acd L4,設(shè)條件的取值標(biāo)記,單元測試,對軟件單元進(jìn)行測試,確實保證它作為一個單元能正常地工作。 單元測試的目的是驗證單元滿足功能、性能和接口等的要求。 單元測試采用的技術(shù):主要采用白盒測試,輔之以黑盒測試。 測試的充分性:由各種測試覆蓋率來度量,單元測試的內(nèi)容 模塊接口 局部數(shù)據(jù)結(jié)構(gòu) 重要的執(zhí)行路徑 出錯處理 邊界測試,單元測試的環(huán)境,模塊并不是一個獨(dú)立的程序,在考慮測試模塊時,同時要考慮它和外界的聯(lián)系,用一些輔助模塊去模擬與被測模塊相聯(lián)系的其它模塊。,驅(qū)動模塊:驅(qū)動模塊是模擬待

29、測模塊的調(diào)用模塊,其作用是將測試數(shù)據(jù)傳送給待測模塊,并顯示結(jié)果。,樁模塊:樁模塊的作用是模擬待測模塊的下層模塊,其作用是接受待測模塊的控制并模擬下層模塊的功能。,集成測試,依據(jù)軟件設(shè)計確定的軟件結(jié)構(gòu),按照軟件集成“工序”,把各個軟件單元逐步集成為完整的軟件系統(tǒng),并不斷發(fā)現(xiàn)和排除錯誤,以保證聯(lián)接、集成的正確性。,非增量方式測試 先分別測試每一個模塊,然后一次組裝在一起再測試整個程序。,非增量方式的優(yōu)點: a.非增量方式占用機(jī)器時間較少。 b.非增量方式有利于并行測試。 非增量方式的缺點: a. 需編寫太多的驅(qū)動模塊和樁模塊。 b. 接口錯誤發(fā)現(xiàn)得晚。 c. 難以確定錯誤源的位置。,漸增式測試 采

30、用每次增加一個模塊的方式進(jìn)行測試,既把下一個要測試的模塊與測試好的那些模塊結(jié)合起來進(jìn)行測試,這樣邊組裝邊測試,直到構(gòu)成一個完整的系統(tǒng)為止。,漸增式的優(yōu)點: a. 漸增式可以較早地發(fā)現(xiàn)模塊界面之間的錯誤 b. 漸增式有利于排錯 c. 漸增式比較徹底 漸增式的缺點: a. 漸增式需要較多的機(jī)器時間 b. 漸增式的測試工作無法并行,自頂向下方法,1、主控模塊用作為測試模塊兼驅(qū)動模塊,直接附屬于主控模塊的各模塊全都用樁模塊代替,對主模塊進(jìn)行測試。 2、按照所選的組裝法(即深度優(yōu)先或?qū)挾葍?yōu)先)每次用一個真模塊取代一個附屬的樁模塊,再用樁模塊代替它們的直接下屬模塊。 3、進(jìn)行回復(fù)測試(即重新再作過去作過的

31、全部或部分測試),以便肯定沒有新的錯誤發(fā)生。 4、作完每一組測試后又再用一個真模塊代替另一個樁模塊。,自底向上集成方法,1、低層的模塊組成簇,以執(zhí)行某個特定的軟件子功能。 2、編寫一個驅(qū)動模塊作為測試的控制程序,和被測試的簇連在一起,負(fù)責(zé)安排測試用例的輸入及輸出。 3、對簇進(jìn)行測試。 4、拆去各個小簇的驅(qū)動模塊,把幾個小簇合并成大簇,再重復(fù)做2、3及4步。 這樣在軟件結(jié)構(gòu)上逐步向上組裝。,自頂向下結(jié)合的優(yōu)點在于和子系統(tǒng)整體有關(guān)的接口問題可以在子系統(tǒng)測試的早期得到解決,但設(shè)計測試用例和編寫樁模塊比較困難。 自底向上結(jié)合的優(yōu)點在于設(shè)計測試用例和編寫驅(qū)動模塊比較容易,但它必須在最后一個模塊組裝出來之

32、后,才能使模塊群作為一個整體存在。 由于上述兩種方法具有互補(bǔ)性,一般常結(jié)合起來進(jìn)行。即對子系統(tǒng)的較上層模塊使用自頂向下的組裝方法,對下層模塊使用自底向上的組裝方法。,確認(rèn)測試,安全測試:是指測試系統(tǒng)對外來有意或惡意攻擊的自我保護(hù)能力。 恢復(fù)測試:是指系統(tǒng)出現(xiàn)意外故障時,能否正確和迅速恢復(fù)的測試。 有效性測試:通過測試來證實系統(tǒng)功能與用戶要求一致。 功能測試:是在規(guī)定的一段時間內(nèi)運(yùn)行軟件系統(tǒng)的所有功能,以驗證這個軟件系統(tǒng)有無嚴(yán)重錯誤。 性能測試:是要檢查系統(tǒng)是否滿足在需求說明書中規(guī)定的性能。特別是對于實時系統(tǒng)或嵌入式系統(tǒng)。 操作測試:包括對用戶接口、人機(jī)接口和人機(jī)交互要求的所有測試。 驗收測試:

33、驗收測試必須由用戶參加或者以用戶為主進(jìn)行。它是用戶在實際應(yīng)用環(huán)境中所進(jìn)行的真實數(shù)據(jù)的測試,驗收測試主要使用原有系統(tǒng)所用過的歷史數(shù)據(jù),將新系統(tǒng)運(yùn)行結(jié)果和原系統(tǒng)所得相核對,以檢查系統(tǒng)的可靠性和運(yùn)行效率。,第四節(jié) 系統(tǒng)切換、維護(hù),系統(tǒng)切換:新舊系統(tǒng)的交替過程,也就是舊的管理信息系統(tǒng)逐漸退出,由新的管理信息系統(tǒng)來代替。,人員培訓(xùn),企業(yè)各層次人員參與管理信息系統(tǒng)的操作、維護(hù)、運(yùn)行,因而,必須對企業(yè)各層次人員開展有針對性的培訓(xùn)以確保管理信息系統(tǒng)正常運(yùn)行并充分發(fā)揮作用。,1、事務(wù)管理人員:培訓(xùn)的主要內(nèi)容有新系統(tǒng)的目標(biāo)、功能;系統(tǒng)的結(jié)構(gòu)及運(yùn)行過程;對企業(yè)組織機(jī)構(gòu)、工作方式等產(chǎn)生的影響;采用新系統(tǒng)后,對職工必須

34、學(xué)會新技術(shù)的要求; 今后如何衡量任務(wù)完成情況。,系統(tǒng)切換,2、系統(tǒng)操作員:是管理信息系統(tǒng)的直接使用者,對他們的培訓(xùn)內(nèi)容包括必要的計算機(jī)硬、軟件知識;鍵盤指法、漢字輸入等訓(xùn)練;新系統(tǒng)的工作原理;新系統(tǒng)輸入方式和操作方式的培訓(xùn);簡單出錯的及處置知識;運(yùn)行操作注意事項。 3、系統(tǒng)維護(hù)人員:培訓(xùn)的最好途徑就是讓他們直接參與系統(tǒng)的開發(fā)工作,這樣有助于他們了解整個系統(tǒng)的全過程,并為他們今后維護(hù)工作打下良好的基礎(chǔ)。,系統(tǒng)轉(zhuǎn)換方式,1、直接切換方式:是指在某一時刻,舊系統(tǒng)終止使用,新系統(tǒng)投入運(yùn)行,新系統(tǒng)一般要經(jīng)過較詳細(xì)的測試和模擬運(yùn)行。考慮到系統(tǒng)測試中試驗樣本的不徹底性,以及新系統(tǒng)沒有真正擔(dān)負(fù)過實際工作,因而這種方式雖然最簡單、最省錢,但風(fēng)險性最大,在切換過程中很可能出現(xiàn)事先預(yù)想不到的問題。,2、并行切換方式:新投入運(yùn)行時,老系統(tǒng)并不停止運(yùn)行,而是與新系統(tǒng)同時運(yùn)行一段時間,新老系統(tǒng)并存的時間一般為35個月左右。在這段時間內(nèi),既保持系統(tǒng)工作不間斷,又可以對照兩個系統(tǒng)的輸出,利用老系統(tǒng)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論