信息系統工程_第1頁
信息系統工程_第2頁
信息系統工程_第3頁
信息系統工程_第4頁
信息系統工程_第5頁
已閱讀5頁,還剩83頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第10章實現與測試●系統實現●測試●系統過渡本章內容一系統實現1.1概述

1.系統實現的任務和工作

1)系統實現的任務

通過一系列集成過程,把信息系統的設計模型轉變成為可以交付測試的信息系統,其重心是實現信息系統的軟件。

★信息系統軟件:由源程序代碼、二進制可執行代碼和相關的數據結構構成,這些內容以構件的形式被組織。

2)系統實現的工作:

▲確定系統的實現結構;

▲實現子系統,包括其中的類和接口;

▲單元測試;

▲系統集成等。

2.實現工作的特點

1)基于構件的實現●基于構件的實現:實現的工作需要把信息系統的設計模型,轉變成為信息系統的實現構件,這些構件通過確定的連接接口,組裝成為最終的信息系統軟件。●構件的概念:信息系統軟件的構成件。可表現為分析件、設計件、實現件、測試件等不同形式。

●構件的表示:在UML中,構件通過以下形式來表示:●構件的種類:一般的EXE程序文件也叫做OLE控件,它是一些軟件組件或對象,可以將其插入到WEB網頁或其它應用程序中。Java運行在瀏覽器上的程序塊,是繼承Applet類。●構件的種類:Java應用程序數據庫動態連接庫:多個程序可同時使用的代碼或數據庫●構件的種類:主程序任務體基本框架實現之初第1次集成子系統1基本框架當前系統第2次集成子系統2當前系統當前系統第n次集成當前系統子系統n信息系統

2)基于集成的實現

集成是指把多個相對獨立的構件或部分,根據目標的需要構成和諧、兼容和相互聯系的整體,信息系統是以集成的方式實現的。圖11.2系統實現工作過程3.實現的工作過程

1.2實現結構

1.實現結構的概念

實現結構(ImplementationArchitecture)是信息系統在實現階段所呈現的系統結構,它由各個子系統按照確定的組成關系構成。

▲實現結構與設計結構的相同點系統框架完全相同,子系統的數目和相互之間的關系也完全一致。

▲實現結構與設計結構的區別兩者子系統中的內容不同。設計子系統中包括功能邏輯設計、類的設計,而實現結構的子系統中則是構件和接口。實現結構與設計結構的區別:

2.確定實現結構

1)由設計結構得出實現結構

如果對子系統內部的內容不加區分,實現結構與設計結構完全相同。因此,可以把設計模型中的軟件結構直接轉換為信息系統的實現結構。

2)構件設計

構件的實現是在集成式的迭代過程中逐步完成的。但在結構實現中應該首先確定本子系統涉及到的構件。

圖書銷售接點

案例分析

售書處理子系統:提取的業務對象案例分析

“售書處理”子系統的構件

2.類的實現

類實現的工作:生成類,編寫類屬性代碼,編寫類操作代碼等。

●樓宇管理概念類圖●樓宇管理類圖

●樓宇管理界面類樓宇信息管理界面房間信息管理界面樓宇信息管理界面程序:

●樓宇管理實體類樓房實體類程序:房間實體類程序:

●樓房管理器控制類樓房管理器控制類程序:

1.3系統集成1.系統集成的概念

系統集成按照設計要求,把構件組裝成為最終可交付使用的信息系統的工作。系統集成的要素是構成信息系統的構成件。構成件包括:

▲開發件:包括所有代碼件、數據庫、文件等。

▲購入件:包括從原系統中繼承的構件,從其它廠家購入的構件,以及從基礎構件庫中引用的構件等。

▲中間件。

系統集成需要把這些構件有效地構裝成為最終系統。

2.系統集成的特點

系統集成是一個漸進的、逐步迭代的過程。需要通過多次迭代構成最終系統。在每一次迭代中:

●把多個類集成為構件

●把多個構件集成為子系統實現框架實現之初第1次集成子系統1實現框架當前系統第2次集成子系統2當前系統當前系統第n次集成當前系統子系統n信息系統

2)基于集成的實現

3.系統集成過程

1)設置集成環境。集成的基礎環境是系統開發的環境。除此之外,為了有效地實施集成,常常還需要設置一些特殊環境。例如,設置特殊數據,編寫集成所要的特定集成程序等。

2)組裝。把所要集成的構成件通過匯合、編譯、連接等過程,形成可以運行的中間系統。

3)集成測試。查找其中所存在的問題以及不協調的地方,形成能夠達到預期目標的中間結果。二測試內容1概述2靜態測試3動態測試4單元測試5集成測試6系統測試7驗收測試

1.1測試的概念測試的定義

通俗說法:找出一段程序或者一份信息系統文檔中問題的工作

,就叫做信息系統測試。IEEE給出的測試定義:測試使用人工的或自動的手段來運行或檢測某個系統的過程,其目的在于檢驗它是否滿足約定的需求或是比較預期結果與實際結果之間的差別。測試的對象-文檔-程序

1.1測試的概念測試的目的

能夠證明信息系統正常工作發現錯誤以提高信息系統質量,進行質量控制常見誤區:發現錯誤是信息系統測試的唯一目的1.2測試的過程測試工作的主要內容

理解信息系統產品的功能要求和設計內容,并對其進行測試,檢查信息系統是否與用戶需求一致、是否與設計一致,寫出相應測試結果報告。1.2測試的過程測試工作的流程需求分析結構設計詳細設計編碼實現需求分析審查結構設計審查詳細設計審查代碼審查系統測試設計集成測試設計單元測試設計系統測試實施集成測試實施單元測試實施信息系統測試=靜態測試+動態測試靜態測試動態測試設計階段測試階段信息系統開發驗收測試設計驗收測試實施驗收1.3測試的原則常用原則測試應該“盡早地和不斷地進行”。要清楚地知道完全測試程序是不可能的。所有的測試都應追溯到用戶需求。將Pareto原則(80%的錯誤都起源于程序模塊中的20%)應用于信息系統測試。為了達到最佳效果,應該由獨立的第三方來設計并實施測試。保證測試用例的完整性和有效性。內容1概述2靜態測試

3動態測試4單元測試5集成測試6系統測試7驗收測試

2.1靜態測試的概念靜態測試的概念

-靜態測試是指不執行程序,對文檔以及代碼進行的測試。-靜態測試的對象是文檔和程序。

2.1靜態測試的概念靜態測試的特點 -主要由人手工方式進行,可以充分發揮人主動性 -實施不需要特別條件,容易開展 -一旦發現錯誤就知道錯誤的性質和位置,不需要查錯,因而修改成本低非常重要并且行之有效的測試方法!大公司的經驗值:靜態測試檢測出的錯誤

數可占總錯誤數的80%以上

2.2靜態測試的方法靜態測試的方法

審查:個人審查/會議審查(適用于文檔和代碼)走查:會議走查(只適用于代碼)建議:對于一個團隊中新人比較多的時候推薦使用會議審查的方法。內容1概述2靜態測試3動態測試4單元測試5集成測試6系統測試7驗收測試

3.1白盒法與黑盒法的區別與聯系

白盒法:

完全了解程序的結構和處理過程的情況下設計測試用例的一種方法。黑盒法:不考慮程序的內部結構和處理過程,僅僅根據程序的功能來設計測試用例的一種方法。

A只有黑盒測試

可檢出的bug

C只有白盒測試

可檢出的bug

B白/黑盒測試都可檢出的bug

D白/黑盒測試都不可檢出的bug3.2白盒法白盒法的技術指標:覆蓋率

白盒法的例子程序和對應流程圖例1:源程序voidsample(intA,intB,floatC){if((A>1)&&(B==0)){C=C/A;}if((A==2)||(C>1)){C=C+1;}}3.2白盒法1.語句覆蓋:指程序中的每個可執行語句至少被執行一次的測試。例1的語句覆蓋測試用例:(1)A=2,B=0,C=3幾條語句全得到執行例1:源程序voidsample(intA,intB,floatC){if((A>1)&&(B==0)){C=C/A;}if((A==2)||(C>1)){C=C+1;}}3.2.白盒法2.判定覆蓋:指程序中的每個分支至少執行過一次的測試。例1的判定覆蓋測試用例:(1)A=3,B=0,C=0(路徑:acd)(2)A=2,B=1,C=1(路徑:abe)acd,abe兩個分支得到執行3.2白盒法3.條件覆蓋:指每一個判定條件中的每一個條件至少獲得過一次可能的值的測試

。例1中在a點條件覆蓋測試用例:(1)A=3,B=0(2)A=1,B=1判定覆蓋關心整個判定表達式的值條件覆蓋關心判定表達式中的每個條件的值既滿足判定覆蓋,又滿足條件覆蓋3.2白盒法4.判定/條件覆蓋:同時滿足判定覆蓋和條件覆蓋的測試。例1的判定/條件覆蓋測試用例:(1)A=2,B=0,C=4(路徑:ace)(2)A=1,B=1,C=1(路徑:abd)3.2白盒法5.條件組合覆蓋:指列出判定中所有條件的各種組合值,每一個可能的條件組合至少被執行一次的測試。例1的條件組合覆蓋測試用例:(1)A=2,B=0,C=4(使得1和5的情況出現,路徑:ace)(2)A=2,B=1,C=1(使得2和6的情況出現,路徑:abe)(3)A=1,B=0,C=2(使得3和7的情況出現,路徑:abe)(4)A=1,B=1,C=1(使得4和8的情況出現,路徑:abd)每一個可能的條件至少被執行一次3.2白盒法6.路徑覆蓋:指程序中所有可能的路徑都被至少執行過一次的測試。例1的路徑覆蓋測試用例:(1)A=2,B=0,C=4(路徑:ace)(2)A=3,B=0,C=1(路徑:acd)(3)A=1,B=0,C=2(路徑:abe)(4)A=1,B=1,C=1(路徑:abd)所有路徑被執行一次3.2白盒法白盒法小結測試的強度

弱↓強

類型說明語句覆蓋每個可執行語句至少要執行一次判定覆蓋每個判定分支至少執行過一次條件覆蓋每一個判定條件中的每一個條件至少獲得過一次可能的值判定/條件覆蓋同時滿足判定覆蓋和條件覆蓋的要求條件組合覆蓋列出判定中所有條件的各種組合值,每一個可能的條件組合至少被執行一次最好的測試應該是條件組合覆蓋與路徑覆蓋的結合測試至少應該達到判定/條件覆蓋3.3黑盒法等價類劃分法等價類是指某個輸入域的子集和。

有效等價類是指對于程序的規格說明來說是合理的,有意義的輸入數據集合

無效等價類是指對于程序規格說明來說是不合理的,沒有意義的數據集合例:有效/無效等價類測試用例有效等價類0分-59分“50”60分-100“78”無效等價類0分以下“-23”100分以上“156”非整數“63.5”非數字的輸入“ab”輸入為空“”3.3黑盒法邊界值分析法經驗表明處理邊界情況時程序最容易發生錯誤,要特別注意重點測試。例:等價類劃分中的例子有效/無效等價類測試用例說明有效等價類0分-59分“0”最小邊界值“1”比最小邊界值稍微大一點“50”中間任意值“58”比最大邊界值稍微小一點“59”最大邊界值60分-100“60”最小邊界值。。。。。。。。。。。。3.3黑盒法錯誤推測法

基本思想:列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例。

實際測試中并不單獨使用一種方法,而應該通過多種方法的綜合使用,以便設計出高效率的測試用例

內容1概述2靜態測試3動態測試4單元測試

5集成測試6系統測試7驗收測試

4.1單元測試概述單元測試內容

對程序的基本組成單元進行的測試,驗證每個單元是否完成了設計的預期功能

單元的含義一個函數,一個過程,或者一個類(可以根據具體情況劃分)單元測試的步驟設計和編寫測試用例構造測試環境和設置測試數據實施測試修改與回歸測試提交測試報告4.1單元測試概述單元測試中的兩種重要的函數

驅動函數是指調用被測單元的主程序。樁函數是指被測單元中調用到的一些還沒有完成的函數的替代程序。4.2單元測試的策略單元測試中的幾種常見策略策略優點缺點適用性自頂向下單元測試1.省去驅動模塊的設計2.提供部分集成測試的基礎并行性較差樁程序復雜度高自底向上單元測試1.省去樁模塊的設計2.提供部分集成測試的基礎并行性較差驅動程序復雜度高獨立單元測試可以并行,工作效率高需要同時設計驅動程序和樁程序最容易實施實際中可以多種方法進行結合來實施測試4.3面向對象的單元測試與非面向對象測試的最大差別:1.所有的方法看成是類的一部分來測試2.特別注意對類的繼承特性和多態特性進行的測試一般類的測試方法--隨機測試:根據實際可運行的各個方法的要求(比如一個文件的最小操作序列:open,read,close)進行隨機操作組合。--劃分測試:從不同的方面對類進行分類測試

例如:基于狀態/屬性/功能的劃分4.3面向對象的單元測試父子類的測試方法分層增量測試:指通過分析來確定子類中哪些部分需要添加測試用例,哪些繼承的測試用例需要運行,以及哪些繼承的測試用例不需要運行的測試方法。抽象類測試:類測試時需要建構一個類的實例之后再在進行測試目前有很多比較成熟的單元測試工具:CppUnit,C++Test,Jtest等等內容1概述2靜態測試3動態測試4單元測試5集成測試

6系統測試7驗收測試

5.1集成測試概述集成測試的內容

集成測試是在單元測試的基礎上,將所有的模塊按照系統設計的要求聯合起來進行的測試。集成測試的對象

經過單元測試之后的程序集成測試的方法

大部分是白盒法集成測試的步驟基本與單元測試相同集成測試和單元測試的不能互相替代的:-集成測試關注的是各個模塊的接口,以及各個模塊組合之后是否運行正常,單元測試關注的是每個單元,每個模塊內部處理。5.2集成測試的策略集成測試的策略一次性集成方式漸增式集成方式集成測試特別提醒:一般集成測試都是多個人聯合進行,所以要求各個測試人員要及時交流,密切配合,不能有思想上的依賴。內容1概述2靜態測試3動態測試4單元測試5集成測試6系統測試

7驗收測試

6系統測試測試實施方法:一般采用黑盒法系統測試的內容:-功能測試、-性能測試-兼容性測試-壓力測試-。。。系統測試有的場合下會借助測試工具來進行測試。例如:Winrunner,LoadRunner等內容1概述2靜態測試3動態測試4單元測試5集成測試6系統測試7驗收測試

7驗收測試驗收測試實施者:一般由用戶,特定的第三方測試機構或者軟件公司的QA部門驗收測試實施方法:一般采用黑盒法驗收測試的內容:功能、安全可靠性、易用性、可擴充性、兼容性、性能、資源占用率、用戶文檔等方面。

α測試和β測試是什么?三過渡與評價

3.1系統過渡

系統過渡是由新信息系統代替舊系統的過程。此階段一般要完成兩項任務:一是整理并輸入真實數據,二是完成系統的切換。

1.數據的整理和輸入

數據整理是按照新建立的信息系統對數據的格式和內容的要求,統一進行數據的收集、分類和編碼。之后,把整理的數據輸入到系統之中。

2.系統切換

1)直接式

直接式是當確定新系統能正常運行后,在某一確定時間,停止舊系統的運行,立即啟用新的信息系統。

優點:簡單、節省費用和人力。

缺點:風險較大。因為新系統沒有真正擔負過實際工作,運行中難免出現預想不到的問題。這種方法僅適用于系統規模小、業務簡單、數據不很重要的應用場合。重要系統不宜采用此種方法。老系統新系統切換(a)直接式

2)并行式

并行式是針對直接式存在的問題,采用并行切換方法,即使新舊信息系統同時運行一段時間,經過一段時間的考驗,對比結果沒有問題后,便可用新系統正式代替舊系統。并行時間一般為3~5個月。這種方法雖沒有多大風險,但費用高、工作量大。

老系統新系統并行(b)并行式3)分段式

分段式是對上面兩種方法的綜合,它的特點是分階段、分部分進行新舊替換,這樣既避免了直接式的風險,又減輕了并行式費用和人力資源的浪費。老系統新系統分段切換(c)分段式

3.2系統移交

當新系統完全取代了舊系統而投入正常運行后,就應該著手準備系統的移交工作,由開發方正式把信息系統的管理權移交給用戶。除了移交信息系統之外,還需同時移交合同規定的信息系統開發的所有技術文檔。

3.3系統評價

1.系統評價的目的

在信息系統正式投入穩定運行之后,就可對所開發的信息系統從技術性能及達到的經濟效益等方面做出總體評價,以檢查信息系統是否達到了預期的目標,并指出系統的優點和不足,提出改進意見。最后據此寫出評價報告,為系統的改進和擴充指出方向。

2.系統評價的內容

1)技術性能評價

技術性能評價的主要內容有以下幾方面:

(1)系統的總體技術水平。主要包括系統的技術先進性、實用性,系統的開放性與集成程度等。

(2)系統功能覆蓋范圍。主要包括對各個管理層次及各業務部門業務的支持程度,用戶要求滿意程度等。

(3)信息資源開發與利用的范圍與深度。主要包括是否通過了信息的集成及功能的集成是否實現了業務流程的優化,人、財、物等資源的合理使用,對市場、客戶等信息的利用率等。

(4)系統本身的質量。如系統的可使用性、正確性、適用性、可維護性、通用性、可靠性等。

(5)系統的安全性與保密性。主要包括業務數據是否會被破壞或被修改,數據使用權限是否得到保障,防攻擊、防侵入的能力等。

(6)系統文檔的完備性。

2)系統效益評價

系統效益評價可分為直接經濟效益評價和間接經濟效益評價。

直接經濟效益評價:包括系統的投資額,運行費用,系統新增效益,投資回收期等。

間接經濟效益評價:包括企業形象,對員工素質提高所起的作用,管理水平的提高,業務重組及管理流程優化,資源的合理利用,提高決策成功率等。系統評價一般需要在系統穩定運行一個時期,例如三個月或半年

溫馨提示

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

評論

0/150

提交評論