版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編碼測(cè)試復(fù)用與維護(hù)第1頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二編碼的目的 編碼模塊的過程性描述一一一源程序(不可執(zhí)行的)(可執(zhí)行的) 編碼的過程熟悉所選語言的功能和程序開發(fā)環(huán)境 仔細(xì)閱讀設(shè)計(jì)文檔詳細(xì)設(shè)計(jì) 弄清要編碼的模塊的外部接口與內(nèi)部過程 第2頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二編碼的風(fēng)格追求“聰明”和“技巧”-提倡“簡(jiǎn)明”和“直接” 使用標(biāo)準(zhǔn)的控制結(jié)構(gòu) 清晰的前提下求取效率 . Make it right before you make it faster. Make it clear before you make it faster. Keep
2、it right when you make it faster.(求快不忘保持程序正確). Keep it simple to make it faster.(保持程序簡(jiǎn)單以求快). dont sacrifice clarity for “efficiency”.(書寫清楚,不要為“效率”犧牲清楚)第3頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二源程序的文檔化 (code documentation)有意義的變量名稱 適當(dāng)?shù)淖⑨?標(biāo)準(zhǔn)的書寫格式用分層縮進(jìn)的寫法顯示嵌套結(jié)構(gòu)的層次;在注釋段的周圍加上邊框;在注釋段與程序段、以及不同程序段之間插入空行;每行只寫一條語句;書寫表達(dá)式時(shí)
3、,適當(dāng)使用空格或圓括號(hào)等作隔離符; 第4頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二程序設(shè)計(jì)語言的發(fā)展面向機(jī)器的語言高級(jí)語言(第3代)甚高級(jí)語言機(jī)器語言(第1代)匯編語言(第2代)結(jié)構(gòu)語言基礎(chǔ)語言面向?qū)ο笳Z言第4代語言第5頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二語言的選擇選擇編碼語言的標(biāo)準(zhǔn) 應(yīng)用領(lǐng)域 算法與計(jì)算復(fù)雜性 數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性 效率的考慮 第6頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二適用各類應(yīng)用領(lǐng)域的語言 年代應(yīng)用領(lǐng)域主要語言其他語言 20世紀(jì)60年代 商業(yè)COBOLAssembler科學(xué)計(jì)算FORTRANALGOL、BASIC、APL
4、系統(tǒng)AssemblerForth人工智能LISPSNOBOL 現(xiàn)代商業(yè)COBOL、C+、Java、 電子表格C、PL/1科學(xué)計(jì)算FORTRAN、C、C+ JavaBASIC系統(tǒng)C、C+、JavaAda、Modula人工智能LISP、Prolog第7頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二第九章 軟件測(cè)試 測(cè)試的基本概念 黑盒測(cè)試 白盒測(cè)試 測(cè)試用例設(shè)計(jì) 多模塊程序的測(cè)試策略 面向?qū)ο笙到y(tǒng)的測(cè)試 第8頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二測(cè)試的基本概念 測(cè)試(testing)的目的與任務(wù) 目的:發(fā)現(xiàn)程序的錯(cuò)誤 任務(wù):通過執(zhí)行程序,暴露潛在的錯(cuò)誤 糾錯(cuò)(deb
5、ugging)的目的與任務(wù) 目的:定位和糾正錯(cuò)誤 任務(wù):消除軟件故障,保證程序的可靠運(yùn)行 第9頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二測(cè)試的特性 挑剔性 抱著為證明程序有錯(cuò)的目的去測(cè)試 復(fù)雜性 設(shè)計(jì)合適的測(cè)試用例 不徹底性 Dijkstra 一句名言:“程序測(cè)試只能證明錯(cuò)誤的存在,但不能證明錯(cuò)誤不存在” 經(jīng)濟(jì)性第10頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二測(cè)試的種類 靜態(tài)分析(不執(zhí)行程序)靜態(tài)分析器代碼復(fù)審(Code Review)動(dòng)態(tài)分析(執(zhí)行程序)黑盒測(cè)試測(cè)試程序功能白盒測(cè)試測(cè)試程序結(jié)構(gòu)第11頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二測(cè)試
6、的文檔 測(cè)試計(jì)劃 測(cè)試項(xiàng)目的名稱各項(xiàng)測(cè)試的目的、步驟和進(jìn)度測(cè)試用例的設(shè)計(jì) 測(cè)試報(bào)告測(cè)試項(xiàng)目名稱實(shí)測(cè)結(jié)果與期望結(jié)果的比較發(fā)現(xiàn)的問題測(cè)試達(dá)到的效果 第12頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二黑盒測(cè)試 等價(jià)分類法(equivalence partitioning)把輸入數(shù)據(jù)的可能值劃分為若干等價(jià)類 有效等價(jià)類和無效等價(jià)類每一無效等價(jià)類至少需要一個(gè)測(cè)試用例 例子 某工廠公開招工,規(guī)定報(bào)名者年齡應(yīng)在16周歲至35周歲之間(到2002年3月30日止)即出生年月不在上述范圍內(nèi),將拒絕接受,并顯示“年齡不合格”等出錯(cuò)信息。 第13頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二
7、“出生年月”的等價(jià)分類 輸入數(shù)據(jù)有效等價(jià)類無效等價(jià)類出生年月6位數(shù)字字符 有非數(shù)字字符少于6個(gè)數(shù)字符多于6個(gè)數(shù)字符對(duì)應(yīng)數(shù)值在196702198603之間198603月份對(duì)應(yīng)數(shù)值在112之間等于“0” 12第14頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二黑盒測(cè)試邊界值分析法(boundary value analysis) 使被測(cè)程序在邊界值及其附近運(yùn)行,從而更有效地暴露程序中潛藏的錯(cuò)誤 錯(cuò)誤猜測(cè)法(error guessing) 猜測(cè)被測(cè)程序在哪些地方容易出錯(cuò) 針對(duì)可能的薄弱環(huán)節(jié)來設(shè)計(jì)測(cè)試用例 第15頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二白盒測(cè)試 邏輯復(fù)蓋測(cè)
8、試法(logic coverage testing) 用流程圖來設(shè)計(jì)測(cè)試用例 邏輯復(fù)蓋測(cè)試的5種標(biāo)準(zhǔn)發(fā)現(xiàn)錯(cuò)誤的能力弱強(qiáng)語句覆蓋每條語句至少執(zhí)行一次判定覆蓋每一判定的每個(gè)分支至少執(zhí)行一次條件覆蓋每一判定中的每個(gè)條件,分別按“真”、“假”至少各執(zhí)行一次判定/條件覆蓋同時(shí)滿足判定復(fù)蓋和條件復(fù)蓋的要求條件組合覆蓋求出判定中所有條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次第16頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二白盒測(cè)試路徑測(cè)試法(path testing)著眼于程序執(zhí)行路徑的測(cè)試方法 程序圖(program graph) 點(diǎn)覆蓋邊覆蓋路徑覆蓋第17頁,共55頁,2022年
9、,5月20日,20點(diǎn)30分,星期二測(cè)試用例設(shè)計(jì)黑盒測(cè)試用例設(shè)計(jì)三角形分類程序白盒測(cè)試用例設(shè)計(jì)學(xué)生成績(jī)查詢程序第18頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二軟件的糾錯(cuò)糾錯(cuò)的策略試湊法跟蹤法推理法常用的糾錯(cuò)技術(shù)插入打印語句設(shè)置斷點(diǎn)掩蔽部分程序蠻力糾錯(cuò)技術(shù)第19頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二多模塊程序的測(cè)試策略 測(cè)試的層次性 單元(模塊)測(cè)試(unit testing)綜合(集成)測(cè)試(integration testing)確認(rèn)測(cè)試(validation testing)系統(tǒng)測(cè)試(system testing)程序錯(cuò)誤的類型 語法錯(cuò)誤 結(jié)構(gòu)性錯(cuò)誤 功能
10、性錯(cuò)誤 接口錯(cuò)誤 第20頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二 單元測(cè)試 目的 通過模塊測(cè)試,使其代碼達(dá)到模塊說明書的需求 任務(wù) (1) 對(duì)模塊代碼進(jìn)行編譯,發(fā)現(xiàn)并糾正其語法錯(cuò)誤;(2) 進(jìn)行靜態(tài)分析,驗(yàn)證模塊結(jié)構(gòu)及其內(nèi)部調(diào)用序列是否正確;(3) 確定模塊的測(cè)試策略,并據(jù)此設(shè)計(jì)一組測(cè)試用例和必要的測(cè)試軟件;(4) 用選定的測(cè)試用例對(duì)模塊進(jìn)行測(cè)試,直至滿足測(cè)試終止標(biāo)準(zhǔn)為止;(5) 編制單元測(cè)試報(bào)告。 第21頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二單元測(cè)試實(shí)施步驟編譯靜態(tài)分析器檢查代碼評(píng)審動(dòng)態(tài)測(cè)試測(cè)試驅(qū)動(dòng)模塊測(cè)試樁模塊第22頁,共55頁,2022年,5月20日
11、,20點(diǎn)30分,星期二集成測(cè)試 目的 將經(jīng)過單元測(cè)試的模塊逐步組裝成具有良好一致性的完整的程序 任務(wù) 制訂集成測(cè)試實(shí)施策略 確定集成測(cè)試的實(shí)施步驟,設(shè)計(jì)測(cè)試用例 逐一地添加模塊,進(jìn)行測(cè)試第23頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二集成測(cè)試策略與步驟 自頂向下測(cè)試 先廣后深實(shí)施步驟 先深后廣實(shí)施步驟 由底向上測(cè)試 混合方式測(cè)試(sandwich testing) 對(duì)上層模塊采取自頂向下測(cè)試 對(duì)關(guān)鍵模塊或子系統(tǒng)采取由底向上測(cè)試 第24頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二 確認(rèn)測(cè)試 目的 確認(rèn)組裝好的程序是否滿足(SRS)的要求任務(wù)有效性測(cè)試(黑盒測(cè)試)配置
12、復(fù)審(confinguration review) 驗(yàn)收測(cè)試專用 alpha與beta測(cè)試通用第25頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二系統(tǒng)測(cè)試 目的 軟件安裝到系統(tǒng)中以后,能否與系統(tǒng)的其余部分協(xié)調(diào)運(yùn)行 任務(wù)測(cè)試是否與硬件協(xié)調(diào)運(yùn)行測(cè)試是否和原來就有的其它軟件協(xié)調(diào)運(yùn)行 測(cè)試是否完成SRS對(duì)它的要求 第26頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二終止測(cè)試的標(biāo)準(zhǔn)規(guī)定測(cè)試策略和應(yīng)達(dá)標(biāo)準(zhǔn)規(guī)定至少要查出的錯(cuò)誤數(shù)量第27頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二面向?qū)ο笙到y(tǒng)的測(cè)試 OO軟件的測(cè)試策略 OO軟件測(cè)試用例設(shè)計(jì) 第28頁,共55頁,2022年
13、,5月20日,20點(diǎn)30分,星期二OO軟件的測(cè)試策略O(shè)O軟件的單元測(cè)試 全面地測(cè)試類和對(duì)象所封裝的屬性和操縱這些屬性的操作的整體 發(fā)現(xiàn)類的所有操作中存在的問題 與其他的類協(xié)同工作時(shí)可能出現(xiàn)的錯(cuò)誤 OO軟件的集成測(cè)試 基于黑盒方法的集成測(cè)試 基于線程的測(cè)試(thread-based testing) 基于使用(use-based)的測(cè)試 第29頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二OO軟件的測(cè)試策略O(shè)O軟件的確認(rèn)測(cè)試和系統(tǒng)測(cè)試采用傳統(tǒng)的黑盒法 OOA階段的用例所描述的用戶交互進(jìn)行測(cè)試導(dǎo)出OO系統(tǒng)測(cè)試的測(cè)試用例 對(duì)象行為模型時(shí)序圖等 模擬用戶實(shí)際使用環(huán)境 第30頁,共55頁,2
14、022年,5月20日,20點(diǎn)30分,星期二OO軟件測(cè)試用例設(shè)計(jì) (1) 每個(gè)測(cè)試用例都要有一個(gè)唯一的標(biāo)識(shí),并與被測(cè)試的一個(gè)或幾個(gè)類相關(guān)聯(lián)起來;(2) 每個(gè)測(cè)試用例都要陳述測(cè)試的目的; (3)對(duì)每個(gè)測(cè)試用例要有相應(yīng)的測(cè)試步驟,包括被測(cè)對(duì)象的特定狀態(tài)、所使用的消息和操作、可能產(chǎn)生的錯(cuò)誤、測(cè)試需要的外部環(huán)境等 第31頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二OO概念對(duì)測(cè)試用例設(shè)計(jì)的影響 繼承的成員函數(shù)需要測(cè)試 子類的測(cè)試用例可以參照父類 類測(cè)試用例設(shè)計(jì) 基于故障的測(cè)試用例設(shè)計(jì)基于用例的測(cè)試用例設(shè)計(jì)類間測(cè)試用例設(shè)計(jì) 類關(guān)系模型 類行為模型 第32頁,共55頁,2022年,5月20日,2
15、0點(diǎn)30分,星期二第十章 軟件復(fù)用軟件復(fù)用的基本概念領(lǐng)域工程 基于構(gòu)件的開發(fā) 面向?qū)ο笈c軟件復(fù)用 小結(jié) 第33頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二軟件復(fù)用的基本概念 軟件復(fù)用的定義 第34頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二軟件復(fù)用的重要性 軟件復(fù)用的目的是能更快、更好、成本更低地生產(chǎn)軟件制品。一般地說,在軟件開發(fā)中采用復(fù)用構(gòu)件可以比從頭開發(fā)這個(gè)軟件更加容易。 第35頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二軟件復(fù)用的粒度 按照可復(fù)用的粒度,軟件制品從小到大分為以下幾類:源代碼復(fù)用軟件體系結(jié)構(gòu)復(fù)用應(yīng)用程序生成器領(lǐng)域特定的軟件體系結(jié)構(gòu)的
16、復(fù)用第36頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二領(lǐng)域工程所謂的“領(lǐng)域”,指的是一組具有相似或相近軟件需求的應(yīng)用系統(tǒng)所覆蓋的功能區(qū)域。通過領(lǐng)域分析(domain analysis)找出最優(yōu)復(fù)用,對(duì)它們進(jìn)行設(shè)計(jì)和構(gòu)造,形成為可復(fù)用構(gòu)件,進(jìn)而建立大規(guī)模的軟件構(gòu)件倉庫的過程,就是領(lǐng)域工程。第37頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二橫向復(fù)用和縱向復(fù)用 橫向復(fù)用是指復(fù)用不同應(yīng)用領(lǐng)域中的軟件元素??v向復(fù)用是指在一類具有較多公共性的應(yīng)用領(lǐng)域之間進(jìn)行軟部品復(fù)用。領(lǐng)域分析用戶需求軟件開發(fā)與構(gòu)件開發(fā)目標(biāo)軟件確認(rèn)可復(fù)用構(gòu)件庫檢索理解第38頁,共55頁,2022年,5月20日,
17、20點(diǎn)30分,星期二領(lǐng)域分析 定義領(lǐng)域分析是在特定應(yīng)用領(lǐng)域?qū)ふ易顑?yōu)復(fù)用,以公共對(duì)象、類、子集合和框架等形式進(jìn)行標(biāo)識(shí)、分析和規(guī)約。目標(biāo)是獲得領(lǐng)域分析模型 第39頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二領(lǐng)域分析的輸入和輸出 第40頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二建造可復(fù)用構(gòu)件 創(chuàng)建領(lǐng)域構(gòu)件的設(shè)計(jì)框架 標(biāo)準(zhǔn)數(shù)據(jù) 標(biāo)準(zhǔn)接口協(xié)議 程序模板第41頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二構(gòu)件模型 第42頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二建立可復(fù)用構(gòu)件庫 三種分類模式 枚舉分類 門面分類 屬性-值分類 第43頁,共55頁,2
18、022年,5月20日,20點(diǎn)30分,星期二基于構(gòu)件的開發(fā) 構(gòu)件集成模型應(yīng)用系統(tǒng)工程第44頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二面向?qū)ο笈c軟件復(fù)用 OO方法對(duì)軟件復(fù)用的支持復(fù)用技術(shù)對(duì)OO方法的支持第45頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二小結(jié)軟件復(fù)用是在軟件開發(fā)中避免重復(fù)勞動(dòng)的解決方案。通過軟件復(fù)用,可以提高軟件開發(fā)的效率和質(zhì)量。軟件復(fù)用研究被視為解決軟件危機(jī),提高軟件生產(chǎn)效率和質(zhì)量的現(xiàn)實(shí)可行的途徑。第46頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二第十一章 軟件維護(hù)軟件維護(hù)的種類 軟件可維護(hù)性 軟件維護(hù)的實(shí)施 軟件維護(hù)的管理 軟件再工程 第47頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二軟件維護(hù)的種類完善性維護(hù)(perfective maintenance) 適應(yīng)性維護(hù)(adaptive maintenance)糾錯(cuò)性維護(hù)(corrective maintenance)預(yù)防性維護(hù)(preventive maintenance) 第48頁,共55頁,2022年,5月20日,20點(diǎn)30分,星期二軟件可維護(hù)性 (maintainability) 影響可維護(hù)性的軟件屬性 可理解性(understandability) 可修改性(modifiability) 可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)合集【人力資源管理篇】
- 2024年廠年度勞動(dòng)競(jìng)賽的工作總結(jié)
- 《廣告的社會(huì)功能》課件
- 第1單元 中華人民共和國的成立與鞏固 (B卷·能力提升練)(解析版)
- 《孟子生平簡(jiǎn)介》課件
- 《杜絕校園欺凌》課件
- 超市客服話務(wù)員工作總結(jié)
- 探索生態(tài)之謎
- 2023年項(xiàng)目安全培訓(xùn)考試題(能力提升)
- 2023年項(xiàng)目部治理人員安全培訓(xùn)考試題附完整答案(必刷)
- 道路運(yùn)輸企業(yè)安全生產(chǎn)管理人員安全考核試題題庫與答案
- 年終抖音運(yùn)營述職報(bào)告
- 車間修繕合同模板
- 腦梗死患者的護(hù)理常規(guī)
- 2024年7月國家開放大學(xué)法律事務(wù)??啤斗勺稍兣c調(diào)解》期末紙質(zhì)考試試題及答案
- 護(hù)士條例解讀
- 兒童文學(xué)解讀導(dǎo)論智慧樹知到期末考試答案章節(jié)答案2024年嘉興大學(xué)
- 2023版押品考試題庫必考點(diǎn)含答案
- 密封固化劑配方分析
- 國際項(xiàng)目管理專業(yè)資質(zhì)認(rèn)證(ipmp)b級(jí)報(bào)告模板
- 計(jì)數(shù)培養(yǎng)基適用性檢查記錄表
評(píng)論
0/150
提交評(píng)論