第8章 系統(tǒng)實施步驟_第1頁
第8章 系統(tǒng)實施步驟_第2頁
第8章 系統(tǒng)實施步驟_第3頁
第8章 系統(tǒng)實施步驟_第4頁
第8章 系統(tǒng)實施步驟_第5頁
已閱讀5頁,還剩104頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

教學要求掌握系統(tǒng)實施的任務了解系統(tǒng)實施計劃包括的內容掌握程序設計的基本方法掌握系統(tǒng)測試的幾個步驟了解系統(tǒng)測試報告包括哪些內容具備進行系統(tǒng)測試的能力掌握系統(tǒng)轉換的方式和優(yōu)缺點1主要內容8.1系統(tǒng)實施概述8.2程序設計8.3信息系統(tǒng)的測試8.4信息系統(tǒng)的調試28.1系統(tǒng)實施概述

系統(tǒng)實施是MIS開發(fā)的最后一個階段。系統(tǒng)實施是將系統(tǒng)設計的結果付諸實踐,建立計算機硬件環(huán)境和系統(tǒng)軟件環(huán)境,編寫計算機程序,組織系統(tǒng)測試、調試和各類人員培訓,完成系統(tǒng)的切換并最終交付使用。3系統(tǒng)實施階段的主要活動設備的購置與安裝硬件(通信設備、計算機主機、輸入輸出設備、存儲設備),軟件(OS、DBMS、應用程序),附屬設備(穩(wěn)壓電源、空調),計算機機房等程序的編制與測試

選定計算機程序語言,編寫程序,測試模塊數據的錄入人員的培訓系統(tǒng)的測試、調試與轉換4系統(tǒng)實施的內容及流程編程準備編制新系統(tǒng)實施計劃硬件準備計算機硬件安裝與調試程序的編制、測試與調試數據的收集和準備業(yè)務人員培訓新系統(tǒng)調試建立文件(DB)老文件轉換編寫系統(tǒng)操作使用手冊系統(tǒng)轉換新系統(tǒng)維護與評價驗收系統(tǒng)軟件準備系統(tǒng)軟件的消化與調試提前或并行將大大縮短周期5實施階段任務之間的關系程序編制設備購置人員培訓數據準備程序編制—提供調試設備培訓有關人員試用軟件提供試驗數據調試程序設備購置提供對設備的要求—培訓有關人員接受設備提供存儲量和內存要求人員培訓提供程序以培訓人員提供培訓設備—提供培訓的實驗數據數據準備規(guī)定數據準備的內容和格式提供錄入設備提供錄入人員—

注意:不能把系統(tǒng)實施僅僅歸結為編程序或買機器。這些任務是相互聯(lián)系、彼此制約的。6系統(tǒng)實施階段的特點與系統(tǒng)分析與系統(tǒng)設計階段相比,系統(tǒng)實施階段的特點是工作量大,投入的人力、物力多。因此,這一階段的組織管理工作也很繁重。7自頂向下的實現(xiàn)方法系統(tǒng)實施中,就程序的編寫和數據庫實現(xiàn)而言,下層模塊執(zhí)行具體功能,上層模塊是控制性的結構化方法主張自頂向下實現(xiàn),盡量先實現(xiàn)上層模塊,逐步向下,最后實現(xiàn)下層最基本的模塊自頂向下實現(xiàn)的過程是:首先實現(xiàn)系統(tǒng)的輪廓或框架,在此基礎上不斷添加新的功能,逐步完善,最后達到物理模型所要求的全部功能這一實現(xiàn)過程又叫作“版本劃分”。8自頂向下的實現(xiàn)方法(續(xù))具體而言,在實現(xiàn)上層模塊時,與這些模塊有直接調用關系的下層模塊只作為“樹樁”(Stub)出現(xiàn),只保留它的名字及有關參數傳遞。這樣,雖然這些“樹樁”的內部功能還沒有實現(xiàn),但可以測試系統(tǒng)結構的正確性,保證接口通暢。9版本劃分示例處理領料業(yè)務輸入控制處理控制錄入領料單收集領料單復核領料單登記領料單查庫存數發(fā)料缺料復核部門編碼復核材料編碼修改庫存量注明已發(fā)料打印發(fā)料單打印缺貨單打印訂購單10版本的劃分需要考慮以下幾個方面總的原則是,先實現(xiàn)控制部分,后實現(xiàn)執(zhí)行部分,先上層后下層每個版本實現(xiàn)多少模塊、實現(xiàn)哪些模塊要根據開發(fā)力量、設備、培訓等方面的情況確定復雜的模塊分散在幾個版本中逐步實現(xiàn)兼顧功能模塊和數據庫的實現(xiàn)兼顧硬件、軟件、人員培訓方面的情況11自頂向下實現(xiàn)方法的優(yōu)點與傳統(tǒng)的方法相比,該方法:有效地解決了接口問題。接口解決不好,往往不得不對調試過的程序反復修改,甚至推倒重來,造成返工便于對系統(tǒng)的設計方案進行校正,保證系統(tǒng)切實符合用戶的要求便于控制進度,保證研制工作按時完成12系統(tǒng)實施的計劃安排

可采用甘特圖(Gantt)、關鍵路徑法(CPM)、計劃評審技術(PERT)等工具輔助制定系統(tǒng)實施計劃,制定時主要考慮以下幾點:工作量估計實施進度安排系統(tǒng)人員的配備和培訓計劃系統(tǒng)實施的資金籌措和投入計劃138.2程序設計

程序設計即編程(Coding),就是為各個模塊編寫程序。編程的依據是結構圖、判斷樹、判斷表、模塊說明書、系統(tǒng)流程圖等。14選擇程序設計語言時考慮的因素應用領域:選擇語言的關鍵因素算法和計算的復雜性軟件的運行環(huán)境各種性能的考慮數據結構的復雜性程序設計人員的知識水平15好程序的標準什么是好程序?

1950s,計算機內存小、速度慢如今,一般認為好程序具備以下素質:能夠工作(最基本的)調試代價低(衡量程序好壞和程序員水平高低的重要標志)效率高易于維護易于修改設計不復雜可讀性(Readability),1970s邏輯上正確又易于閱讀理解16提高程序可讀性的技巧和方法?17提高程序可讀性的技巧和方法用結構化方法進行詳細設計程序中包含說明性材料良好的程序書寫格式良好的編程風格18結構化程序設計軟件發(fā)展中的三座里程碑子程序高級語言結構化程序設計19結構化程序設計的基本方法限制使用GOTO語句

不用GOTO語句,程序易于閱讀、易于驗證。無限制地使用GOTO語句,將使程序結構雜亂無章、難以閱讀、難以理解,其中容易隱含一些錯誤逐步求精的設計方法在一個程序模塊內,先從該模塊功能描述出發(fā),一層層地逐步細化,直到最后分解、細化成語句為止自頂向下的設計、編碼和調試把逐步求精之法推廣到一個系統(tǒng)的設計與實現(xiàn)20結構化程序設計的基本方法(續(xù))主程序員制的組織形式成員須遵守:不使用可能干擾其他模塊的命令或函數按總體設計的要求傳遞參數,不隨意修改其內容與含義按統(tǒng)一規(guī)定的格式操作公用文件或數據庫按統(tǒng)一的原則使用標識符按統(tǒng)一要求編寫文檔保持程序風格一致21提高程序可讀性的技巧和方法用結構化方法進行詳細設計程序中包含說明性材料良好的程序書寫格式良好的編程風格22程序的內部文檔

程序的內部文檔,指程序內部帶有的說明材料。需要注意以下幾點:程序開始部分注明程序編寫者、最后修改日期等注釋須與程序一致。修改程序時,要相應修改注釋注釋不是重復程序語句,而應提供從程序本身難以得到的信息對程序段作注釋,而不是對每個語句作注釋如果模型的詳細設計是用PDL描述的,編程時可將PDL描述作為注釋嵌入程序中。23提高程序可讀性的技巧和方法用結構化方法進行詳細設計程序中包含說明性材料良好的程序書寫格式良好的編程風格24縮進式書寫除了加注釋之外,采用縮進式書寫程序也有助于閱讀。doi=1ton-1;t=i;doj=i+1ton;ifa(j)<a(t)thendot=j;endifift<>1thendoh=a(t);a(t)=a(i);a(i)=h;endif;end;end;25縮進式書寫DOi=1TOn-1 t=i; DOj=i+1TOn IFa(j)<a(t)THENDO t=j; ENDIF IFt<>1THENDO h=a(t);

a(t)=a(i);

a(i)=h; ENDIF END;END;IFA1 DOAELSE IFA2 DOB ELSEIFA3DOC ELSEIFA4DOD ELSE... . . . ENDIF

ENDIF ENDIFENDIF26提高程序可讀性的技巧和方法用結構化方法進行詳細設計程序中包含說明性材料良好的程序書寫格式良好的編程風格27編程風格(1)簡單、直接地反映意圖(2)變量名、文件名、過程名應規(guī)范化

函數和過程的名稱最好使用動賓詞組,第二個單詞的第一位采用大寫,駝峰顯示規(guī)范化的書寫格式:縮進的空格數、最好一行一句(3)不要直接使用數字(4)盡量使用局部變量28編程風格(續(xù)1)(5)表達式的書寫應該一氣呵成

比較表達式X=A(I)+I/A(I)與: AI=A(I) X=AI+I/AI在表達式中加括號也可以減少誤解:

-A**2有可能被理解成(-A)**2,不如寫成-(A**2)29編程風格(續(xù)2)(6)合理使用GOTO語句使用時主要注意三條原則:在一個程序中不要多用GOTO語句。一定要避免使用不必要的GOTO語句在其他結構形式難以控制程序流向的情況下才使用GOTO語句。例如,在循環(huán)體內遇到例外情況需要跳出時使用不要使GOTO語句相互交叉30主要內容8.1系統(tǒng)實施概述8.2程序設計8.3信息系統(tǒng)的測試8.4信息系統(tǒng)的調試318.3信息系統(tǒng)的測試

程序編寫出來就接近尾聲了?程序能夠運行就通過了?No

32測試的目的Myers將測試的目的歸納為:測試是指“旨在發(fā)現(xiàn)錯誤而執(zhí)行一個程序的過程”一個好的測試用例是指這個測試用例有很高的概率可以發(fā)現(xiàn)一個尚未發(fā)現(xiàn)的錯誤一個成功的測試是指它成功地發(fā)現(xiàn)了一個尚未發(fā)現(xiàn)的錯誤33測試的目的(續(xù))測試的目的是為了發(fā)現(xiàn)程序中的錯誤。因此,測試的關鍵問題是如何設計測試用例,即設計一批測試數據,通過有限的測試用例,在有限的研制時間、研制經費的約束下,盡可能多地發(fā)現(xiàn)程序中的錯誤。發(fā)現(xiàn)錯誤后進行診斷并改正錯誤的過程就是調試。34測試的概念信息系統(tǒng)測試軟件測試硬件測試網絡測試單元測試綜合測試35測試的原則(1)軟件測試必須有預期結果測試用例應包括輸入數據和預期的輸出結果;測試用例的設計和選擇、預期結果的定義要利于錯誤的檢測(2)程序員應避免測試自己的程序;程序設計機構不應測試自己的程序(3)設計最小用例集(4)不僅要選用合理的輸入數據作為測試用例,而且應選用不合理的輸入數據作為測試36測試的原則(續(xù))(5)全程測試測試用例應長期保留,直到這個程序被廢棄。既要檢查程序是否完成了它應做的工作,又要檢查它是否還做了它不應做的事情。(6)嚴格執(zhí)行測試計劃,排除測試的隨意性(7)充分注意測試中的群集現(xiàn)象在測試中發(fā)現(xiàn)缺陷越多的地方,存在的未被發(fā)現(xiàn)的缺陷也就越多;“經驗表明:程序中尚未發(fā)現(xiàn)的錯誤的數量與該程序段已發(fā)現(xiàn)的錯誤數量往往成正比”37軟件錯誤Neson將錯誤和缺陷概括為七個方面:編程時的語法錯誤保留字拼寫錯誤循環(huán)體不匹配參數與變元不匹配程序員發(fā)現(xiàn)在用某些解釋性程序設計語言(如VB,VFP等)編程時檢查這類錯誤容易而且及時

38軟件錯誤(續(xù)1)2.程序員對語言結果誤解所造成的錯誤。如,對循環(huán)體結構的誤解3.算法或邏輯上的錯誤4.近似算法會使某些輸入變量得不到精確的甚至錯誤的結果5.由于錯誤的輸入導致程序的錯誤6.數據結構說明不當或實現(xiàn)中的缺陷所造成的錯誤7.由于系統(tǒng)(或模塊)說明書的缺陷所造成的錯誤最為嚴重。39測試的任務預防軟件發(fā)生錯誤發(fā)現(xiàn)并改正程序錯誤提供錯誤診斷信息40軟件測試的基本手段人工測試人工測試可以由編寫者本人非正式地進行,也可以由審查小組正式地進行。人工測試技術有:程序審查(CodeInspections)人工運行(Walkthroughs)桌前檢查(DeskChecking)41計算機測試(1)設計測試情況計算機測試要遵循的步驟:(2)進行模塊測試(3)進行高級測試準備一些測試程序在計算機上運行,以此來查找程序錯誤42軟件測試方法正確性證明方法動態(tài)測試方法靜態(tài)測試方法43程序正確性證明程序正確性證明技術目前還處于初級階段,近期內還不可能適用于大型系統(tǒng)。例如一個433行的ALGOL程序,其證明長達46頁。怎樣保證“證明”這46頁中沒有錯誤?44動態(tài)測試方法

動態(tài)測試,即有控制地運行程序,從多種角度觀察程序運行時的行為,發(fā)現(xiàn)其中的錯誤??杉毞譃楹诤袦y試與白盒測試兩種方法。

測試只能證明程序有錯誤,而不可能證明程序沒有錯誤。45動態(tài)測試方法黑盒測試白盒測試46黑盒測試(功能測試)方法(Black-boxTesting)黑盒測試黑盒測試方法黑盒測試方法的原理窮舉測試黑盒測試使用的數據47黑盒測試方法工作原理把程序看成一個黑盒子黑盒程序48黑盒測試方法工作原理完全不考慮程序的內部結構和處理過程49黑盒測試方法工作原理在接口進行測試檢查程序功能是否按規(guī)格說明書的規(guī)定正常使用正常使用規(guī)格說明書50黑盒測試方法工作原理程序是否適當地接收輸入數據產生正確的輸出數據保持外部信息的完整性51黑盒測試的窮盡輸入測試至少必須對所有輸入數據的各種可能值的排列組合都進行測試例,一個程序需要三個整數型的輸入數據如果計算機字長是16位,則每個整數可能取的值有216個三個數的可能排列組合是216*216*216(3*1014種)假設每執(zhí)行一次程序需要1毫秒,則需1萬年52黑盒測試使用的數據程序有效的輸入數據程序無效的輸入數據極端的數據元素正常的數據元素特殊的數據元素53白盒測試(結構測試)方法(White-boxTesting)白盒測試方法白盒測試白盒測試方法的原理窮盡測試54白盒測試(結構測試或邏輯覆蓋法)方法已經知道了產品內部工作過程通過測試檢驗來檢驗產品內部動作是否按照規(guī)格說明書的規(guī)定正常進行55白盒測試方法工作原理白盒程序56完全了解程序的內部結構和處理過程白盒測試方法工作原理57按照程序內部的邏輯測試程序白盒測試方法工作原理檢驗程序中的每一條通路是否都能按預定的要求正常工作58白盒測試的窮盡路徑測試至少必須對所有路徑都進行測試即使可以窮舉出所有的路徑(不可能遍歷所有),但是若程序少寫了一個路徑,則查不出錯誤59靜態(tài)測試法程序審查會——代碼會審(CodeInspections)桌前檢查(DeskChecking)——靜態(tài)檢查人工運行(Walkthroughs)60注意需要特別注意的是:測試不能表明系統(tǒng)中不存在錯誤,它只能說明系統(tǒng)中存在錯誤。

原因:窮舉不可行,遍歷不可行。測試的致命缺陷是:測試的不完全、不徹底性。61動態(tài)測試方案設計黑盒測試用例設計白盒測試用例設計62白盒測試--邏輯覆蓋測試的種類語句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋多重條件覆蓋實例63語句覆蓋程序的某次運行并不一定執(zhí)行其中的所有語句。因此,如果某個含有錯誤的語句在測試中并沒有執(zhí)行,這個錯誤便不可能發(fā)現(xiàn)。語句覆蓋法就是要選擇測試用例,使得程序中的每個語句至少執(zhí)行一次。該方法發(fā)現(xiàn)錯誤的能力比較弱。64用例設計例:被測試程序的流程圖PROCEDUREM(VARA,B,X:REAL) BEGIN IF(A>1)AND(B=0) THENX:=X/A IF(A=2)OR(X>1) THENX:=X+1 END;若選擇測試用例為A=2,B=0,X=3,則程序通過路徑ace,程序中每個語句都執(zhí)行了一次,達到語句覆蓋的要求。A>1ANDB=0X=X/AX=X+1A=2ORX>1NNYYacbde65判斷覆蓋判斷覆蓋是指設計測試用例使程序中的每個判斷的取“真”值和取“假”值的每一個分支至少通過一次。本例中,若取測試用例為A=2,B=0,X=3和A=3,B=1,X=1,則可以使得兩個判斷語句的4個分支都得到覆蓋。判斷覆蓋比語句覆蓋更嚴格一些。A>1ANDB=0X=X/AX=X+1A=2ORX>1NNYYacbde66條件覆蓋條件覆蓋是指執(zhí)行足夠的測試用例,使得判斷中的每個條件獲得各種可能的結果。本例中,有四個條件:

A>1,對應A>1或A≤1

B=0,對應B=0或B≠0

A=2,對應A=2或A≠2

X>1,對應X>1或X≤1A>1ANDB=0X=X/AX=X+1A=2ORX>1NNYYacbde67條件覆蓋(續(xù)1)A>1,對應A>1或A≤1B=0,對應B=0或B≠0A=2,對應A=2或A≠2X>1,對應X>1或X≤1以下2用例可以滿足要求:①A=2,B=0,X=4②A=1,B=1,X=1A>1ANDB=0X=X/AX=X+1A=2ORX>1NNYYacbde68條件覆蓋(續(xù)2)一般說來,條件覆蓋比判斷覆蓋要求嚴格,因為判斷覆蓋的對象是每個判斷結果,而條件覆蓋則要考慮每個判斷中的每個條件。但是由于條件覆蓋分別考慮每個條件而不管同一判斷中諸條件的組合情況,因此,測試用例可能滿足條件覆蓋的要求,但不滿足判斷覆蓋的要求。如①A=1,B=0,X=3②A=2,B=1,X=1A>1ANDB=0X=X/AX=X+1A=2ORX>1NNYYacbde69判定/條件覆蓋編寫足夠的測試情況,使得判定中每個條件取得“真”和“假”兩種結果。并使每個判定本身的“真”和“假”兩種結果也至少出現(xiàn)一次。同時每個入口點至少要進入一次。①A=3,B=0,X=3②A=2,B=1,X=1①A=2,B=0,X=4②A=1,B=1,X=1A>1ANDB=0X=X/AX=X+1A=2ORX>1NNYYacbde70多重條件覆蓋(條件組合覆蓋)要寫出足夠的測試情況,以使判定的每條分支至少通過一次。編寫足夠的測試情況,使得每個判定中條件結果的所有可能組合至少出現(xiàn)一次,且所有的入口點都至少進入一次。A>1ANDB=0X=X/AX=X+1A=2ORX>1NNYYacbde71多重條件覆蓋(條件組合覆蓋)(續(xù))有8個條件:①A>1,B=0②A>1,B≠0③A≤1,B=0④A≤1,B≠0⑤A=2,X>1⑥A=2,X≤1⑦A≠2,X>1⑧A≠2,X≤1A=2,B=0,X=4覆蓋①,⑤A=2,B=1,X=1,覆蓋②,⑥A=1,B=0,X=2覆蓋③,⑦A=1,B=1,X=1覆蓋④,⑧A>1ANDB=0X=X/AX=X+1A=2ORX>1NNYYacbde72路徑覆蓋

設計測試用例,使它覆蓋程序中所有可能的路徑。本例中有四條可能的路徑:abd,ace,abe,acd。如下測試用例可滿足路徑覆蓋要求:①A=2,B=0,X=3(ace)②A=1,B=0,X=1(abd)③A=2,B=1,X=1(abe)④A=3,B=0,X=1(acd)A>1ANDB=0X=X/AX=X+1A=2ORX>1NNYYacbde73路徑覆蓋(續(xù))路徑覆蓋的測試功能很強。但對于實際問題,即使一個不太復雜的程序,其路徑數也可能相當龐大而不可能完全覆蓋。74實例假如有如下一條語句:IF(X>0)AND(Y≠0)THENS1ELSES2ENFIFX>0ANDY≠0S1YNS275滿足判定覆蓋標準,但不滿足條件覆蓋標準滿足條件覆蓋標準,但不滿足判定覆蓋標準滿足判定/條件覆蓋標準

滿足組合條件覆蓋標準X>0ANDY≠0S1YNS2實例76動態(tài)測試方案設計黑盒測試用例設計白盒測試用例設計77黑盒測試的種類等價類法邊值分析法因果圖法錯誤推測法78等價類劃分

對于某個輸入域的子集合,如果該集合中的各個輸入數據對于揭露程序中的錯誤都是等效的,則稱這個集合為等價類。測試某等價類的代表值就等價于對這一類其他值的測試。使用這一方法設計測試用例要經歷劃分等價類(列出等價類表)和選取測試用例兩步。79等價類劃分等價類的劃分有兩種不同的情況:有效等價類,無效等價類。在設計測試用例時,要同時考慮有效等價類和無效等價類的設計。80等價類劃分原則①如果輸入條件規(guī)定了取值范圍或值的個數,則可以確定一個有效等價類和兩個無效等價類例如:在程序的規(guī)格說明中,對輸入條件有一句話,“一次取款不得少于50元,最多可取2000元……”則有效等價類是“50<所得額<2000”,兩個無效等價類是“所得額<50”或“所得額>2000”。81等價類劃分原則(續(xù)1)②如果輸入條件規(guī)定了輸入值的集合,或者是規(guī)定了“必須如何”的條件,這時可確立一個有效等價類和一個無效等價類例如:在C語言中對變量標識符規(guī)定為“以字母打頭的……串”,則所有以字母打頭的構成有效等價類,不以字母打頭的歸于無效等價類。如果輸入條件是一個布爾量、則可以確定一個有效等價類和一個無效等價類。82等價類劃分原則(續(xù)2)③如果規(guī)定了輸入數據的一組值,而且程序要對每個輸入值分別進行處理,這時可為每一個輸入值確立一個有效等價類,此外針對這組值確立一個無效等價類,它是所有不允許的輸入值的集合例如:在教師獎酬金方案中規(guī)定對教授、副教授、講師和助教的課時分別折算工作量。則四個有效等價類為教授、副教授、講師和助教,一個無效等價類,它是不符合以上身份的人員的的集合。83等價類劃分原則(續(xù)3)④如果規(guī)定了輸入數據必須遵守的規(guī)則,則可以確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)在確立了等價類之后,建立等價類表(P270),列出所有劃分出的等價類。最后確定測試用例。84邊值分析(邊界值測試)經驗證明,程序往往在處理邊緣情況時犯錯誤,因此檢查邊緣情況的測試用例效率比較高的。使用邊界值分析方法設計測試用例,首先應確定邊界情況。應當選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數據,而不是選取等價類中的典型值或任意值作為測試數據。85邊值分析(邊界值測試)(續(xù)1)把邊界值的概念擴大,可以設計出種種測試用例。例如:①對新記錄在文件第一個記錄之前加一個記錄在文件最后一個記錄之后加一個記錄插入的新記錄對應實體是實際不可能存在的86邊值分析(邊界值測試)(續(xù)2)②處理業(yè)務處理文件的第一個記錄處理文件的最后一個記錄處理中間的一個記錄處理同一程序剛建立的記錄連續(xù)處理相鄰記錄試圖處理一個不存在的記錄處理業(yè)務使某個數值超過常規(guī)(如庫存數為負或域值上溢)對某些關鍵數據輸入有錯誤的數據同一業(yè)務處理過程中造成多重例外和出錯87邊值分析(邊界值測試)(續(xù)3)③記錄刪除刪除文件的第一個記錄刪除文件的最后一個記錄試圖刪去不存在的記錄連續(xù)刪除多個記錄刪除一個記錄,并試圖處理這個記錄88邊值分析(邊界值測試)(續(xù)4)④試驗邏輯檢查所有能產生最大值,最小值,平均值的計算除式中除數為0數據域填入最小數或最大數數據域填入允許值以外的數這種方法表面上看起來很簡單,但許多程序的邊界情況極為復雜,要找出適當的測試用例,需要有一定經驗和創(chuàng)造性。89因果圖法(case_effectgraphing)因果圖法的原理因果圖使用符號因果圖實例90因果圖法原理從用自然語言書寫的功能說明表中找出因--輸入條件--輸出結果通過因果圖將功能說明轉換成一張判斷表為每種輸出條件的組合設計測試用例91因果圖使用的符號恒等ab非abSabcd∨或abc∧與92因果圖法實例第一列字符必須是A或B,第二列字符必須是一個數字。在這種情況下,修改文件。如果第一個字符不正確,則發(fā)出信息X12。如果第二列字符不是數字,則發(fā)出信息X1393因1--第1列字符是A2--第1列字符是B3--第2列字符是一個數字果70--修改文件71--發(fā)出信息X1272--發(fā)出信息X13實例分析9412311∨∧717072~~12311∨∧717072~~E實例分析95錯誤推測法(猜錯)(errorguessing)很大程度上依靠直覺和經驗進行,列舉出程序中可能有的錯誤和容易發(fā)生錯誤的特殊情況,選擇測試方案。96靜態(tài)測試方法

靜態(tài)測試指人工評審軟件文檔或程序,發(fā)現(xiàn)其中的錯誤。這種方法手續(xù)簡單,是一種行之有效的檢驗手段。

據統(tǒng)計,30%-70%的錯誤是通過評審發(fā)現(xiàn)的,且這些錯誤往往影響很大。97測試類型劃分模塊測試聯(lián)合測試驗收測試系統(tǒng)測試98模塊測試模塊測試是對一個模塊進行測試,根據模塊的功能說明,檢驗模塊是否有錯誤。模塊測試一般由編程人員自己進行,模塊測試有以下項目:①模塊界面。調用參數(流入數據)數目、順序、類型②內部數據結構。如初始值對不對,變量名稱是否一致,共用數據是否有誤③獨立路徑。是否存在不正確的計算、不正確的循環(huán)及判斷控制④錯誤處理。預測錯誤的產生及處理,看是否和運行一致⑤邊界條件。對數據大小界限和判斷條件的邊界進行跟蹤運行。99聯(lián)合測試聯(lián)合測試即通常說的聯(lián)調。聯(lián)合測試可以發(fā)現(xiàn)總體設計中的錯誤。聯(lián)合測試方法有兩種,即根據模塊結構圖由上到下或由下到上進行測試。

①由上到下。設置下層模塊為樁模塊,檢查控制流,較早發(fā)現(xiàn)錯誤,而不至于影響到下層模塊。②由下到上。先設置上層模塊為驅動模塊,測試下層模塊執(zhí)行的正確性,然后逐步向上推廣100驗收測試驗收測試檢驗系統(tǒng)說明書的各項功能與性能是否實現(xiàn),是否滿足要求。驗收測試的方法一般是列出一張清單,左邊是需求的功能,右邊是發(fā)現(xiàn)的錯誤或缺陷。常見的驗收測試有所謂的α測試和β測試,前者由使用者在應用系統(tǒng)開發(fā)所在地與開發(fā)者一同進行觀察記錄,后者由用戶在使用環(huán)境中獨立進行。101系統(tǒng)測試系統(tǒng)測試是對整個系統(tǒng)的測試,將硬件、軟件、操作人員看做一個整體,檢驗它是否有不符合系統(tǒng)說明書的地方。這種測試可以發(fā)現(xiàn)系統(tǒng)分析和設計的錯誤。102

溫馨提示

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

評論

0/150

提交評論