




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
湘潭大學(xué)第八章編碼和測試編碼概述編碼語言與編碼工具編碼示例測試的基本概念黑盒測試和白盒測試測試用例設(shè)計(jì)多模塊程序的測試策略面向?qū)ο笙到y(tǒng)的測試8.1編碼概述編碼的目的
編碼設(shè)計(jì)模型---->源程序--可執(zhí)行代碼(不可執(zhí)行的)
(可執(zhí)行的)
編碼的過程熟悉所選語言的功能和程序開發(fā)環(huán)境
仔細(xì)閱讀設(shè)計(jì)模型弄清要編碼的模塊的外部接口與內(nèi)部過程編碼的風(fēng)格追求“聰明”和“技巧”---〉提倡“簡明”和“直接”
使用標(biāo)準(zhǔn)的控制結(jié)構(gòu)
清晰的前提下求取效率.Makeitrightbeforeyoumakeitfaster..Makeitclearbeforeyoumakeitfaster..Keepitrightwhenyoumakeitfaster.(求快不忘保持程序正確).Keepitsimpletomakeitfaster.(保持程序簡單以求快).don’tsacrificeclarityfor“efficiency”.(書寫清楚,不要為“效率”犧牲清楚)源程序的文檔化有意義的變量名稱適當(dāng)?shù)淖⑨寴?biāo)準(zhǔn)的書寫格式——用分層縮進(jìn)的寫法顯示嵌套結(jié)構(gòu)的層次;——在注釋段的周圍加上邊框;——在注釋段與程序段、以及不同程序段之間插入空行;——每行只寫一條語句;——書寫表達(dá)式時,適當(dāng)使用空格或圓括號等作隔離符;
8.2編碼語言與編碼工具編碼語言的發(fā)展面向機(jī)器的語言高級語言(第3代)甚高級語言機(jī)器語言(第1代)匯編語言(第2代)結(jié)構(gòu)語言基礎(chǔ)語言面向語言第4代語言常用的編碼語言基礎(chǔ)語言FORTRANCOBOLBASIC結(jié)構(gòu)化語言PascalCAda面向?qū)ο笳Z言C++JavaC#編碼語言的選擇程序設(shè)計(jì)語言的選擇要為待開發(fā)項(xiàng)目選擇合適的程序設(shè)計(jì)語言,應(yīng)充分考慮到項(xiàng)目的各種需求,結(jié)合各種語言的心理特性、工程特性、技術(shù)特性以及應(yīng)用特點(diǎn),盡量選取實(shí)現(xiàn)效率高且易于理解和維護(hù)的語言。選擇編碼語言的標(biāo)準(zhǔn)應(yīng)用領(lǐng)域算法與計(jì)算復(fù)雜性數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性效率的考慮適用各類應(yīng)用領(lǐng)域的語言年代應(yīng)用領(lǐng)域主要語言其他語言20世紀(jì)60年代商業(yè)COBOLAssembler科學(xué)計(jì)算FORTRANALGOL,BASIC,APL系統(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
編碼工具基于4GL的編碼工具EclipseNetBeansVisualStudioDelphiPowerbuilder8.3編碼示例網(wǎng)上購物系統(tǒng)將設(shè)計(jì)模型轉(zhuǎn)換為源代碼注冊維護(hù)購物車8.4測試的基本概念軟件測試動態(tài)查找程序代碼中的各類錯誤和問題的過程測試的目的與任務(wù)
目的:發(fā)現(xiàn)程序的錯誤;任務(wù):通過在計(jì)算機(jī)上執(zhí)行程序,暴露程序中潛在的錯誤。糾錯的目的與任務(wù)目的:定位和糾正錯誤;任務(wù):消除軟件故障,保證程序的可靠運(yùn)行。測試和糾錯信息流程軟件測試結(jié)果錯誤信息改正信息測試用例期望結(jié)果測試評價(jià)糾錯測試的特性挑剔性只有抱著為證明程序有錯的目的去測試,才能把程序中潛在的大部分錯誤找出來復(fù)雜性設(shè)計(jì)測試用例是一項(xiàng)需要細(xì)致和高度技巧的工作不徹底性程序測試只能證明錯誤的存在,但不能證明錯誤不存在經(jīng)濟(jì)性選擇一些典型的、有代表性的測試用例,進(jìn)行有限的測試測試的種類軟件測試方法的分類軟件測試靜態(tài)測試(程序不執(zhí)行)動態(tài)測試(程序執(zhí)行)“辦公桌”檢查會審走查(排查)靜態(tài)分析器(自動工具)代碼評審(人工方式)黑盒測試(測試功能)白盒測試(測試結(jié)構(gòu))測試文檔測試計(jì)劃測試內(nèi)容說明測試項(xiàng)目的名稱各項(xiàng)測試的目的步驟和進(jìn)度測試用例的設(shè)計(jì)測試報(bào)告測試結(jié)果測試項(xiàng)目名稱實(shí)測結(jié)果與期望結(jié)果的比較發(fā)現(xiàn)的問題測試達(dá)到的效果軟件測試過程測試過程和項(xiàng)目開發(fā)過程完全平行,并有機(jī)地交互將測試出的問題納入項(xiàng)目的風(fēng)險(xiǎn)和進(jìn)度分析中,以調(diào)整下一步的開發(fā)和測試活動先做測試需求和設(shè)計(jì),再后才是測試實(shí)施8.5黑盒測試和白盒測試黑盒測試根據(jù)被測試程序功能來進(jìn)行測試等價(jià)分類法邊界值分析法錯誤猜測法白盒測試以程序結(jié)構(gòu)為依據(jù)的測試方法邏輯覆蓋法路徑測試法黑盒測試等價(jià)分類法(equivalencepartitioning)把輸入數(shù)據(jù)的可能值劃分為若干等價(jià)類
有效等價(jià)類和無效等價(jià)類每一無效等價(jià)類至少需要一個測試用例
例子某工廠公開招工,規(guī)定報(bào)名者年齡應(yīng)在16周歲至35周歲之間(到2008年3月止)即出生年月不在上述范圍內(nèi),將拒絕接受,并顯示“年齡不合格”等出錯信息。
“出生年月”的等價(jià)分類輸入數(shù)據(jù)有效等價(jià)類無效等價(jià)類出生年月①6位數(shù)字字符②有非數(shù)字字符③少于6個數(shù)字符④多于6個數(shù)字符對應(yīng)數(shù)值⑤在197302—199203之間⑥<197302⑦>199203月份對應(yīng)數(shù)值⑧在1—12之間⑨等于“0”⑩>12無效等價(jià)類的測試用例測試數(shù)據(jù)期望結(jié)果測試范圍MAY,75輸入無效②19755 輸入無效③1978011輸入無效④195512 年齡不合格⑥199606 年齡不合格⑦198200 輸入無效⑨197522 輸入無效⑩黑盒測試邊界值分析法(boundaryvalueanalysis)
使被測程序在邊界值及其附近運(yùn)行,從而更有效地暴露程序中潛藏的錯誤
錯誤猜測法(errorguessing)
猜測被測程序在哪些地方容易出錯
針對可能的薄弱環(huán)節(jié)來設(shè)計(jì)測試用例白盒測試邏輯覆蓋測試法(logiccoveragetesting)
用流程圖來設(shè)計(jì)測試用例
邏輯覆蓋測試的5種標(biāo)準(zhǔn)發(fā)現(xiàn)錯誤的能力
弱
強(qiáng)語句覆蓋每條語句至少執(zhí)行一次判定覆蓋每一判定的每個分支至少執(zhí)行一次條件覆蓋每一判定中的每個條件,分別按“真”、“假”至少各執(zhí)行一次判定/條件覆蓋同時滿足判定覆蓋和條件覆蓋的要求條件組合覆蓋求出判定中所有條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次白盒測試路徑測試法(pathtesting)著眼于程序執(zhí)行路徑的測試方法
程序圖(programgraph)
點(diǎn)覆蓋邊覆蓋路徑覆蓋8.7多模塊程序的測試策略測試的層次性
單元(模塊)測試(unittesting)綜合(集成)測試(integrationtesting)確認(rèn)測試(validationtesting)系統(tǒng)測試(systemtesting)單元測試目的
通過模塊測試,使其代碼達(dá)到模塊說明書的需求
任務(wù)
(1)對模塊代碼進(jìn)行編譯,發(fā)現(xiàn)并糾正其語法錯誤;(2)進(jìn)行靜態(tài)分析,驗(yàn)證模塊結(jié)構(gòu)及其內(nèi)部調(diào)用序列是否正確;(3)確定模塊的測試策略,并據(jù)此設(shè)計(jì)一組測試用例和必要的測試軟件;(4)用選定的測試用例對模塊進(jìn)行測試,直至滿足測試終止標(biāo)準(zhǔn)為止;(5)編制單元測試報(bào)告。
實(shí)施步驟編譯靜態(tài)分析器檢查代碼評審動態(tài)測試測試驅(qū)動模塊測試樁模塊集成測試目的將經(jīng)過單元測試的模塊逐步組裝成具有良好一致性的完整的程序任務(wù)制訂集成測試實(shí)施策略確定集成測試的實(shí)施步驟,設(shè)計(jì)測試用例逐一地添加模塊,進(jìn)行測試策略與步驟
自頂向下測試
先廣后深實(shí)施步驟
先深后廣實(shí)施步驟
由底向上測試
混合方式測試(sandwichtesting)
對上層模塊采取自頂向下測試
對關(guān)鍵模塊或子系統(tǒng)采取由底向上測試
確認(rèn)測試
目的
確認(rèn)組裝好的程序是否滿足(SRS)的要求任務(wù)有效性測試(黑盒測試)配置復(fù)審(confingurationreview)
驗(yàn)收測試—專用
alpha與beta測試—通用系統(tǒng)測試目的
軟件安裝到系統(tǒng)中以后,能否與系統(tǒng)的其余部分協(xié)調(diào)運(yùn)行
任務(wù)測試是否與硬件協(xié)調(diào)運(yùn)行測試是否和原來就有的其它軟件協(xié)調(diào)運(yùn)行
測試是否完成SRS對它的要求
終止測試的標(biāo)準(zhǔn)規(guī)定測試策略和應(yīng)達(dá)標(biāo)準(zhǔn)白盒測試時一般可規(guī)定以完全覆蓋為標(biāo)準(zhǔn)語句覆蓋率和判定覆蓋率必須分別達(dá)到100%黑盒測試時,可選擇一或數(shù)種方法設(shè)計(jì)測試用例,當(dāng)所有測試用例全部用完后便可終止規(guī)定至少要查出的錯誤數(shù)量把查出預(yù)定數(shù)量的錯誤,作為某類應(yīng)用程序的測試終止標(biāo)準(zhǔn)面向?qū)ο笙到y(tǒng)的測試OO軟件的測試策略O(shè)O軟件的測試策略與傳統(tǒng)測試策略有許多不同。OO軟件測試用例設(shè)計(jì)
與傳統(tǒng)的測試用例設(shè)計(jì)不同,OO測試更多地關(guān)注于測試類的狀態(tài)設(shè)計(jì)合適的操作序列。OO軟件的測試策略O(shè)O軟件的單元測試
對類的測試等價(jià)于傳統(tǒng)的單元測試,區(qū)別在于傳統(tǒng)的單元測試是針對程序的函數(shù)、過程等進(jìn)行測試。在OO軟件,單元是指封裝的類和對象。單元測試是全面地測試類和對象所封裝的屬性和操縱這些屬性的操作的整體。
發(fā)現(xiàn)類的所有操作中存在的問題。與其他的類協(xié)同工作時可能出現(xiàn)的錯誤。
OO軟件的集成測試
面向?qū)ο蟪绦驔]有層次的控制結(jié)構(gòu),相互調(diào)用的功能也是分散在不同的類中。所以傳統(tǒng)的集成測試方法不再適用。加之面向?qū)ο蟪绦蚓哂袆討B(tài)特性,程序控制流往往無法確定,故只能進(jìn)行基于黑盒方法的集成測試?;诤诤蟹椒ǖ募蓽y試策略:
基于線程的測試(thread-basedtesting):每個線程被集成并分別測試?;谑褂茫╱se-based)的測試:從相對獨(dú)立的類開始構(gòu)造系統(tǒng),然后集成并測試調(diào)用該獨(dú)立類的類,直到構(gòu)造出完整是系統(tǒng)。OO軟件的確認(rèn)測試和系統(tǒng)測試采用傳統(tǒng)的黑盒法對OOA階段的用例所描述的用戶交互進(jìn)行測試。導(dǎo)出OO系統(tǒng)測試的測試用例。對象—行為模型時序圖等模擬用戶實(shí)際使用環(huán)境。OO軟件測試用例設(shè)計(jì)
指導(dǎo)OO測試用例設(shè)計(jì)的方法要點(diǎn):每個測試用例都要有一個唯一的標(biāo)識,并與被測試的一個或幾個類相關(guān)聯(lián)起來;每個測試用例都要陳述測試的目的;對每個測試用例要有相應(yīng)的測試步驟,包括被測對象的特定狀態(tài)、所使用的消息和操作、可能產(chǎn)生的錯誤、測試需要的外部環(huán)境等。
OO概念對測試用例設(shè)計(jì)的影響
繼承的成員函數(shù)需要
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024廣東珠海市金灣區(qū)南泓產(chǎn)業(yè)投資有限公司招聘項(xiàng)目運(yùn)營人員1人筆試參考題庫附帶答案詳解
- 2025年甘肅有色冶金職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫1套
- 第二章第二節(jié)世界的海陸分布 教學(xué)設(shè)計(jì) 2023-2024學(xué)年湘教版地理七年級上冊
- 四川省江油市八校2024-2025學(xué)年七年級下學(xué)期開學(xué)考試語文試題(解析版)
- 說木葉教學(xué)設(shè)計(jì) 2023-2024學(xué)年統(tǒng)編版高中語文必修下冊
- 《統(tǒng)計(jì)表和條形統(tǒng)計(jì)圖(一)-運(yùn)動與身體變化》教學(xué)設(shè)計(jì)-2024-2025學(xué)年四年級上冊數(shù)學(xué)蘇教版
- Unit12 Review 3(教學(xué)設(shè)計(jì))-2023-2024學(xué)年北師大版(一起)英語六年級下冊
- 2024年六安霍邱合高現(xiàn)代產(chǎn)業(yè)園投資有限公司招聘4人筆試參考題庫附帶答案詳解
- 2025年湖南信息職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及參考答案
- 2024年下半年廣西現(xiàn)代物流集團(tuán)社會招聘校園招聘筆試參考題庫附帶答案詳解
- 人教版高一下英語單詞表
- 2025年中國遠(yuǎn)洋海運(yùn)集團(tuán)限公司中石化中海船舶燃料供應(yīng)限公司招聘26人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 2025年春季學(xué)期各周國旗下講話安排表+2024-2025學(xué)年度第二學(xué)期主題班會安排表
- 汽車電腦故障解碼器項(xiàng)目可行性研究報(bào)告評審方案設(shè)計(jì)2025年發(fā)改委標(biāo)準(zhǔn)
- 實(shí)驗(yàn)室生物安全培訓(xùn)
- 《幼兒教育政策與法規(guī)》教案-單元1 幼兒教育政策與法規(guī)
- 藥品專業(yè)知識培訓(xùn)考試試題5
- 五年級下冊勞動《日常收納》課件
- 第28課改革開放和社會主義現(xiàn)代化建設(shè)的巨大成就 課件-高一統(tǒng)編版(2019)必修中外歷史綱要上冊
- 豬場消防安全培訓(xùn)
- 2024年中國游戲產(chǎn)業(yè)報(bào)告
評論
0/150
提交評論