




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件實(shí)現(xiàn)6.1結(jié)構(gòu)化程序設(shè)計(jì)6.2選擇程序設(shè)計(jì)語言6.3程序設(shè)計(jì)風(fēng)格本章內(nèi)容6.4程序設(shè)計(jì)質(zhì)量評價(jià)6.5程序設(shè)計(jì)文檔6.6軟件測試目標(biāo)和原則6.7軟件測試方法6.8軟件測試步驟6.9設(shè)計(jì)測試方案6.10軟件調(diào)試、驗(yàn)證與確認(rèn)6.11軟件測試計(jì)劃和分析報(bào)告6.1結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序(StructuredProgram)是由基本的控制結(jié)構(gòu)構(gòu)造而成的程序。每個(gè)控制結(jié)構(gòu)只有一個(gè)入口點(diǎn)和一個(gè)出口點(diǎn)??刂平Y(jié)構(gòu)集包括指令序列、指令或指令序列的條件選擇以及一個(gè)指令或指令序列的重復(fù)執(zhí)行。結(jié)構(gòu)化程序設(shè)計(jì)(StructuredProgramming,SP)是一種良好的軟件開發(fā)技術(shù)。它采用自頂向下設(shè)計(jì)和實(shí)現(xiàn)的方法,嚴(yán)格地使用結(jié)構(gòu)化程序構(gòu)造軟件。此技術(shù)可降低程序設(shè)計(jì)的復(fù)雜性,提高清晰度,便于排除隱含的錯誤,有利于程序的修改。6.1結(jié)構(gòu)化程序設(shè)計(jì)6.2選擇程序設(shè)計(jì)語言6.3程序設(shè)計(jì)風(fēng)格本章內(nèi)容6.4程序設(shè)計(jì)質(zhì)量評價(jià)6.5程序設(shè)計(jì)文檔6.6軟件測試目標(biāo)和原則6.7軟件測試方法6.8軟件測試步驟6.9設(shè)計(jì)測試方案6.10軟件調(diào)試、驗(yàn)證與確認(rèn)6.11軟件測試計(jì)劃和分析報(bào)告6.2選擇程序設(shè)計(jì)語言程序設(shè)計(jì)語言的發(fā)展01OPTION機(jī)器語言01由二進(jìn)制0、1代碼構(gòu)成指令,不同的CPU具有不同的指令系統(tǒng)匯編語言02機(jī)器指令的符號化,與機(jī)器指令有著直接的對應(yīng)關(guān)系高級程序設(shè)計(jì)語言03使用的概念和符號與人們通常使用的概念和符號比較接近,一條語句往往對應(yīng)若干條機(jī)器指令非過程化語言04編碼時(shí)只需說明“做什么”,不需描述算法細(xì)節(jié)選用匯編語言的情況02OPTION一般在設(shè)計(jì)應(yīng)用軟件時(shí),應(yīng)當(dāng)優(yōu)先選用高級語言,只有下列3種情況才選用匯編語言。軟件系統(tǒng)對程序執(zhí)行時(shí)間和使用空間都有嚴(yán)格限制系統(tǒng)硬件是特殊的微處理機(jī),不能使用高級語言大型系統(tǒng)中的某一部分,其執(zhí)行時(shí)間非常關(guān)鍵,或直接依賴于硬件,這部分用匯編語言編寫,其余部分用高級語言編寫6.2選擇程序設(shè)計(jì)語言目前常用的程序設(shè)計(jì)語言03OPTIONC語言01生成的目標(biāo)代碼質(zhì)量好,程序執(zhí)行效率高描述問題比匯編語言迅速,工作量小,可讀性好,易于調(diào)試、修改和移植C++02一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言可以定義類、多態(tài)性、異常處理,支持?jǐn)?shù)據(jù)封裝、繼承、多繼承和數(shù)據(jù)隱藏Java03一種面向?qū)ο蟮?、用于網(wǎng)絡(luò)環(huán)境的程序設(shè)計(jì)語言,需要Java虛擬機(jī)解釋執(zhí)行Python04一種面向?qū)ο蟮慕忉屝透呒壵Z言,簡單而功能強(qiáng)大,易于學(xué)習(xí)、編輯周期短6.2選擇程序設(shè)計(jì)語言選用高級語言的實(shí)用標(biāo)準(zhǔn)04OPTION移動互聯(lián)應(yīng)用系統(tǒng)移動互聯(lián)網(wǎng)有幾種不同的操作系統(tǒng),所使用的編程語言有所不同項(xiàng)目的應(yīng)用領(lǐng)域科學(xué)工程計(jì)算、數(shù)據(jù)處理與數(shù)據(jù)庫應(yīng)用、實(shí)時(shí)處理、系統(tǒng)軟件、人工智能根據(jù)系統(tǒng)用戶的要求來選擇選擇用戶所熟悉的編程語言書寫程序軟件開發(fā)的方法編程語言的選擇依賴于開發(fā)的方法軟件開發(fā)人員的知識選擇一種軟件開發(fā)人員熟悉的編程語言,使開發(fā)速度更快,質(zhì)量更易保證軟件開發(fā)環(huán)境不同的軟件開發(fā)環(huán)境,所使用的編程語言不同6.2選擇程序設(shè)計(jì)語言6.1結(jié)構(gòu)化程序設(shè)計(jì)6.2選擇程序設(shè)計(jì)語言6.3程序設(shè)計(jì)風(fēng)格本章內(nèi)容6.4程序設(shè)計(jì)質(zhì)量評價(jià)6.5程序設(shè)計(jì)文檔6.6軟件測試目標(biāo)和原則6.7軟件測試方法6.8軟件測試步驟6.9設(shè)計(jì)測試方案6.10軟件調(diào)試、驗(yàn)證與確認(rèn)6.11軟件測試計(jì)劃和分析報(bào)告6.3程序設(shè)計(jì)風(fēng)格源程序文檔編寫規(guī)則01OPTION在編寫源程序文檔時(shí),標(biāo)識符名稱、注解、程序布局等要合理。選用含義鮮明的標(biāo)識符注解是程序員和程序讀者之間通信的重要工具,通常在每個(gè)模塊開始處用注解簡述模塊的功能、主要算法、接口特點(diǎn)、調(diào)用方式、開發(fā)簡史以及重要數(shù)據(jù)的含義、用途、限制、約束等程序布局。適當(dāng)利用階梯形式,使程序的層次結(jié)構(gòu)清晰、明顯。6.3程序設(shè)計(jì)風(fēng)格數(shù)據(jù)說明02OPTION1342說明同一語句的多個(gè)變量時(shí)應(yīng)按英文字母的順序排列變量說明不要遺漏變量的類型、長度、存儲及初始化要正確對于復(fù)雜的數(shù)據(jù)結(jié)構(gòu)要加注釋語句數(shù)據(jù)說明的順序應(yīng)規(guī)范6.3程序設(shè)計(jì)風(fēng)格語句構(gòu)造要簡單直接03OPTION不要為了節(jié)省空間把多個(gè)語句寫在同一行。盡量避免復(fù)雜的條件測試。盡量減少對“非”條件的測試。對于多分支語句,應(yīng)盡量把出現(xiàn)可能性大的情況放在前面,這樣可以縮短運(yùn)算時(shí)間。避免大量使用循環(huán)嵌套語句和條件嵌套語句。利用括號使邏輯表達(dá)式或算術(shù)表達(dá)式的運(yùn)算次序清晰、直觀。每個(gè)循環(huán)要有終止條件,不要出現(xiàn)死循環(huán),也要避免出現(xiàn)不可能被執(zhí)行的循環(huán)。6.3程序設(shè)計(jì)風(fēng)格輸入/輸出語句04OPTION檢驗(yàn)輸入數(shù)據(jù)的合法性、有效性。檢查輸入項(xiàng)的重要組合的合理性。提示輸入的請求,并簡明地說明可用的選擇或邊界數(shù)值。輸入格式簡單,方便用戶使用,盡量保持格式的一致性。批量輸入數(shù)據(jù)時(shí),使用結(jié)束標(biāo)志。輸出信息中不要有文字錯誤,要保證輸出結(jié)果的正確性。輸出數(shù)據(jù)表格化、圖形化。給所有輸出數(shù)據(jù)加標(biāo)志。6.3程序設(shè)計(jì)風(fēng)格程序效率05OPTION程序效率主要指處理機(jī)工作時(shí)間、內(nèi)存容量這兩方面的利用率,以及系統(tǒng)輸入、輸出的效率。人機(jī)交互界面如果設(shè)計(jì)得清晰、合理,會減少用戶腦力勞動的時(shí)間,提高人機(jī)通信的效率。在目前計(jì)算機(jī)硬件設(shè)備運(yùn)算速度大大提高、內(nèi)存容量增加的情況下,提高效率不是最重要的,程序設(shè)計(jì)主要應(yīng)考慮的是程序的正確性、可理解性、可測試性和可維護(hù)性。5G6.1結(jié)構(gòu)化程序設(shè)計(jì)6.2選擇程序設(shè)計(jì)語言6.3程序設(shè)計(jì)風(fēng)格本章內(nèi)容6.4程序設(shè)計(jì)質(zhì)量評價(jià)6.5程序設(shè)計(jì)文檔6.6軟件測試目標(biāo)和原則6.7軟件測試方法6.8軟件測試步驟6.9設(shè)計(jì)測試方案6.10軟件調(diào)試、驗(yàn)證與確認(rèn)6.11軟件測試計(jì)劃和分析報(bào)告6.4程序設(shè)計(jì)質(zhì)量評價(jià)正確性:通過對算法的精心設(shè)計(jì)和詳盡的檢查實(shí)現(xiàn)程序的正確性。清晰的結(jié)構(gòu):程序的結(jié)構(gòu)必須與數(shù)據(jù)相適應(yīng),采用結(jié)構(gòu)化設(shè)計(jì)方法,模塊的輸入和輸出過程精確定義。易使用性:操作簡便,使用戶學(xué)習(xí)使用軟件花費(fèi)的時(shí)間減少。易維護(hù)性:程序易讀、易理解就容易測試,也容易修改和擴(kuò)充。修改模塊化結(jié)構(gòu)的程序,對程序的總體結(jié)構(gòu)不會產(chǎn)生影響。簡單性:簡單的程序結(jié)構(gòu)容易理解、容易修改。要把復(fù)雜的問題簡單化,需要具有一定的程序設(shè)計(jì)經(jīng)驗(yàn)和嫻熟的技巧,還要有一定的耐性。易移植性:程序從某一環(huán)境移植到另一環(huán)境的能力。6.1結(jié)構(gòu)化程序設(shè)計(jì)6.2選擇程序設(shè)計(jì)語言6.3程序設(shè)計(jì)風(fēng)格本章內(nèi)容6.4程序設(shè)計(jì)質(zhì)量評價(jià)6.5程序設(shè)計(jì)文檔6.6軟件測試目標(biāo)和原則6.7軟件測試方法6.8軟件測試步驟6.9設(shè)計(jì)測試方案6.10軟件調(diào)試、驗(yàn)證與確認(rèn)6.11軟件測試計(jì)劃和分析報(bào)告6.5程序設(shè)計(jì)文檔在編碼結(jié)束前,應(yīng)對每個(gè)程序模塊的源程序進(jìn)行靜態(tài)分析和模塊測試,做好測試記錄。靜態(tài)分析和模塊測試時(shí),應(yīng)檢查下述內(nèi)容。程序與詳細(xì)設(shè)計(jì)是否相符合,模塊的運(yùn)行是否正確內(nèi)部文件和程序的可讀性如何堅(jiān)持結(jié)構(gòu)化程序設(shè)計(jì)標(biāo)準(zhǔn),語言使用是否得當(dāng)6.1結(jié)構(gòu)化程序設(shè)計(jì)6.2選擇程序設(shè)計(jì)語言6.3程序設(shè)計(jì)風(fēng)格本章內(nèi)容6.4程序設(shè)計(jì)質(zhì)量評價(jià)6.5程序設(shè)計(jì)文檔6.6軟件測試目標(biāo)和原則6.7軟件測試方法6.8軟件測試步驟6.9設(shè)計(jì)測試方案6.10軟件調(diào)試、驗(yàn)證與確認(rèn)6.11軟件測試計(jì)劃和分析報(bào)告6.6.1軟件測試目標(biāo)G.J.Myers在《軟件測試的藝術(shù)》一書中對測試提出的如下規(guī)則,不妨可看作軟件測試的目標(biāo)。軟件測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程成功的測試是發(fā)現(xiàn)了尚未發(fā)現(xiàn)的錯誤的測試好的測試方案能夠發(fā)現(xiàn)尚未發(fā)現(xiàn)的錯誤6.6.2軟件測試原則在測試開始時(shí),不要認(rèn)為程序中沒有錯誤。如果沒有測試錯誤的愿望,是不太可能找出錯誤的。要避免測試自己編寫的程序,由別人來測試會更客觀、更有效。但在發(fā)現(xiàn)錯誤之后,要找出錯誤的根源并糾正錯誤時(shí),則應(yīng)由程序編寫者來進(jìn)行。測試用例要有輸入數(shù)據(jù)和對應(yīng)的預(yù)期結(jié)果。要對合理的輸入數(shù)據(jù)和不合理的輸入數(shù)據(jù)都進(jìn)行測試,這樣才可測試出程序的排錯能力。不僅要檢查程序功能是否完備,還應(yīng)檢查程序是否做了多余的工作。要精心設(shè)計(jì)測試方案,盡量把軟件中的錯誤測試出來。對錯誤較多的程序段應(yīng)進(jìn)行更深入的測試,因?yàn)殄e誤較多的程序段質(zhì)量較差,修改錯誤時(shí)容易引入新的錯誤。應(yīng)長期保存所有測試用例,直至該程序被廢棄。6.1結(jié)構(gòu)化程序設(shè)計(jì)6.2選擇程序設(shè)計(jì)語言6.3程序設(shè)計(jì)風(fēng)格本章內(nèi)容6.4程序設(shè)計(jì)質(zhì)量評價(jià)6.5程序設(shè)計(jì)文檔6.6軟件測試目標(biāo)和原則6.7軟件測試方法6.8軟件測試步驟6.9設(shè)計(jì)測試方案6.10軟件調(diào)試、驗(yàn)證與確認(rèn)6.11軟件測試計(jì)劃和分析報(bào)告6.7.1靜態(tài)分析與動態(tài)測試靜態(tài)分析不執(zhí)行被測試軟件,通過對需求分析說明書、軟件設(shè)計(jì)說明書及源程序做結(jié)構(gòu)檢查、流程圖分析、編碼分析等來找出軟件錯誤。動態(tài)測試通過執(zhí)行程序并分析程序來查錯。為了進(jìn)行軟件測試,需要預(yù)先準(zhǔn)備好兩種數(shù)據(jù),一是輸入數(shù)據(jù),二是預(yù)期的輸出結(jié)果。以發(fā)現(xiàn)錯誤為目標(biāo)的用于軟件測試的輸入數(shù)據(jù)及與之對應(yīng)的預(yù)期輸出結(jié)果叫測試用例。設(shè)計(jì)測試用例是動態(tài)測試的關(guān)鍵。靜態(tài)分析動態(tài)測試6.7.2黑盒法與白盒法黑盒法01OPTION黑盒法(BlackBoxTesting)又稱功能測試,其測試用例完全是根據(jù)程序的功能說明來設(shè)計(jì)的。黑盒法是最基本的測試法之一,其主要目的是發(fā)現(xiàn)以下錯誤。是否有不正確的或遺漏的功能檢查輸入能否被正確地接收,軟件能否正確地輸出結(jié)果訪問外部信息是否有錯性能上能否滿足要求6.7.2黑盒法與白盒法白盒法02OPTION白盒法(WhiteBoxTesting)又稱結(jié)構(gòu)測試,其測試用例是根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)和執(zhí)行路徑來設(shè)計(jì)的。對于一些簡單的程序,窮盡測試無法實(shí)現(xiàn),而窮盡路徑測試有可能實(shí)現(xiàn)。用白盒法測試時(shí),從檢查程序的邏輯著手,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。在軟件測試時(shí),常把黑盒法和白盒法聯(lián)合起來進(jìn)行,這也稱為灰盒法。5G6.1結(jié)構(gòu)化程序設(shè)計(jì)6.2選擇程序設(shè)計(jì)語言6.3程序設(shè)計(jì)風(fēng)格本章內(nèi)容6.4程序設(shè)計(jì)質(zhì)量評價(jià)6.5程序設(shè)計(jì)文檔6.6軟件測試目標(biāo)和原則6.7軟件測試方法6.8軟件測試步驟6.9設(shè)計(jì)測試方案6.10軟件調(diào)試、驗(yàn)證與確認(rèn)6.11軟件測試計(jì)劃和分析報(bào)告6.8.1模塊測試測試模塊主要有驅(qū)動程序(也稱驅(qū)動模塊)和存根程序(也稱樁模塊)兩種。驅(qū)動程序代替主程序,用來測試子程序。它主要用在接收測試數(shù)據(jù)后,調(diào)用被測試模塊,輸出測試結(jié)果,由此來檢驗(yàn)子程序的處理是否正確。存根程序也稱“虛擬子程序”,代替被測試模塊所調(diào)用的模塊,利用存根程序測試主模塊。6.8.2集成測試集成測試分類01OPTION子系統(tǒng)測試是把通過模塊測試運(yùn)行正確的模塊放在一起形成子系統(tǒng)后再測試。這個(gè)步驟著重測試模塊的接口,測試模塊之間能否相互協(xié)調(diào)及通信時(shí)有沒有問題。把經(jīng)過測試運(yùn)行正確的子系統(tǒng)組裝成完整的系統(tǒng)后再進(jìn)行測試。系統(tǒng)測試的目的是測試整個(gè)硬件和軟件系統(tǒng),驗(yàn)證系統(tǒng)是否滿足規(guī)定的需求。子系統(tǒng)測試系統(tǒng)測試6.8.2集成測試漸增式集成策略02OPTION自頂向下集成即從主控模塊開始,把附屬的模塊組裝到軟件結(jié)構(gòu)中,可使用深度優(yōu)先的策略或?qū)挾葍?yōu)先的策略。自底向上集成策略從軟件結(jié)構(gòu)最底層的模塊開始組裝和測試,不需要存根程序,需要驅(qū)動程序,底層模塊的錯誤發(fā)現(xiàn)早,但是總體結(jié)構(gòu)的合理性及上層模塊的接口錯誤發(fā)現(xiàn)較晚。自頂向下集成自底向上集成6.8.3程序?qū)彶闀腿斯み\(yùn)行程序?qū)彶闀?1OPTION程序員逐句講述程序的邏輯結(jié)構(gòu),由測試專家提問、研究,判斷是否有錯誤存在。程序?qū)彶闀蓡T根據(jù)常見程序錯誤分析程序。為了確保會議的效率,應(yīng)使參加者集中精力查找錯誤,而不是改正錯誤。會后再由程序員自己來改正錯誤。程序?qū)彶闀臅r(shí)間每次最好控制在90到120分鐘之間,時(shí)間太長了效率不高。5G6.8.3程序?qū)彶闀腿斯み\(yùn)行人工運(yùn)行02OPTION人工運(yùn)行是閱讀程序查錯的一種方法,人工運(yùn)行小組的成員由編程人員及其他有豐富經(jīng)驗(yàn)的程序員、其他項(xiàng)目的參加者等組成。人工運(yùn)行時(shí),要求與會者模擬計(jì)算機(jī)運(yùn)行程序,把各種測試情況沿著程序邏輯走一遍,通過向程序員詢問程序的邏輯設(shè)計(jì)情況來發(fā)現(xiàn)錯誤。6.8.4確認(rèn)測試軟件確認(rèn)是在軟件開發(fā)過程結(jié)束時(shí)對軟件進(jìn)行評價(jià),以確認(rèn)它和軟件需求規(guī)格說明書是否一致的過程。確認(rèn)(Validation)測試也稱驗(yàn)收(Verification)測試,其目標(biāo)是驗(yàn)證軟件的有效性。確認(rèn)測試必須有用戶積極參與,以用戶為主進(jìn)行Alpha測試和Beta測試軟件配置復(fù)審6.8.5平行運(yùn)行比較重要的軟件要有一段試運(yùn)行時(shí)間,此時(shí)新開發(fā)的系統(tǒng)與原先的舊系統(tǒng)同時(shí)運(yùn)行,稱為平行運(yùn)行。平行運(yùn)行時(shí)要及時(shí)與舊系統(tǒng)比較處理結(jié)果,這樣做有以下幾個(gè)好處。讓用戶熟悉系統(tǒng)運(yùn)行情況,并驗(yàn)證用戶手冊的正確性。若發(fā)現(xiàn)問題可及時(shí)對系統(tǒng)進(jìn)行修改??蓪ο到y(tǒng)的性能指標(biāo)進(jìn)行全面測試,以保證系統(tǒng)的質(zhì)量。6.1結(jié)構(gòu)化程序設(shè)計(jì)6.2選擇程序設(shè)計(jì)語言6.3程序設(shè)計(jì)風(fēng)格本章內(nèi)容6.4程序設(shè)計(jì)質(zhì)量評價(jià)6.5程序設(shè)計(jì)文檔6.6軟件測試目標(biāo)和原則6.7軟件測試方法6.8軟件測試步驟6.9設(shè)計(jì)測試方案6.10軟件調(diào)試、驗(yàn)證與確認(rèn)6.11軟件測試計(jì)劃和分析報(bào)告6.9.1等價(jià)類劃分法方法01OPTION等價(jià)類劃分(EquivalencePartitioning)法是黑盒法設(shè)計(jì)測試方案的一種,它把所有可能的輸入數(shù)據(jù)劃分成有限個(gè)等價(jià)類,用每個(gè)等價(jià)類中的一個(gè)典型值作為測試數(shù)據(jù)。在等價(jià)類中各個(gè)數(shù)據(jù)的測試作用與這一類中所有其他數(shù)據(jù)的測試作用相同,因此在每個(gè)等價(jià)類中只用一組數(shù)據(jù)作為代表進(jìn)行測試來發(fā)現(xiàn)程序中的錯誤。等價(jià)類可以交錯。5G6.9.1等價(jià)類劃分法等價(jià)類劃分的規(guī)則02OPTION1342如果輸入數(shù)據(jù)有規(guī)定的個(gè)數(shù),則符合規(guī)定個(gè)數(shù)的數(shù)據(jù)屬于有效等價(jià)類,不輸入數(shù)據(jù)或超出規(guī)定個(gè)數(shù)的數(shù)據(jù)屬于無效等價(jià)類如果輸入數(shù)據(jù)有一定的規(guī)則,則符合規(guī)則的數(shù)據(jù)組成有效等價(jià)類,各種不符合規(guī)則的數(shù)據(jù)組成不同的無效等價(jià)類如果輸入數(shù)據(jù)有一個(gè)規(guī)定的集合,而且程序?qū)Σ煌妮斎霐?shù)據(jù)有不同的處理,則集合中的元素屬于有效等價(jià)類,集合外的元素屬于無效等價(jià)類如果輸入數(shù)據(jù)有規(guī)定范圍,則范圍內(nèi)的數(shù)據(jù)屬于有效等價(jià)類,小于最小值或大于最大值均屬于無效等價(jià)類6.9.1等價(jià)類劃分法等價(jià)類劃分法的步驟03OPTION研究程序的功能說明,以確定輸入數(shù)據(jù)是有效等價(jià)類還是無效等價(jià)類。分析輸出數(shù)據(jù)的等價(jià)類,以便根據(jù)輸出數(shù)據(jù)的等價(jià)類導(dǎo)出相應(yīng)的輸入數(shù)據(jù)等價(jià)類。6.9.1等價(jià)類劃分法等價(jià)類測試步驟04OPTION劃分等價(jià)類,為每個(gè)等價(jià)類編號。設(shè)計(jì)測試用例,使它覆蓋盡可能多的有效等價(jià)類,直到所有有效等價(jià)類均被覆蓋為止。設(shè)計(jì)新的測試用例,每個(gè)測試用例覆蓋一個(gè)且僅覆蓋一個(gè)無效等價(jià)類,直到所有無效等價(jià)類均被覆蓋為止。5G6.9.2邊界值分析法如果輸入值有規(guī)定范圍,則測試這個(gè)范圍內(nèi)及兩個(gè)邊界和剛剛超出范圍的情況。如果輸入數(shù)據(jù)有規(guī)定的個(gè)數(shù),分別對最多個(gè)數(shù)、最少個(gè)數(shù)、稍大于最多個(gè)數(shù)和稍小于最少個(gè)數(shù)的情況進(jìn)行測試。在輸入值有一定規(guī)則或有規(guī)定的集合時(shí),要多思考以找出各種邊界條件,對它們進(jìn)行測試,盡量不要遺漏可能產(chǎn)生錯誤的情況。對輸出數(shù)據(jù)等價(jià)類的邊界情況,要分析出與其對應(yīng)的輸入數(shù)據(jù),對它們也應(yīng)進(jìn)行測試。邊界值分析法看起來很簡單,若能正確地掌握這種分析法,往往會是最有效的測試方法之一。6.9.3錯誤推測法錯誤推測法主要考慮某些容易發(fā)生錯誤的特殊情況來設(shè)計(jì)測試用例。錯誤推測法主要靠直覺和經(jīng)驗(yàn)進(jìn)行,因而沒有確定的步驟。等價(jià)類劃分法和邊界值分析法都只孤立地考慮單個(gè)數(shù)據(jù)輸入后的測試效果,而沒有考慮多個(gè)數(shù)據(jù)輸入時(shí)不同的組合所產(chǎn)生的效果,有時(shí)可能會遺漏容易出錯的輸入數(shù)據(jù)的組合情況,有效的辦法是用判定表或判定樹把輸入數(shù)據(jù)的各種組合與對應(yīng)的處理結(jié)果列出來進(jìn)行測試。6.9.4邏輯覆蓋法白盒法根據(jù)程序邏輯結(jié)構(gòu)進(jìn)行測試,邏輯覆蓋(LogicCoverage)法是一系列測試過程的總稱,這些測試是逐漸地、越來越完整地進(jìn)行通路測試。語句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋路徑覆蓋邊覆蓋點(diǎn)覆蓋條件組合覆蓋6.9.5實(shí)用測試策略在對軟件系統(tǒng)進(jìn)行測試時(shí),應(yīng)聯(lián)合使用各種測試方法進(jìn)行綜合測試,通常先用黑盒法設(shè)計(jì)基本測試用例,再用白盒法補(bǔ)充一些必要的測試用例,具體測試策略如下。用等價(jià)類劃分法設(shè)計(jì)測試方案。使用邊界值分析法,既測試輸入數(shù)據(jù)的邊界情況,又檢查輸出數(shù)據(jù)的邊界情況。如果含有輸入條件的組合情況,要分析所有條件組合的執(zhí)行情況。必要時(shí)用錯誤推測法補(bǔ)充測試方案。用邏輯覆蓋法檢查現(xiàn)有測試方案,若沒有達(dá)到邏輯覆蓋標(biāo)準(zhǔn),再補(bǔ)充一些測試用例。6.1結(jié)構(gòu)化程序設(shè)計(jì)6.2選擇程序設(shè)計(jì)語言6.3程序設(shè)計(jì)風(fēng)格本章內(nèi)容6.4程序設(shè)計(jì)質(zhì)量評價(jià)6.5程序設(shè)計(jì)文檔6.6軟件測試目標(biāo)和原則6.7軟件測試方法6.8軟件測試步驟6.9設(shè)計(jì)測試方案6.10軟件調(diào)試、驗(yàn)證與確認(rèn)6.11軟件測試計(jì)劃和分析報(bào)告6.10.1軟件調(diào)試軟件調(diào)試的目的盡可能多地發(fā)現(xiàn)程序中的錯誤。軟件調(diào)試的目的是確定錯誤的原因和位置、分析和改正程序中的錯誤。1軟件調(diào)試的方法進(jìn)行軟件測試,檢查哪個(gè)模塊、哪段程序有錯。糾錯,要確定錯誤發(fā)生的確切位置和錯誤的原因并改正錯誤。2軟件調(diào)試技術(shù)對計(jì)算機(jī)工作過程進(jìn)行模擬或跟蹤,記錄中間結(jié)果,發(fā)現(xiàn)錯誤立即糾正。設(shè)置輸出語句逐層分塊調(diào)試對分查找調(diào)試回溯法36.10.2軟件驗(yàn)證軟件驗(yàn)證是確定軟件開發(fā)周期中一個(gè)給定階段的產(chǎn)品是否滿足需求的過程。軟件驗(yàn)證的方法如下。確定軟件操作正確指示軟件操作錯誤指示軟件執(zhí)行時(shí)產(chǎn)生錯誤的原因把源程序和軟件配置的其他組成部分自動輸入系統(tǒng)6.
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人質(zhì)釋放協(xié)議書范本
- 物業(yè)繼承債務(wù)協(xié)議書
- 支付房租欠款協(xié)議書
- 配偶之間房產(chǎn)協(xié)議書
- 醫(yī)院食堂供暖協(xié)議書
- 塔吊器材租賃協(xié)議書
- 實(shí)施項(xiàng)目協(xié)議書范文
- 農(nóng)場買賣協(xié)議書范本
- 終止經(jīng)營協(xié)議書范本
- 戀愛協(xié)議書劇情介紹
- 育嬰行業(yè)前景及就業(yè)前景
- 2024年美容師考試?yán)碚摶仡櫾囶}及答案
- Unit5Whatwereyoudoingwhentherainstormcame?SectionB1a-1d課件人教版八年級英語下冊
- 2025年中鐵快運(yùn)股份有限公司招聘(98人)筆試參考題庫附帶答案詳解
- 老舊城市燃?xì)夤艿栏赂脑旃こ淘O(shè)計(jì)方案
- 中醫(yī)經(jīng)典臨證思維與實(shí)踐知到課后答案智慧樹章節(jié)測試答案2025年春浙江中醫(yī)藥大學(xué)
- 動火和受限空間作業(yè)監(jiān)護(hù)人考試題有答案
- 《高頻電子技術(shù)》5振幅調(diào)制解調(diào)與混頻電路
- 老年肺炎臨床診斷與治療專家共識解讀(2025年)解讀課件
- 制藥廢水處理工藝
- 2025年晉城職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
評論
0/150
提交評論