第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頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、管理信息系統(tǒng),主講教師:和力,韓山師范學院數(shù)學與信息技術系 ,Management Information Systems,教學內(nèi)容和要求:掌握在整體規(guī)劃、分步實施的原則指導下,如何進行管理信息系統(tǒng)的實施工作,包括物理系統(tǒng)的實施、程序設計、程序和系統(tǒng)調(diào)試、系統(tǒng)切換,以及系統(tǒng)的運行和維護等。 教學重點:程序的編制、調(diào)試與生成,第八章 管理信息系統(tǒng)的系統(tǒng)實施,第一節(jié) 物理系統(tǒng)的實施 第二節(jié)程序設計 第三節(jié)系統(tǒng)測試 第四節(jié) 系統(tǒng)轉換、維護,開發(fā)一個管理信息系統(tǒng)好像建一棟大樓,系統(tǒng)分析、系統(tǒng)設計是根據(jù)樓的要求畫出各種藍圖,系統(tǒng)實施是調(diào)集各類人員、設備、材料,在現(xiàn)場根據(jù)圖紙按實施方案的要求把大樓建起來。

2、完成了系統(tǒng)分析、系統(tǒng)設計之后,如何將原來紙面上的、類似于設計圖的新系統(tǒng)方案轉換成可執(zhí)行的實際系統(tǒng),這是系統(tǒng)實施階段的主要工作。 系統(tǒng)實施的主要內(nèi)容包括物理系統(tǒng)的實施、程序設計、系統(tǒng)測試與調(diào)試、系統(tǒng)轉換、維護與評價等。系統(tǒng)實施階段既是成功地實現(xiàn)新系統(tǒng),又是取得用戶對系統(tǒng)信任的關鍵階段。,第一節(jié) 物理系統(tǒng)的實施,管理信息系統(tǒng)的物理系統(tǒng)的實施是計算機系統(tǒng)和通信網(wǎng)絡系統(tǒng)設備的訂購、機房的準備和設備的安裝調(diào)試等一系列活動的總和。 計算機系統(tǒng)的實施 購置計算機系統(tǒng)的基本原則是: 能夠滿足管理信息系統(tǒng)的設計要求; 計算機系統(tǒng)是否具有合理的性能價格比; 系統(tǒng)是不是具有良好的可擴充性; 能否得到來自供應商的售后

3、服務和技術支持等。 計算機對周圍環(huán)境比較敏感,尤其在安全性較高的應用場合,對機房的溫度、濕度等都有特殊的要求。通常,機房可安裝雙層玻璃門窗,并且要求無塵。硬件通過電纜線連接至電源,電纜走線要安放在防止靜電感應的耐壓有腳的活動地板下面。另外,為了防止由于突然停電造成的事故發(fā)生,應安裝備用電源設備,如功率足夠的不間斷電源(UPS)。,網(wǎng)絡系統(tǒng)的實施 MIS 通常是一個由通信線路把各種設備連接起來組成的網(wǎng)絡系統(tǒng),MIS 網(wǎng)絡有局域網(wǎng)和廣域網(wǎng)兩種。 網(wǎng)絡系統(tǒng)的實施的主要內(nèi)容: 通信設備的安裝; 電纜線的鋪設; 網(wǎng)絡性能的調(diào)試等工作。,第二節(jié)程序設計,系統(tǒng)實施階段最主要的工作是程序設計。程序設計是根據(jù)系

4、統(tǒng)設計文檔(系統(tǒng)設計說明書)中有關模塊的處理過程描述,選擇合適的計算機程序語言,編制出正確、清晰、健壯,易維護、易理解、工作效率高的程序的過程。,程序設計語言的選擇,C/S結構集成編程工具: Visual Basic Visual C+ PowerBuilder Delphi,B/S結構下的腳本語言: ASP JSP PHP,關系型數(shù)據(jù)庫: Oracle DB2 Informix Sybase SQL Server Access xBASE類,選擇的依據(jù) 所處理問題的性質(zhì) 管理信息系統(tǒng)是以數(shù)據(jù)處理為主,故應選擇數(shù)據(jù)處理能力強的語言。 用戶的要求 如果所開發(fā)的系統(tǒng)由用戶負責維護,用戶通常要求用他

5、們熟悉的語言書寫程序。 語言的人機交互動能 選用的語言必須能夠提供友好、美觀的人機交互功能,這對用戶來說是非常重要的。 軟件工具 如果某種語言有較豐富的支持程序開發(fā)的軟件工具可以利用,則使系統(tǒng)的實現(xiàn)和調(diào)試都變得比較容易。 開發(fā)人員的知識 雖然對于有經(jīng)驗的程序員來說,學習一種新語言并不困難,但要完全掌握一種新語言并用它編出高質(zhì)量的程序來,卻需要經(jīng)過一段時間的實踐。因此,如果可能的話,應該盡量選擇一種已經(jīng)為程序員所熟悉的語言。 軟件可移植性 如果開發(fā)出的系統(tǒng)軟件將在不同的計算機上運行,或打算在某個部門推廣使用,那么應該選擇一種通用性強的語言。,按程序開發(fā)路徑劃分 1、自頂向下的方法 要求程序員首先

6、實現(xiàn)軟件結構的最高層次,之后再實現(xiàn)下一個層次,直至用程序設計語言實現(xiàn)最低層次為止。 2、自底向上的方法 與上述方法開發(fā)過程相反,它是從最底層開始,直至實現(xiàn)最高層次為止。 通常用自頂向下的開發(fā)方法開發(fā)的程序可讀性好,條理分明,可靠性也較高。而用自底向上開發(fā)方法得到的程序往往局部是最優(yōu)的,系統(tǒng)的整體結構卻較差。,程序設計方法,程序設計的基本要求,正確性 編出的程序,能夠嚴格按照規(guī)定的要求,準確無誤地提供預期的全部信息; 可理解性 程序的內(nèi)容清晰、明了,便于閱讀和理解; 可靠性 程序應具有較好的容錯能力,不僅正常情況下能正確工作,而且在異常情況下應便于處理; 可維護性 程序的應變性能強。程序執(zhí)行過程

7、中,發(fā)現(xiàn)問題或客觀條件有了變化,調(diào)整和修改程序比較簡便易行; 效率 程序的結構嚴謹、明了,運算處理速度快,節(jié)省機時。程序和數(shù)據(jù)的存儲、調(diào)用安排得當,節(jié)省存儲空間。 健壯性 是指系統(tǒng)對錯誤操作、錯誤數(shù)據(jù)輸入 能予以識別與禁止的能力,不會因錯誤操作、錯誤數(shù)據(jù)輸入及硬件故障而造成系統(tǒng)崩潰。,明確條件和要求 根據(jù)系統(tǒng)設計及其他有關資料,弄清該程序設計的條件和設計要求。 分析數(shù)據(jù) 對要處理的數(shù)據(jù)進行仔細分析,弄清數(shù)據(jù)的詳細內(nèi)容和特點。 確定流程 用統(tǒng)一規(guī)定的符號,描述數(shù)據(jù)輸入、加工、輸出等處理過程。 編寫程序 采用某種程序設計語言,按其規(guī)定的語法把確定的流程編寫出來。 檢查和調(diào)試 對編好的程序進行檢查和

8、調(diào)試。 編寫程序使用說明書,程序設計的步驟,采用有實際意義的標識符 不用過于相似的變量名 同一標識符不要具有多種含義 名字不要過長,過長的名字會增加工作量。 在編程前最好能對標識符的選取約定統(tǒng)一的標準,便于以后閱讀理解。,標識符的命名: 標識符包括模塊名、變量名、常量名、過程名以及數(shù)據(jù)區(qū)名等。理解程序中這些名字的含義是理解程序的關鍵,所以標識符應該適當選取,使其直觀,易于理解和記憶。,編程風格,不要為了節(jié)省空間而把多個語句寫在同一行; 避免過于復雜的條件測試; 利用括號使多條件表達式清晰直觀; 把同一層次的語句行左端對齊,而下一層的語句向右邊縮進若干格書寫,它能體現(xiàn)程序邏輯結構的深度。,程序的

9、書寫格式: 編程時應注意每個語句力求簡單而直接,不能為了提高效率而使程序過于復雜。恰當?shù)臅鴮懜袷綄⒂兄陂喿x。,注釋應正確,修改程序時應同時修改注釋,否則會起反作用。 注釋應提供一些程序本身難以表達的信息。 為了方便用戶今后維護,注釋中盡量多用漢字。,程序的注釋: 程序的注釋序言性注釋出現(xiàn)在模塊的首都,內(nèi)容應包括:模塊功能說明;界面描述(如調(diào)用語句格式、所有參數(shù)的解釋和該模塊需調(diào)用的模塊名等);某些重要變量的使用、限制;開發(fā)信息(如作者、修改日期等)。 描述性注釋嵌在程序之中,用來說明程序段的功能或數(shù)據(jù)的狀態(tài)。,對所有的輸入數(shù)據(jù)都進行檢驗; 檢查輸入項各種重要組合的合理性; 應允許缺省值; 輸

10、入步驟和操作盡可能簡單,并保持簡單的輸入格式。,程序的輸入和輸出: 程序的輸入和輸出信息與用戶的使用直接相關,輸入和輸出的方式和格式應方便用戶使用。編寫程序是應注意:,結構化程序設計(StructuredProgramming, 簡稱SP)方法是E.Djkstra等人于 1972年提出,用于詳細設計和程序設計階段,指導人們用良好的思想方法,開發(fā)出易于理解、又正確的程序的一種程序設計方法。 它建立在Bohm和Jacopini在1966年就證明了的結構定理的基礎上,它指出任何程序邏輯結構都可以用順序、分支和循環(huán)這三種基本結構來表示。,結構化程序設計,SP方法用三種基本結構反復嵌套構成“結構化的程序

11、”。每種結構嚴格地只有一個入口和一個出口,所以一般認為,結構化程序設計是采用自頂向下逐步求精的設計方法和單入口單出口的控制技術。 由于結構化程序具有結構清晰、易于閱讀和修改、容易驗證其正確性等優(yōu)點,因此使用該方法有利于編寫出結構良好的程序,提高編程工作效率。 目前,多種計算機程序語言都支持結構化程序設計。,結構化程序設計(SP)特點:,第三節(jié) 系統(tǒng)測試,系統(tǒng)測試是管理信息系統(tǒng)開發(fā)過程中十分重要的環(huán)節(jié)。盡管在系統(tǒng)開發(fā)周期的各個階段均采取了嚴格的技術審查,但依然難免留下差錯,這些差錯如果沒有在投入運行前的系統(tǒng)測試階段被發(fā)現(xiàn)并糾正,問題遲早會在運行中暴露出來,到那時要糾正錯誤將會付出更大的代價。,測

12、試的目的、原則和過程,系統(tǒng)測試是保證系統(tǒng)質(zhì)量的關鍵步驟。統(tǒng)計資料表明,對于一些較大規(guī)模的系統(tǒng)來說,系統(tǒng)測試的工作量往往占系統(tǒng)開發(fā)總工作量的40%以上,開發(fā)費用的近1/2。 到目前為止,人們還無法證明一個大型復雜程序的正確性,只能依靠一定的測試手段來說明該程序在某些條件下沒有發(fā)生錯誤。所以在測試時應想方設法使程序的各個部分部投入運行,力圖找出所有錯誤。,發(fā)現(xiàn)系統(tǒng)中的錯誤并及時糾正。,測試的目的,測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程,系統(tǒng)測試就是要在計算機上以各種可能的數(shù)據(jù)和操作條件反復地對程序進行試驗,發(fā)現(xiàn)存在的錯誤并及時加以修改,使其符合設計要求; 好的測試方案是很可能發(fā)現(xiàn)迄今為止尚未發(fā)

13、現(xiàn)錯誤的測試方案; 成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。,G.Myers對測試目標做出了如下歸納:,測試人員應避免測試自己設計的程序; 測試用例應分別考慮輸入和輸出; 測試數(shù)據(jù)的選取應考慮各種不同情況; 檢查程序是否執(zhí)行了規(guī)定以外的操作; 注意保留測試用例; 對已發(fā)現(xiàn)的錯誤模塊要足夠重視。,測試的基本原則,測試過程,單元測試:對軟件單元(模塊)進行測試,確實保證它作為一個單元能正常地工作。 集成測試:把經(jīng)過測試的單元按一定順序組裝成為系統(tǒng),進行測試,又稱接口測試。,確認測試:根據(jù)軟件需求規(guī)格說明中定義的全部功能、性能、可靠性等需求,測試整個軟件是否達到要求。 系統(tǒng)測試:將通過確測試

14、的軟件與系統(tǒng)中其它的軟件、硬件人員、數(shù)據(jù)等結合在一起,在真實的系統(tǒng)工作環(huán)境下檢驗軟件是否能與系統(tǒng)正確連接,并確認軟件是否與用戶需求(系統(tǒng)需求)一致。,測試與開發(fā)過程的關系,測試的方式,靜態(tài)測試,靜態(tài)測試是指通過人工方式評審系統(tǒng)文檔和程序,在不實際運行程序的情況下,找出編譯不能發(fā)現(xiàn)的錯誤。這種方法手續(xù)簡單,是一種行之有效的檢驗手段。經(jīng)驗表明,組織良好的靜態(tài)測試可以發(fā)現(xiàn)程序中3070的編碼和邏輯設計錯誤,從而可以減少動態(tài)測試的負擔,提高整個測試工作的效率。,個人復查:指源程序編完以后,直接由程序員自己進行檢查。 走查:測試在預先閱讀過該軟件資料和源程序的前提下,由測試人員扮演計算機的角色,用人工方

15、法將測試數(shù)據(jù)輸入被測程序,并在紙上跟蹤監(jiān)視程序的執(zhí)行情況, 讓人代替機器沿著程序的邏輯走一遍, 發(fā)現(xiàn)程序中的錯誤。由于人工運行很慢,因此走查只能使用少量簡單的測試用例,實際上走查只是個手段,是在“走”的進程中不斷從程序中發(fā)現(xiàn)錯誤。 會審:由程序作者逐個閱讀和講解程序,測試人員逐個審查、提問,討論可能產(chǎn)生的錯誤。會審要對程序的功能、結構及風格等全面進行審定。,動態(tài)測試,動態(tài)測試是運用事先設計好的測試用例,有控制地運行程序,從多種角度觀察程序運行時的行為, 對比運行結果與預期結果 的差別以發(fā)現(xiàn)錯誤。也就是說,動態(tài)測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序。因此,動態(tài)測試的關鍵問題是如何設計測試用例,即設計一批測

16、試數(shù)據(jù),通過有限的測試用例,在有限的研制時間、研制經(jīng)費的約束下,盡可能多地發(fā)現(xiàn)程序中的錯誤。 動態(tài)測試可分為黑盒法和白盒法,在不同的測試階段可采用不同的方法或交叉使用這兩種方法。,1、黑盒測試:將被測試程序?qū)ο罂醋骱诤凶樱豢紤]其內(nèi)部程序結構與處理過程,僅僅對于程序接口進行測試。即檢查適當?shù)妮斎胧欠衲軌虍a(chǎn)生適當?shù)妮敵?。又稱為功能測試,數(shù)據(jù)驅(qū)動測試,基于規(guī)格說明書的測試。,用黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件中確定測試數(shù)據(jù),來檢查程序是否都能產(chǎn)生正確的輸出,但這是不可能的。,示例: 假設一個程序P有輸入量X和Y及輸出量Z。在字長為32位的計算機上運行。若X、Y取整數(shù),按黑盒方法進

17、行窮舉測試: 可能采用的測試數(shù)據(jù)組:232232264 如果測試一 組數(shù)據(jù)需要1毫秒,一年工作365 24小時,完成所有測試需5億年。,2、白盒測試:分析程序結構與過程執(zhí)行路徑,按照程序內(nèi)部的邏輯結構設計測試用例,檢驗程序的每條通路是否按預期正常進行,力求提高測試覆蓋率。又稱為結構測試,玻璃盒測試,基于覆蓋的測試。,最徹底的白箱法是覆蓋程序中的每一條路徑。然而,由于大型復雜程序中的邏輯路徑數(shù)目太多,致使不可能將全部路徑都覆蓋。,示例: 給出一個小程序的流程圖,它包括了一個執(zhí)行20次的循環(huán),循環(huán)體中包含5條路徑。 它包含的不同執(zhí)行路徑數(shù)達520條,對每一條路徑進行測試需要1毫秒,要想把所有路徑測

18、試完,需3170年。,測試用例的設計,不論黑盒還是白盒測試都不能進行窮盡測試, 所以軟件測試不可能發(fā)現(xiàn)程序中存在的所有錯誤, 因此需精心設計測試用例, 力爭盡可能少的次數(shù),測出盡可能多的錯誤.,把所有可能的輸入數(shù)據(jù)劃分成若干部分(等價類),并從每個等價類中選取一個典型代表數(shù)據(jù)作為測試用例,并假設在一個等價類中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等價的。 通常是將模塊的輸入域劃分成有效等價類(模塊中符合規(guī)范的輸入)和無效等價類(模塊中非法的輸入)兩種。,等價類劃分法(黑盒類),劃分等價類的規(guī)則 1、如果輸入條件代表一個范圍,可定義一個有效等價類和兩個無效等價類。 例:某模塊的合理輸入是1999

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

20、效等價類(四個職稱每個值為一類);一個無效等價類(四個職稱之外的任意值)。,4、如果規(guī)定了輸入條件必須遵守的規(guī)則,則可劃分一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。,例:如果規(guī)定了輸入數(shù)據(jù)是整型,則可劃分出一個有效等價類(輸入整數(shù));若干個無效等價類(輸入字符、實數(shù))。,用等價類劃分法確定測試用例步驟:,1、形成等價類表,每一等價類規(guī)定一個唯一的編號; 2、設計一測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類,重復這一步驟,直到所有有效等價類均被測試用例所覆蓋; 3、設計一新測試用例,使其只覆蓋一個無效等價類,重復這一步驟直到所有無效等價類均被覆蓋;,例:某城市電話

21、號碼由三部分組成 地區(qū)碼:空白或3位數(shù)字 前 綴:非0或1開頭的三位數(shù)字 后 綴:4位數(shù)字,第一步:電話號碼等價類劃分,第二步:確定測試用例 可通過下面13個測試用例覆蓋所有等價類。,邊界值分析法(黑盒類),在編寫程序時,往往只注意正常情況,忽視了邊界狀態(tài)。因此,在測試過程中以剛好等于、大于或小于邊界值的數(shù)據(jù)作為測試數(shù)據(jù),容易發(fā)現(xiàn)程序中的錯誤。 邊界是相對于輸入等價類和輸出等價類而言,稍高于其邊界值及稍低于其邊界值的一些特定情況。 使用邊界值分析方法設計測試用例,應對確定的邊界,選取正好等于,剛剛大于,或剛剛小于邊界的值做為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。,邊界值分析

22、法設計測試用例原則 1、如輸入條件代表以a和b為邊界的范圍,測試用例應包含a、b、略大于a和略小于b的值。 例:郵件收費規(guī)定 15 kg收費2元,則應設計測試用例: 0.9、1、 5、5.1 kg,2、如果輸入條件規(guī)定了輸入值的個數(shù),則用最大個數(shù)、最小個數(shù)、比最大個數(shù)多1、比最小個數(shù)少1的數(shù)作為測試數(shù)據(jù)。 例:一個輸入文件可有1255個記錄,則可分別設計有: 1個、255個、0個、256個記錄的輸入文件,3、 如規(guī)格說明中提出輸入輸出的有序集(順序文件、有序表等),取有序集的第一個和最后一個元素做測試用例。,4、如程序數(shù)據(jù)結構有預定的邊界,應測試其邊界的數(shù)據(jù)項。 例:程序中定義一數(shù)組,其元素下

23、標的下界是0,上界是100,則應選擇達到這個數(shù)組下標邊界的值,如0與100作為測試用例。,5、如輸出條件規(guī)定了取值范圍,取邊界上下浮動值做測試用例。 例: 每日保險扣除額(輸出項)在01165.25 元,則應設計測試用例使其恰好產(chǎn)生0元和1165.25元的結果, 此外還應考慮設計結果為負值或 1165.25元的測試用例,如: -0.01元和1165.26元)。 由于輸入值的邊界不與輸出值的邊界相對應,所以要檢查輸出值的邊界及產(chǎn)生超出輸出值值域的結果不一定可能。,邏輯覆蓋測試法(白盒類),用白盒法測試模塊時,最徹底的就是覆蓋程序中的每一條路徑,然而,由于大型復雜程序中的邏輯路徑數(shù)目太多,致使不可

24、能將全部路徑都覆蓋。因此采用其它一些標準來量度覆蓋的程度,并希望覆蓋程度盡可能高些。,例:一個被測程的程序段如下所示:,路徑: L1:ace L2:abd L3:abe L4:acd,1、語句覆蓋 執(zhí)行足夠多的測試用例,使得被測程序中每個可執(zhí)行語句至少被執(zhí)行一次。 上例中只需設計一個測試用例: 【(2, 0, 4),(2, 0, 3)】,覆蓋ace(L1),即達到了語句覆蓋。 語句覆蓋是最弱的覆蓋標準。,2、判定覆蓋(邊覆蓋) 執(zhí)行足夠多的測試用例,使得被測程序中每個語句至少被執(zhí)行一次,且每個判斷的真假分支至少執(zhí)行一次。 上例中可設計兩組測試用例: 【(2, 1, 1),(2, 1, 2)】,

25、覆蓋 abe【L3】 【(3, 0, 3),(3, 0, 1)】,覆蓋 acd【L4】 兩組測試用例可覆蓋所有判定的真假分支 判定覆蓋仍是弱的覆蓋標準。,3、條件覆蓋 執(zhí)行足夠多的測試用例,使得被測程序中每個判定的每個條件的可能值至少執(zhí)行一次。,設條件的取值標記,條件覆蓋可選取的 測試用例 如下表,【(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、判定/條件

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

27、的組合: (1)A1, B=0 (2) A1, B0 (3) A0 (5) A=2, X1 (6) A=2, X2, X1 (8) A2, X=1,設條件的取值標記,【(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,

28、 4), (2, 0, 3)】,ace L1,T1 T2 T3 T4,【(1, 1, 1), (1, 1, 1)】,abd L2,【(1, 1, 2), (1, 1, 3)】,abe L3,【(3, 0, 3), (3, 0, 1)】,acd L4,設條件的取值標記,單元測試,對軟件單元進行測試,確實保證它作為一個單元能正常地工作。 單元測試的目的是驗證單元滿足功能、性能和接口等的要求。 單元測試采用的技術:主要采用白盒測試,輔之以黑盒測試。 測試的充分性:由各種測試覆蓋率來度量,單元測試的內(nèi)容 模塊接口 局部數(shù)據(jù)結構 重要的執(zhí)行路徑 出錯處理 邊界測試,單元測試的環(huán)境,模塊并不是一個獨立的程

29、序,在考慮測試模塊時,同時要考慮它和外界的聯(lián)系,用一些輔助模塊去模擬與被測模塊相聯(lián)系的其它模塊。,驅(qū)動模塊:驅(qū)動模塊是模擬待測模塊的調(diào)用模塊,其作用是將測試數(shù)據(jù)傳送給待測模塊,并顯示結果。,樁模塊:樁模塊的作用是模擬待測模塊的下層模塊,其作用是接受待測模塊的控制并模擬下層模塊的功能。,集成測試,依據(jù)軟件設計確定的軟件結構,按照軟件集成“工序”,把各個軟件單元逐步集成為完整的軟件系統(tǒng),并不斷發(fā)現(xiàn)和排除錯誤,以保證聯(lián)接、集成的正確性。,非增量方式測試 先分別測試每一個模塊,然后一次組裝在一起再測試整個程序。,非增量方式的優(yōu)點: a.非增量方式占用機器時間較少。 b.非增量方式有利于并行測試。 非增

30、量方式的缺點: a. 需編寫太多的驅(qū)動模塊和樁模塊。 b. 接口錯誤發(fā)現(xiàn)得晚。 c. 難以確定錯誤源的位置。,漸增式測試 采用每次增加一個模塊的方式進行測試,既把下一個要測試的模塊與測試好的那些模塊結合起來進行測試,這樣邊組裝邊測試,直到構成一個完整的系統(tǒng)為止。,漸增式的優(yōu)點: a. 漸增式可以較早地發(fā)現(xiàn)模塊界面之間的錯誤 b. 漸增式有利于排錯 c. 漸增式比較徹底 漸增式的缺點: a. 漸增式需要較多的機器時間 b. 漸增式的測試工作無法并行,自頂向下方法,1、主控模塊用作為測試模塊兼驅(qū)動模塊,直接附屬于主控模塊的各模塊全都用樁模塊代替,對主模塊進行測試。 2、按照所選的組裝法(即深度優(yōu)先

31、或?qū)挾葍?yōu)先)每次用一個真模塊取代一個附屬的樁模塊,再用樁模塊代替它們的直接下屬模塊。 3、進行回復測試(即重新再作過去作過的全部或部分測試),以便肯定沒有新的錯誤發(fā)生。 4、作完每一組測試后又再用一個真模塊代替另一個樁模塊。,自底向上集成方法,1、低層的模塊組成簇,以執(zhí)行某個特定的軟件子功能。 2、編寫一個驅(qū)動模塊作為測試的控制程序,和被測試的簇連在一起,負責安排測試用例的輸入及輸出。 3、對簇進行測試。 4、拆去各個小簇的驅(qū)動模塊,把幾個小簇合并成大簇,再重復做2、3及4步。 這樣在軟件結構上逐步向上組裝。,自頂向下結合的優(yōu)點在于和子系統(tǒng)整體有關的接口問題可以在子系統(tǒng)測試的早期得到解決,但設

32、計測試用例和編寫樁模塊比較困難。 自底向上結合的優(yōu)點在于設計測試用例和編寫驅(qū)動模塊比較容易,但它必須在最后一個模塊組裝出來之后,才能使模塊群作為一個整體存在。 由于上述兩種方法具有互補性,一般常結合起來進行。即對子系統(tǒng)的較上層模塊使用自頂向下的組裝方法,對下層模塊使用自底向上的組裝方法。,確認測試,安全測試:是指測試系統(tǒng)對外來有意或惡意攻擊的自我保護能力。 恢復測試:是指系統(tǒng)出現(xiàn)意外故障時,能否正確和迅速恢復的測試。 有效性測試:通過測試來證實系統(tǒng)功能與用戶要求一致。 功能測試:是在規(guī)定的一段時間內(nèi)運行軟件系統(tǒng)的所有功能,以驗證這個軟件系統(tǒng)有無嚴重錯誤。 性能測試:是要檢查系統(tǒng)是否滿足在需求說

33、明書中規(guī)定的性能。特別是對于實時系統(tǒng)或嵌入式系統(tǒng)。 操作測試:包括對用戶接口、人機接口和人機交互要求的所有測試。 驗收測試:驗收測試必須由用戶參加或者以用戶為主進行。它是用戶在實際應用環(huán)境中所進行的真實數(shù)據(jù)的測試,驗收測試主要使用原有系統(tǒng)所用過的歷史數(shù)據(jù),將新系統(tǒng)運行結果和原系統(tǒng)所得相核對,以檢查系統(tǒng)的可靠性和運行效率。,第四節(jié) 系統(tǒng)切換、維護,系統(tǒng)切換:新舊系統(tǒng)的交替過程,也就是舊的管理信息系統(tǒng)逐漸退出,由新的管理信息系統(tǒng)來代替。,人員培訓,企業(yè)各層次人員參與管理信息系統(tǒng)的操作、維護、運行,因而,必須對企業(yè)各層次人員開展有針對性的培訓以確保管理信息系統(tǒng)正常運行并充分發(fā)揮作用。,1、事務管理人

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

溫馨提示

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

最新文檔

評論

0/150

提交評論