freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件危機與軟件工程要點匯編(參考版)

2025-04-16 02:02本頁面
  

【正文】 邊界值分析方法是最有效的黑盒測試方法,但當邊界情況很復(fù)雜的時候,要找出適當?shù)臏y試用例還需針對問題的輸入域、輸出域邊。通常輸入等價類與輸出等價類的邊界,就是應(yīng)著重測試的邊界情況。這里所說的邊界是指,相當于輸入等價類和輸出等價類而言,稍高于其邊界值及稍低于其邊界值的一些特定情況。但如果把六個不等式中的任何一個大于號“>”錯寫成大于等于號“≥”,那就不能構(gòu)成三角形。比如,在做三角形計算時,要輸入三角形的三個邊長:A、B和C。(6) 邊界值分析人們從長期的測試工作經(jīng)驗得知,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是在輸入范圍的內(nèi)部。 設(shè)計盡可能少的測試用例,覆蓋所有的有效等價類;167。 按限制條件或規(guī)則劃分:如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則或限制條件,則可以確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。 按數(shù)值集合劃分:如果可能的輸入數(shù)據(jù)屬于一個值的集合,或者須滿足“必須如何”的條件,這時可確立一個有效等價類和一個無效等價類。則可為每一個輸入值確立一個有效等價類,此外針對這組值確立一個無效等價類,它是所有不允許的輸入值的集合。167。劃分等價類的原則如下:167。在設(shè)計測試用例時,要同時考慮有效等價類和無效等價類的設(shè)計。 無效等價類:是指對于程序規(guī)格說明來說,是不合理的,無意義的輸入數(shù)據(jù)構(gòu)成的集合。利用它,可以檢驗程序是否實現(xiàn)了規(guī)格說明預(yù)先規(guī)定的功能和性能。等價類的劃分有兩種不同的情況:167。如何選擇適當?shù)淖蛹?,使其盡可能多地發(fā)現(xiàn)錯誤。使用這一方法時,完全不考慮程序的內(nèi)部結(jié)構(gòu),只依據(jù)程序的規(guī)格說明來設(shè)計測試用例。③ 導(dǎo)出測試用例利用邏輯覆蓋方法生成測試用例,確?;韭窂郊忻織l路徑的執(zhí)行。 它是構(gòu)成基本路徑集的獨立路徑數(shù)的上界。(b)所示控制流圖有4個區(qū)域。167。167。167?;韭窂郊皇俏ㄒ坏?,對于給定的控制流圖,可以得到不同的基本路徑集。(b)所示的控制流圖中,一組獨立的路徑是 path1:1 11 path2:1 2 3 4 5 10 1 11 path3:1 2 3 6 8 9 10 1 11 path4:1 2 3 6 7 9 10 1 11路徑path1,path2,path3, (b) 所示控制流圖的一個基本路徑集。 復(fù)合邏輯下的控制流圖② 計算程序環(huán)路復(fù)雜性 進行程序的基本路徑測試時,程序的環(huán)路復(fù)雜性給出了程序基本路徑集合中的獨立路徑條數(shù),這是確保程序中每個可執(zhí)行語句至少執(zhí)行一次所必需的測試用例數(shù)目的上界。 (a) 的復(fù)合條件的判定, (b) 所示的控制流圖。邊和結(jié)點圈定的區(qū)域叫做區(qū)域,當對區(qū)域計數(shù)時,圖形外的區(qū)域也應(yīng)記為一個區(qū)域。符號○稱為控制流圖的一個結(jié)點,一組順序處理框可以映射為一個單一的結(jié)點。設(shè)計出的測試用例要保證在測試中,程序的每一個可執(zhí)行語句至少要執(zhí)行一次。(4) 基本路徑測試如果把覆蓋的路徑數(shù)壓縮到一定限度內(nèi),例如,程序中的循環(huán)體只執(zhí)行零次和一次,就成為基本路徑測試。但在路徑數(shù)目很大時,真正做到完全覆蓋是很困難的,必須把覆蓋路徑數(shù)目壓縮到一定限度。 ⑤ 路徑測試 :路徑測試就是設(shè)計足夠的測試用例,覆蓋程序中所有可能的路徑。它不但可覆蓋所有條件的可能取值的組合,還可覆蓋所有判斷的可取分支,但可能有的路徑會遺漏掉。(b) 改為單個條件判定的嵌套結(jié)構(gòu)的例子(a) 復(fù)合判定的例子 ⑤ 多重條件覆蓋 :多重條件覆蓋就是設(shè)計足夠的測試用例,運行被測程序,使得每個判斷的所有可能的條件取值組合至少執(zhí)行一次。為徹底地檢查所有條件的取值,需要將判定語句中給出的復(fù)合條件表達式進行分解,形成由多個基本判定嵌套的流程圖。往往某些條件掩蓋了另一些條件。從表面上來看,它測試了所有條件的取值。換言之,即是要求各個判斷的所有可能的條件取值組合至少執(zhí)行一次。條件覆蓋深入到判定中的每個條件,但可能不能滿足判定覆蓋的要求。因此,還需要更強的邏輯覆蓋準則去檢驗判斷內(nèi)部條件。判定覆蓋又稱為分支覆蓋。這種覆蓋又稱為點覆蓋,它使得程序中每個可執(zhí)行語句都得到執(zhí)行,但它是最弱的邏輯覆蓋準,效果有限,必須與其它方法交互使用。由于覆蓋測試的目標不同,邏輯覆蓋又可分為:語句覆蓋、判定覆蓋、判定-條件覆蓋、條件組合覆蓋及路徑覆蓋。屬白盒測試。下面讓我們看兩個例子。不論是黑盒測試,還是白盒測試,都不可能把所有可能的輸入數(shù)據(jù)都拿來進行所謂的窮舉測試。白盒測試把測試對象看做一個打開的盒子,允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進行測試。② 白盒測試根據(jù)軟件產(chǎn)品的內(nèi)部工作過程,在計算機上進行測試,以證實每種內(nèi)部操作是否符合設(shè)計規(guī)格要求,所有內(nèi)部成分是否已經(jīng)過檢查。就是說,這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求分析規(guī)格說明,檢查程序的功能是否符合它的功能說明。這種測試方法就是黑盒測試。而基于計算機的測試由可以分為白盒測試和黑盒測試。系統(tǒng)測試的測試用例應(yīng)根據(jù)需求分析規(guī)格說明來設(shè)計,并在實際使用環(huán)境下來運行。(4) 系統(tǒng)測試所謂系統(tǒng)測試,是將通過確認測試的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實際運行(使用)環(huán)境下,對計算機系統(tǒng)進行一系列的組裝測試和確認測試。它的任務(wù)是驗證軟件的有效性,即驗證軟件的功能和性能及其它特性是否與用戶的要求一致。 單個模塊的錯誤是否會導(dǎo)致數(shù)據(jù)庫錯誤。 單個模塊的誤差累積起來,是否會放大,從而達到不能接受的程度。 各個子功能組合起來,能否達到預(yù)期要求的父功能;167。 在把各個模塊連接起來的時侯,穿越模塊接口的數(shù)據(jù)是否會丟失;167。(2) 集成測試在單元測試的基礎(chǔ)上,需要將所有模塊按照設(shè)計要求組裝成為系統(tǒng)。單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例。 軟件測試的過程(1) 單元測試單元測試針對程序模塊,進行正確性檢驗的測試。最后是系統(tǒng)測試,把已經(jīng)經(jīng)過確認的軟件納入實際運行環(huán)境中,與其它系統(tǒng)成份組合在一起進行測試。然后,進行集成測試,根據(jù)設(shè)計規(guī)定的軟件體系結(jié)構(gòu),把已測試過的模塊組裝起來,在組裝過程中,檢查程序結(jié)構(gòu)組裝的正確性。 軟件測試與軟件開發(fā)過程的關(guān)系5. 軟件測試的過程與策略測試過程按4個步驟進行,即單元測試、組裝測試、確認測試和系統(tǒng)測試。隨后再對照需求,進行確認測試。首先對每一個程序模塊進行單元測試,消除程序模塊內(nèi)部在邏輯上和功能上的錯誤和缺陷。4.測試與軟件開發(fā)各階段的關(guān)系軟件開發(fā)過程是一個自頂向下,逐步細化的過程,而測試過程則是依相反的順序安排的 自底向上,逐步集成的過程。確認與驗證工作都屬于軟件測試。靜態(tài)確認一般不在計算機上實際執(zhí)行程序,而是通過人工分析或者程序正確性證明來確認程序的正確性; 動態(tài)確認主要通過動態(tài)分析和程序測試來檢查程序的執(zhí)行狀態(tài),以確認程序是否有問題。3.確認和驗證的關(guān)系確認(Validation)是一系列的活動和過程,其目的是想證實在一個給定的外部環(huán)境中軟件的邏輯正確性。⑦ 應(yīng)當對每一個測試結(jié)果做全面檢查。⑤ 充分注意測試中的群集現(xiàn)象。③ 程序員應(yīng)避免檢查自己的程序。2.軟件測試的原則① 應(yīng)當把“盡早地和不斷地進行軟件測試”作為軟件開發(fā)者的座右銘。編碼與單元測試屬于軟件生存期中的同一個階段。軟件測試在軟件生存期中橫跨兩個階段:通常在編寫出每一個模塊之后就對它做必要的測試(稱為單元測試)。第六章 軟件的測試一、基本概念1.軟件測試的任務(wù):預(yù)防錯誤、改正錯誤、提供錯誤判斷依據(jù)軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。計算有向圖G的環(huán)路復(fù)雜性的公式: V (G)=m-n+2其中,V(G)是有向圖G中的環(huán)路個數(shù),m是圖G中有向弧個數(shù),n是圖G中結(jié)點個數(shù)。McCabe定義的程序復(fù)雜性度量值又稱環(huán)路復(fù)雜度,它基于一個程序模塊的程序圖中環(huán)路的個數(shù)。若設(shè)每行代碼的出錯率為每100行源程序中可能有的錯誤數(shù)目, 例如每行代碼的出錯率為1%,則是指每100行源程序中可能有一個錯誤。將一個大程序分解成若干個簡單的可理解的程序段。程序復(fù)雜性隨著程序規(guī)模的增加不均衡地增長;(1) 代碼行度量法度量程序的復(fù)雜性,最簡單的方法就是統(tǒng)計程序的源代碼行數(shù)。同時它也是軟件可理解性的另一種度量。程序復(fù)雜性度量程序復(fù)雜性主要指模塊內(nèi)程序的復(fù)雜性。在系統(tǒng)程序設(shè)計和實時應(yīng)用領(lǐng)域中,匯編語言或一些新的派生語言,如BLISS,PL/S,Ada,C++等得到了廣泛的應(yīng)用。例如,在科學與工程計算領(lǐng)域內(nèi),C,C++ 語言得到了廣泛的應(yīng)用,但FORTRAN仍然是應(yīng)用最廣泛的語言。其中,項目的應(yīng)用范圍是最關(guān)鍵的因素。在選擇與評價語言時,首先要從問題入手,確定它的要求是什么? 這些要求的相對重要性如何? 再根據(jù)這些要求和相對重要性來衡量能采用的語言。(3) 程序設(shè)計語言的選擇為某個特定開發(fā)項目選擇程序設(shè)計語言時,既要從技術(shù)角度、工程角度、心理學角度評價和比較各種語言的適用程度,又必須考慮現(xiàn)實可能性。167。167。Martin把第四代語言分為以下幾種類型:167。程序員規(guī)定條件和相應(yīng)的動作這是過程性的部分,并且指出想要的結(jié)果,這是非過程部分。④ 第四代語言(4GL):4GL用不同的文法表示程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),但是它是在更高一級抽象的層次上表示這些結(jié)構(gòu),它不再需要規(guī)定算法的細節(jié)。從軟件工程的角度來看,專用語言支持了特殊的應(yīng)用,將特定的設(shè)計要求翻譯成可執(zhí)行的代碼。通常具有自己特殊的語法形式,面對特定的問題,輸入結(jié)構(gòu)及詞匯表與該問題的相應(yīng)范圍密切相關(guān)。167。這一類語言的代表是PL/1,PASCAL,C和Ada。167。目前,它們都已有多種版本。 傳統(tǒng)的高級程序設(shè)計語言 :如FORTRAN、COBOL、ALGOL、BASIC等。從軟件工程的角度來看,匯編語言只是在高級語言無法滿足設(shè)計要求時,或者不具備支持某種特定功能(例如特殊的輸入/輸出)的技術(shù)性能時,才被使用。存儲空間的安排可由機器解決。因此使用機器語言編寫的程序很不直觀,在計算機內(nèi)的運行效率很高但編寫出的機器語言程序其出錯率也高。用這種語言編寫的程序,都是二進制代碼的形式,且所有的地址分配都是以絕對地址的形式處理。① 從屬于機器的語言(第一代語言):它是由機器指令代碼組成的語言。同一種語言可以歸到不同的類中。這只是問題的一個方面,而問題的另一方面,過去沒有注意到的是數(shù)據(jù)結(jié)構(gòu)的合理化問題,即數(shù)據(jù)結(jié)構(gòu)訪問的規(guī)范化,標準化問題。(2) 程序設(shè)計自頂向下,逐步求精在詳細設(shè)計和編碼階段,應(yīng)當采取自頂向下,逐步求精的方法,把一個模塊的功能逐步分解,細化為一系列具體的步驟,進而翻譯成一系列用某種程序設(shè)計語言寫成的程序。167。 167。167。167。167。(1) 結(jié)構(gòu)化程序設(shè)計的原則167。167。 在編寫程序時,強調(diào)使用幾種基本控制結(jié)構(gòu),通過組合嵌套,形成程序的控制結(jié)構(gòu)。它是一種自外向內(nèi)型的設(shè)計過程。然后開發(fā)者根據(jù)用戶的意見對原型加以改進。它的基本思想是根據(jù)用戶給出的基本需求,通過快速實現(xiàn)構(gòu)造出一個小型的可執(zhí)行的模型,滿足用戶的基本要求,這就是系統(tǒng)界面原型。在軟件開發(fā)中,原型是軟件的一個早期可運行的版本,它反映最終系統(tǒng)的部分重要特性。 復(fù)審指導(dǎo)原則:概要設(shè)計復(fù)審(PDR)和詳細設(shè)計復(fù)審(DDR)應(yīng)該分開進行。 7.面向數(shù)據(jù)流的設(shè)計方法 1)變換流與事務(wù)流 變換流:取得數(shù)據(jù)——變換數(shù)據(jù)(變換中心)——給出數(shù)據(jù) 事務(wù)流:接收數(shù)據(jù)——根據(jù)數(shù)據(jù)類型選擇處理單元(事務(wù)中心)——給出結(jié)果 2)變換分析: 變換流——軟件結(jié)構(gòu)(變換中心映射成主控部件) 變換型DFD圖—變換分析—初始SC圖3)事務(wù)分析: 事務(wù)流——軟件結(jié)構(gòu)(事務(wù)中心映射成調(diào)度模塊) 事物型DFD圖—事務(wù)分析—初始SC圖三、詳細設(shè)計 1.任務(wù):為每個模塊確定其算法、數(shù)據(jù)結(jié)構(gòu)等,產(chǎn)生詳細設(shè)計說明書 2.常用工具 1)程序流程圖 2)方框圖(NS圖)數(shù)據(jù)盒、過程盒 3)PAD圖 4)偽代碼 PDL 程序設(shè)計語言 3.面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計 1)Jackson方法數(shù)據(jù)結(jié)構(gòu)表 2)Warnier方法四、軟件設(shè)計規(guī)格說明 總體設(shè)計說明書 概要設(shè)計說明書: 規(guī)定軟件結(jié)構(gòu) 內(nèi)容: 以圖表形式表示的軟件總體結(jié)構(gòu)、模塊的外部設(shè)計、數(shù)據(jù)結(jié)構(gòu)設(shè)計 詳細設(shè)計說明書:描述程序的過程 內(nèi)容: 表示軟件結(jié)構(gòu)的圖表、對逐個模塊的程序描述五、復(fù)審:正規(guī)復(fù)審、非正規(guī)復(fù)審 復(fù)審:設(shè)計復(fù)審指對設(shè)計文檔的復(fù)審。因為HIPO是在開發(fā)過程中的表達工具,所以它又是開發(fā)文檔的編制工具。事實上,畫可視目錄表就是與概要設(shè)計密切相關(guān)的工作。首先,這一圖形表達方法容易看懂。其實這正是自頂向下,逐步求精的結(jié)構(gòu)化程序設(shè)計思想。HIPO能很好地適應(yīng)這一要求。③ 利用HIPO進行迭代式細化設(shè)計在軟件設(shè)計時,解決設(shè)計問題通常需要經(jīng)歷一個認識逐步發(fā)展的過程,并且對一些問題還要經(jīng)過反復(fù)的考慮才可能達到比較滿意的設(shè)計效果。通常,IPO圖有固定的格式,圖中處理操作部分總是列在中間,輸入和輸出部分分別在其左邊和右邊。描述說明可以使用自然語言。 描述說明。附上圖例,不管人們在什么時侯閱讀它都能對其符號的意義一目了然。 圖例。還應(yīng)有一個編號,以記錄它所在的層次及在該層次的位置。它的頂層是整個系統(tǒng)的名稱和系統(tǒng)的概括功能說明;第二層把系統(tǒng)的功能展開,分成了幾個框;第二層功能進一步分解,就得到了第三層、第四層,…,直到最后一層。又稱層次圖(H圖),是可視目錄表的主體,用它表明各個功能的隸屬關(guān)系。 167??梢暷夸洷斫o出程序的層次關(guān)系,IPO圖則為程序各部分提供具體的工作細節(jié)。(6) HIPO圖 ( Hierarchy plus Input Process Output )HIPO最初只用做文檔編寫的格式要求,隨后發(fā)展成比較有名的軟件設(shè)計手段。 有子程序定義與調(diào)用
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1