




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、大學(xué)課 程 設(shè) 計(jì) 說 明 書課程名稱 軟件測試技術(shù)課程設(shè)計(jì) 題 目 CppCheck測試 院 系 信息工程學(xué)院 班 級 計(jì)科131 學(xué)生姓名 指導(dǎo)教師 日 期 2016.7.5 課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)題目CppCheck測試姓名學(xué)號1專業(yè)班級計(jì)算機(jī)組別組長同組成員 指導(dǎo)教師課程設(shè)計(jì)目的通過本課程設(shè)計(jì),深刻理解和掌握軟件測試的基本方法、基本技術(shù)和常用測試工具,熟練掌握測試用例的設(shè)計(jì),同時進(jìn)一步提高學(xué)生對于復(fù)雜程序的編寫能力,為學(xué)生將來從事實(shí)際軟件測試工作和進(jìn)一步深入研究打下堅(jiān)實(shí)的理論基礎(chǔ)和實(shí)踐基礎(chǔ)。課程設(shè)計(jì)環(huán)境硬件:裝有windows操作系統(tǒng)的計(jì)算機(jī)軟件:CppCheck課程設(shè)計(jì)任務(wù)和要求任務(wù)
2、要求:1理解CPPCheck軟件的基本功能和特征;2. 掌握軟件測試方法在CPPCheck測試中的運(yùn)用;3完成CPPCheck相關(guān)任務(wù)模塊測試用例的設(shè)計(jì);4實(shí)現(xiàn)CPPCheck的核心功能的測試;5撰寫測試CPPCheck軟件的相關(guān)文檔;6撰寫出符合要求的課程設(shè)計(jì)報(bào)告。參考文獻(xiàn)1.鄭人杰,軟件測試技術(shù),清華大學(xué)出版社2.徐仁佐,軟件可靠性技術(shù),清華大學(xué)出版社3.林寧、孟慶余,軟件測試使用指南,清華大學(xué)出版社4.古樂、史九林,軟件測試技術(shù)概論,清華大學(xué)出版社時 間 進(jìn) 度 安 排序號起止日期工 作 內(nèi) 容15.4學(xué)生熟悉題目背景,選題25.5-6.3CppCheck測試需求分析36.4-6.9Cp
3、pCheck測試設(shè)計(jì)46.10-6.15CppCheck測試56.16-6.22撰寫上交課程設(shè)計(jì)報(bào)告任課教師: 時間:2016.7.5目錄一任務(wù)的描述11.1目標(biāo)11.2測試對象介紹:11.2.1 概述:11.2.2介紹:21.2.3 基本使用:21.2.4 高級使用:21.4運(yùn)行環(huán)境:51.5條件與限制:5二測試設(shè)計(jì)521測試階段的選擇:52.1.1單元測試52.1.2集成測試72.1.3系統(tǒng)測試(System Testing):722測試方法的選擇:72.3 選擇工具:82.4設(shè)計(jì)測試用例:92.4.1靜態(tài)測試9三測試執(zhí)行和結(jié)果103.1白盒測試103.2黑盒測試16四測試的結(jié)果19五.
4、感想認(rèn)識20六參考文獻(xiàn)21歡迎下載課程設(shè)計(jì)報(bào)告文檔一任務(wù)的描述1.1目標(biāo)測試的目的就是希望能以最少的人力和時間發(fā)現(xiàn)潛在的各種錯誤和缺陷。應(yīng)根據(jù)開發(fā)各階段的需求、設(shè)計(jì)等文檔或程序的內(nèi)部結(jié)構(gòu)精心設(shè)計(jì)測試用例,并利用這些實(shí)例來運(yùn)行程序,以便發(fā)現(xiàn)錯誤。信息系統(tǒng)測試應(yīng)包括軟件測試、硬件測試和網(wǎng)絡(luò)測試。硬件測試、網(wǎng)絡(luò)測試可以根據(jù)具體的性能指標(biāo)來進(jìn)行,此處所說的測試更多的是指軟件測試。一是對質(zhì)量或可接受性做出判斷:通過測試給出所測系統(tǒng)總體質(zhì)量現(xiàn)狀,譬如滿足工件的出入口標(biāo)準(zhǔn),達(dá)到發(fā)布要求,遺留缺陷或者風(fēng)險二是發(fā)現(xiàn)問題,而且盡可能早一些,并確保其得以修復(fù):目的是要發(fā)現(xiàn)問題,就需要使用不同的方法類型進(jìn)行測試,盡可
5、能早的發(fā)現(xiàn)問題,就是盡快的參與測試,并提高測試的效率和有效性,使嚴(yán)重的問題盡早被發(fā)現(xiàn);確保缺陷得以修復(fù),需要說明的是不是所有的缺陷都可以被修復(fù)的,那么我們要在提交缺陷單的時候自己首先已經(jīng)有一個尺度,哪些是必須解決的,哪些是有時間可以解決的,那些是可以推遲到下個版本,哪些是無法解決但是要提出來的,跟自己的團(tuán)隊(duì)磨合久了,測試人員心理這個尺度應(yīng)該是很清楚的,再則就是注意與開發(fā)之間的溝通技巧和專業(yè)度,特別在國內(nèi)團(tuán)隊(duì),隨意性比較大,某個缺陷的解決很可能是因?yàn)殚_發(fā)心情好或者跟開發(fā)者交情好,或者開發(fā)覺得你夠?qū)I(yè)。三是改進(jìn)測試過程或者軟件開發(fā)過程:通過測試,對一些測試數(shù)據(jù)的度量和報(bào)告,對團(tuán)隊(duì)合作上一些問題的發(fā)
6、現(xiàn)和總結(jié),可以反過來為測試過程和開發(fā)過程的改進(jìn)提供依據(jù),從而促進(jìn)團(tuán)隊(duì)朝著更積極有效的方向發(fā)展??傊龅揭宰钌俚娜肆?、物力、時間找出軟件潛在的錯誤和缺陷。1.2測試對象介紹:1.2.1 概述:Cppcheck是一種C/C+代碼缺陷靜態(tài)檢查工具。不同于C/C+編譯器及其它分析工具,Cppcheck只檢查編譯器檢查不出來的bug,不檢查語法錯誤。1.2.2介紹:cppcheck 是一個靜態(tài)代碼檢查工具,支持c, c+ 代碼;作為編譯器的一種補(bǔ)充檢查,cppcheck對產(chǎn)品的源代碼執(zhí)行嚴(yán)格的邏輯檢查。 執(zhí)行的檢查包括:1. 自動變量檢查2. 數(shù)組的邊界檢查3. class類檢查4. 過期的函數(shù),廢棄
7、函數(shù)調(diào)用檢查5. 異常內(nèi)存使用,釋放檢查6. 內(nèi)存泄漏檢查,主要是通過內(nèi)存引用指針7. 操作系統(tǒng)資源釋放檢查,中斷,文件描述符等8. 異常STL 函數(shù)使用檢查9. 代碼格式錯誤,以及性能因素檢查1.2.3 基本使用: 首先下載安裝,例如我的是安裝在C:CpptestCppcheck 目錄下,要使用它必須先轉(zhuǎn)到該路徑下:1.檢查一個文件:cppcheck filepath例如,我檢查一個file1.c的文件代碼,在命令工具中可以輸入:D:CpptestCppcheckcppcheck file1.c 來審查。2.檢查一個文件夾中的所有文件: cppcheck filspath例如,我檢查file
8、s文件下的所有文件:C:CpptestCppcheckcppcheck files3. 格式化輸出內(nèi)容格式:C:CpptestCppcheckcppcheck -enable=all -template=vs C:files.c 2C:Cpptesterr.txt-template=vs 就是指定以vs這種格式輸出,還可以自定義輸出格式, 1.2.4 高級使用:1.xml 輸出a.使用方式:cppcheck -xml-version=2 foo.cppb.error的組成元素:id:error的idseverity:error的性質(zhì)(error、warning.)msg:error的具體信息(
9、短格式)verbose:error的信息(長格式)c.location的組成元素:file:含有相對或者絕對路徑的文件名line:行數(shù)msg:消息描述 2.改良輸出結(jié)果cppcheck -template=vs path (Visual Studio 兼容模式)cppcheck -template=gcc path (Gcc兼容模式)cppcheck -template=file,line,severity,id,message3.輸出過濾器(選特定的錯誤信息輸出)命令行模式:cppcheck -suppress=memleak:src/file1.cpp src/使用文件模式(將過濾規(guī)則存到
10、文件中)cppcheck-suppressions suppressions.txt src/1.3. 任務(wù)描述: 1理解CPPCheck軟件的基本功能和特征;2. 掌握軟件測試方法在CPPCheck測試中的運(yùn)用;3完成CPPCheck相關(guān)任務(wù)模塊測試用例的設(shè)計(jì);4實(shí)現(xiàn)CPPCheck的核心功能的測試;5撰寫測試CPPCheck軟件的相關(guān)文檔;6撰寫出符合要求的課程設(shè)計(jì)報(bào)告。各種注冊的check子類及ruleC+ codecppcheck系統(tǒng)結(jié)構(gòu)圖: Sotting tokensCppcheck核心代碼解析錯誤輸出檢查錯誤報(bào)告輸出ErrorLogger參數(shù)分析1.4運(yùn)行環(huán)境:硬件:裝有wind
11、ows操作系統(tǒng)的計(jì)算機(jī)測試工具:CppCheck Quick Test Professional VC+6.01.5條件與限制:條件:被測試代碼的路徑必須是全英文,內(nèi)存要動態(tài)分配限制:只能執(zhí)行C/C+源代碼,該軟件只能進(jìn)行靜態(tài)檢測二測試設(shè)計(jì)21測試階段的選擇:2.1.1單元測試(1)定義:單元測試(又稱為模塊測試)是針對程序模塊軟件設(shè)計(jì)的最小單位)來進(jìn)行正確性檢驗(yàn)的測試工作。程序單元是應(yīng)用的最小可測試部件。在過程化編程中,一個單元就是單個程序、函數(shù)、過程等;對于面向?qū)ο缶幊?,最小單元就是方法,包括基類(超類)、抽象類、或者派生類(子類)中的方法。?)單元測試任務(wù)包括:1模塊接口測試;2模塊局
12、部數(shù)據(jù)結(jié)構(gòu)測試;3模塊邊界條件測試;4模塊中所有獨(dú)立執(zhí)行通路測試;5模塊的各條錯誤處理通路測試。1、 單元的基本屬性:1.明確的功能 2.可定義的規(guī)格 3.與其他單元接口的清晰劃分2、 單元測試的目的: 在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯誤,主要是基于白盒測試。1.驗(yàn)證代碼是與設(shè)計(jì)相符合的;2.發(fā)現(xiàn)設(shè)計(jì)和需求中存在的錯誤;3.發(fā)現(xiàn)在編碼過程中引入的錯誤。(和設(shè)計(jì)不相符或和設(shè)計(jì)相符,但是由于編碼疏漏引起)3、 單元測試關(guān)注的重點(diǎn):1.出錯處理、2.單元接口、3.局部數(shù)據(jù)結(jié)構(gòu)、4.獨(dú)立路徑、5.邊界條件 4、 單元測試的主要關(guān)注點(diǎn):1.參數(shù)的屬性、順序、個數(shù)是否與LLD一致2.不能修改只做輸入用的
13、形參,否則可能導(dǎo)致數(shù)據(jù)的錯誤修改3.約束條件是否通過形參來傳送5、驅(qū)動和樁的功能: 1. 驅(qū)動單元:被測函數(shù)的主函數(shù),能接受輸入數(shù)據(jù),輸出實(shí)際測試結(jié)果2.樁單元:用來代替所測單元調(diào)用的子單元6、單元測試策略:孤立的測試策略、自頂向下、自底向上的單元測試策略1) 孤立的測試策略: 方法:不考慮每個模塊與其他模塊之間的關(guān)系,為每個模塊設(shè)計(jì)樁模塊和驅(qū)動模塊。每個模塊進(jìn)行獨(dú)立的單元測試。 優(yōu)點(diǎn):該方法是最簡單,最容易操作的??梢赃_(dá)到高的結(jié)構(gòu)覆蓋率。該方法是純粹的單元測試。 缺點(diǎn):樁函數(shù)和驅(qū)動函數(shù)工作量很大,效率低。2) 自頂向下的單元測試策略: 方法:先對最頂層的單元進(jìn)行測試,把頂層所調(diào)用的單元做成樁
14、模塊。其次對第二層進(jìn)行測試,使用上面已測試的單元做驅(qū)動模塊。如此類推直到測試完所有模塊。 優(yōu)點(diǎn):可以節(jié)省驅(qū)動函數(shù)的開發(fā)工作量,測試效率較高。 缺點(diǎn):隨著被測單元一個一個被加入,測試過程將變得越來越復(fù)雜,并且開發(fā)和維護(hù)的成本將增加。3) 自底向上的單元測試策略: 方法:先對模塊調(diào)用層次圖上最低層的模塊進(jìn)行單元測試,模擬調(diào)用該模塊的模塊做驅(qū)動模塊。然后再對上面一層做單元測試,用下面已被測試過的模塊做樁模塊。以此類推,直到測試完所有模塊。 優(yōu)點(diǎn):可以節(jié)省樁函數(shù)的開發(fā)工作量,測試效率較高。 缺點(diǎn):不是純粹的單元測試,底層函數(shù)的測試質(zhì)量對上層函數(shù)的測試將產(chǎn)生很大的影響。4、 單元測試的四個階段: 測試計(jì)
15、劃:完成單元測試計(jì)劃; 測試設(shè)計(jì):完成單元測試方案; 測試實(shí)現(xiàn):完成單元測試用例、單元測試規(guī)程、單元測試腳本及數(shù)據(jù)文件; 測試執(zhí)行:執(zhí)行單元測試用例,修改發(fā)現(xiàn)的問題并進(jìn)行回歸測試,提交單元測試報(bào)告。2.1.2集成測試1. 集成測試的目的:確保各組件組合在一起后能夠按照既定意圖寫作運(yùn)行,并確保增量的行為正確(屬于灰盒測試)1) 驗(yàn)證接口是否與設(shè)計(jì)相符2) 發(fā)現(xiàn)設(shè)計(jì)和需求中存在的錯誤2. 集成測試關(guān)注的重點(diǎn):單元間的接口、集成后的功能3. 集成測試的層次:模塊內(nèi)集成、子系統(tǒng)內(nèi)集成、子系統(tǒng)間集成4. 集成測試策略:1) 大爆炸集成2) 自頂向下集成3) 自底向上集成4) 三明治(混合式)集成5) 基
16、干集成6) 分層集成7) 基于功能的集成8) 基于消息的集成9) 基于進(jìn)度的集成10) 基于風(fēng)險的集成2.1.3系統(tǒng)測試(System Testing):系統(tǒng)測試,是將通過確認(rèn)測試的軟件,作為整個基于計(jì)算機(jī)系統(tǒng)的一個元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下,對計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測試和確認(rèn)測試。系統(tǒng)測試的目的在于通過與系統(tǒng)的需求定義作比較, 發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合或與之矛盾的地方。1. 系統(tǒng)測試目的:1) 通過與需求做比較,發(fā)現(xiàn)與系統(tǒng)定義不符合或與之矛盾的地方2) 系統(tǒng)測試的用例應(yīng)根據(jù)需求分析說明書來設(shè)計(jì),并在實(shí)際使用環(huán)境下運(yùn)行2.
17、 系統(tǒng)測試對象1) 軟硬件集合在一起的系統(tǒng)2) 驗(yàn)證時應(yīng)盡可能模擬實(shí)際的運(yùn)行環(huán)境與條件3. 系統(tǒng)測試常用類型:功能、性能、壓力、容量、安全性、GUI、可用性、安裝、配置、異常(恢復(fù)性)、備份、健壯性、文檔、在線幫助、網(wǎng)絡(luò)、穩(wěn)定性測試22測試方法的選擇:同行評審的概念 :同行評分是一種依據(jù)程序整體質(zhì)量,可維護(hù)性、可擴(kuò)展性、易用性和清晰性對匿名的 程序進(jìn)行技術(shù)評價的技術(shù)。改技術(shù)的目的是為程序員提供自我評價的手段。 2、實(shí)施過程: 選出一名程序員來擔(dān)任這個評分過程的管理員,管理員又會挑選出大約220名參與者,保持匿名,這些參與者否應(yīng)具有相似的背景要求每名參與者都挑選出兩個由自己編寫的程序以供評審。其
18、中的一個程序應(yīng)是參與者自認(rèn)為能代表其自身能力的最好的作品,而了另一個則是參與者自認(rèn)為質(zhì)量較差的作品。 當(dāng)所有程序都收集完畢后,就將這些程序隨即分發(fā)給參與者。沒名參與者拿到4個程序進(jìn)行評審,其中的兩個是“最好”的程序,另外兩個則是相對“較差”的程序,單評審人自己并不知道。每名參與者沒評審一個程序得花費(fèi)30分鐘,評審?fù)旰筇顚懸粡堅(jiān)u價表。所有4個程序都評審?fù)旰螅瑓⑴c者對4個程序的相對質(zhì)量進(jìn)行分級。評價表要求評審人用從17的分值對諸如下面的問題進(jìn)行回答: 1)程序是夠易于理解?2)高層次的設(shè)計(jì)是夠可見且合理?3)低層次的設(shè)計(jì)是否可見且合理? 4)修改此程序?qū)υu審者而言是否容易?5)評審者是否會以編寫出
19、該程序而驕傲?還要要求評審人給出總的評價和建議的改進(jìn)意見。評審結(jié)束后,參與者會收到自己的那兩個程序的匿名評價愛表,此外還會收到一個帶統(tǒng)計(jì)的總結(jié),說明在所有的程序中其程序的整體和具體得分情況,以及他對其他程序的評價愛與其他評審人同意程序打分的比較分析情況。評審目的:讓程序員對自身的編程技術(shù)進(jìn)行自我評價。2.3 選擇工具:請描述用QTP(Quick Test Professional)進(jìn)行功能測試的步驟:1.創(chuàng)建測試或建組 首先通過在應(yīng)用程序或網(wǎng)站上錄制會話,活著建立對象庫并使用關(guān)鍵字驅(qū)動功能向關(guān)鍵字視圖中手動添加步驟來創(chuàng)建測試或組件。在QTP里面我們可以通過兩種方式添加步驟來創(chuàng)建測試或組件: 在
20、應(yīng)用程序或網(wǎng)站上錄制會話。 建立對象庫并使用這些對象在關(guān)鍵字視圖或?qū)<乙晥D中手動添加步驟 然后在測試或組件中插入檢查點(diǎn),檢查頁面、對象或文本字符串中的特定值或特征,通過它可以表示網(wǎng)站或應(yīng)用程序是否正常運(yùn)行。 2.運(yùn)行測試和組建 控制運(yùn)行會話,幫助標(biāo)識和消除測試或組件中的缺陷。使用“單步執(zhí)行”、“單步跳過”和“單步退出”命令逐步運(yùn)行測試或組件,或設(shè)置斷點(diǎn)使測試或組件在預(yù)訂點(diǎn)暫停。 3.分析結(jié)果 在運(yùn)行測試或組件之后,通過兩種方式可以查看其結(jié)果:在“結(jié)果”窗口中查看;自動報(bào)告在運(yùn)行對話過程中檢測到的缺陷,可能的話并上報(bào)到其他缺陷管理產(chǎn)品中。2.4設(shè)計(jì)測試用例: 2.4.1靜態(tài)測試測試計(jì)劃、測試人員
21、、測試方式和測試結(jié)果1、進(jìn)度/工作量度量任務(wù)計(jì)劃開始計(jì)劃結(jié)束實(shí)際開始實(shí)際結(jié)束工作量(人時)測試計(jì)劃與設(shè)計(jì)2016-6-102016-6-222016-6-82016-6-204測試執(zhí)行2016-6-122016-6-222016-6-132016-6-204測試總結(jié)2016-6-202016-6-222016-6-202016-6-224(1) 代碼審查:代碼審查是通過代碼走讀的方式來實(shí)現(xiàn)的。(2) 代碼走讀是開發(fā)人員在對某個模塊的代碼(必須編譯通過)依據(jù)設(shè)計(jì)說明書完成編碼后,進(jìn)行的代碼評審活動。代碼走讀前要在內(nèi)部統(tǒng)一標(biāo)準(zhǔn),明確質(zhì)量目標(biāo)。評審中,除了看編碼是否緊扣設(shè)計(jì)外,走讀還應(yīng)兼顧三個層面:
22、第一個層可稱之為單元走讀,關(guān)注的是“單元”,一般是一個方法或一個類,需要查找代碼層面的錯誤,比如數(shù)據(jù)庫網(wǎng)絡(luò)資源的回收、一些異常的捕捉、空指針的檢查及關(guān)鍵字的使用是否正確等;第二個層面可稱之為集成走讀,關(guān)注的是接口和流程,包括傳人的參數(shù)檢查、返回值檢查及流程能否順利地進(jìn)行和正確串聯(lián)等;第三個層面可稱之為系統(tǒng)走讀,關(guān)注的是功能層面和業(yè)務(wù)邏輯,這時發(fā)現(xiàn)更多的應(yīng)該是邏輯錯誤和功能缺陷。當(dāng)然,在走讀過程中這三個層面不是截然分開的,很多時候是并行的、互相交織和滲透的。代碼走讀的另一個重要內(nèi)容是看代碼是否遵守編程規(guī)范引,是否具有可讀性和可維護(hù)性,注釋是否充足等。按編程規(guī)范編碼對提高代碼的可讀性以及降低編碼的
23、出錯率至關(guān)重要,在大型項(xiàng)目中,具備可讀性、規(guī)范性的代碼更是日后進(jìn)行有效維護(hù)的保障。因此,代碼走讀不僅可以保證代碼的質(zhì)量,更能有效地促進(jìn)整個項(xiàng)目的編碼水平。(3)代碼走讀:代碼檢查是通過桌面檢查、走查方式和代碼審查進(jìn)行的檢查: 包括: 檢查代碼和設(shè)計(jì)是否一致; 代碼是否對遵循標(biāo)準(zhǔn)、是否可讀; 代碼邏輯表達(dá)是否正確; 代碼結(jié)構(gòu)是否合理; 程序編寫與編寫標(biāo)準(zhǔn)是否符合; 程序中是否有不安全、不明確和模糊的部分; 編程風(fēng)格是否符合要求。 檢查變量的交叉引用表:是否有未說明的變量和違反了類型規(guī)定的變量。 檢查標(biāo)號的交叉引用表:驗(yàn)證所有標(biāo)號是否有正確。 檢查子程序、宏、函數(shù):驗(yàn)證每次調(diào)用與所調(diào)用位置是否正確
24、,調(diào)用的子程序、宏、函數(shù)是否存在,參數(shù)是否一致。 檢查全部等價變量的類型的一致性。 確認(rèn)常量的取值和數(shù)制、數(shù)據(jù)類型。 選擇、激活路徑:在設(shè)計(jì)控制流圖中選擇某條路徑,到實(shí)際的程序中激活這條路徑,如果不能激活,則程序可能有錯。 對照程序的規(guī)格說明,詳細(xì)閱讀源代碼,比較實(shí)際的代碼,從差異中發(fā)現(xiàn)程序的問題和錯誤。 2代碼檢查方式 桌面檢查 對源程序代碼進(jìn)行分析、檢驗(yàn),根據(jù)相關(guān)的文檔,檢驗(yàn)程序中是否有錯誤的過程。 3. 靜態(tài)結(jié)構(gòu)分析 可以檢查函數(shù)的調(diào)用關(guān)系是否正確; 是否存在孤立的函數(shù)而沒有被調(diào)用; 編碼的規(guī)范性; 資源是否釋放; 數(shù)據(jù)結(jié)構(gòu)是否完整和正確; 是否有死代碼和死循環(huán); 代碼本身是否存在明顯的
25、效率和性能問題; 代碼本身方法,類和函數(shù)的劃分是否清晰,易理解; 代碼本身是否健壯,是否有完善的異常處理和錯誤處理。三測試執(zhí)行和結(jié)果3.1白盒測試(1) 選擇測試平臺:VC(原因、優(yōu)缺點(diǎn))原因:VC是我熟悉的C/C+環(huán)境,學(xué)習(xí)C和C+語言都是用的VC,因此這個環(huán)境我并不陌生,測試起來相對壓力較小,并且它本身對C/C+有很好的兼容性。VC6優(yōu)點(diǎn):a,內(nèi)容少,學(xué)習(xí)成本低。b,常用功能操作簡單。c,占用資源少。有個笑話是:啟動VC6后寫了20行代碼,對方的VS201X還在啟動中。d,Win2000和以后的操作系統(tǒng)自帶mfc.dll。VC6缺點(diǎn):a,對stl支持不友好,VC6是98年,stl成為標(biāo)準(zhǔn)是
26、99年。b,Watch窗口,看到字符串太短。VC7也有這個問題,但能看到的長得多。c,VC6不可以附加。比如先啟動AutoCAD,再啟動VC7調(diào)試。d,調(diào)試時,無法改變常量的值。e,調(diào)試時,無法看到靜態(tài)變量的值。缺點(diǎn): 由于C+是由C語言發(fā)展起來的,也支持C語言的編譯。6.0版本是使用最多的版本,很經(jīng)典。最大的缺點(diǎn)是對于模版的支持比較差?,F(xiàn)在最新補(bǔ)丁為SP6,推薦安裝,否則易出現(xiàn)編譯時假死狀態(tài)。僅支持Windows操作系統(tǒng)。目前發(fā)現(xiàn)與windows 7兼容性不好,安裝成功后可能會出現(xiàn)無法打開cpp文件的現(xiàn)象。實(shí)驗(yàn)?zāi)康模耗苁炀殤?yīng)用白盒測試技術(shù)設(shè)計(jì)測試用例白盒測試原理:已知產(chǎn)品的內(nèi)部工作過程,可以
27、通過測試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否已經(jīng)過檢查。它是把測試對象看作裝在一個透明的白盒子里,也就是完全了解程序的結(jié)構(gòu)和處理過程。這種方法按照程序內(nèi)部的邏輯測試程序,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。其又稱為結(jié)構(gòu)測試。對于該實(shí)驗(yàn)的例子給出其流程圖如下圖所示,我們來了解白盒測試的基本技術(shù)和方法。1) 語句覆蓋測試用例輸入輸出magic判定M的取值判定N的取值覆蓋路徑x=1,y=112TFabefx=1,y=-10FTacdf2) 判定覆蓋測試用例輸入輸出magic判定M的取值判定N的取值覆蓋路徑x=1,y=112TFabefx=1,y=-10FTacdf1)
28、語句覆蓋x=1,y=1x=1,y=-12) 判定覆蓋x=1,y=1x=1,y=-1條件覆蓋x=1,y=1x=-1,y=-1。3.程序代碼#include/*static */int sign=0;static char m=T,n=T;/int logicExample(int,int);int logicExample(int x,int y)int magic=0;if(x0&y0)magic=x+y+10;sign+;elsemagic=x+y-10;m=F;if(magic0)magic=0;sign+=2;else n=F;return magic;main()int x,y;/st
29、atic int sign=0;/static char m=T,n=T,char p45=acef,abef,acdf,abdf;cout-n;coutx;couty;coutmagic 已知:0endl;cout-n;cout測試結(jié)果分別是:n;cout-n;coutx的值 y的值 logic的值 判定M 判定N 覆蓋路徑endl;cout-n;coutx y logicExample(x,y) m;cout n psignendl;4.畫出程序的控制流圖流程圖:3.2黑盒測試 1)選擇測試方法 選擇greatCircleDistance()函數(shù)greatCircleDistance()計(jì)
30、算球面距離,輸入的分別為兩個點(diǎn)的經(jīng)度和緯度以及球的半徑,以下為其源代碼 2) 設(shè)計(jì)測試用例(用例列表)針對此函數(shù)我運(yùn)用了等價類劃分的方法生成JUnit測試用例總共劃分出25個用例,等價類分別是:對LatitudeS劃分:-90到0,0到90以及不合法輸入;對LongitudeS劃分:-180到0,0到180以及不合法輸入;對LatitudeF劃分:-90到0,0到90以及不合法輸入;對LongitudeF劃分:-180到0,0到180以及不合法輸入;對半徑R的劃分:大于0以及不合法輸入;以下為具體的測試用例:LatitudeSLongitudeSLatitudeFLongitudeFR預(yù)期結(jié)果
31、實(shí)際測試結(jié)果303030301000通過303030-120100115.98通過3030-6030100157.08通過3030-60-12010063.003通過30-603030100131.812通過30-6030-12010089.566通過30-60-6030100112.296通過30-60-60-120100135.256通過-60303030100157.08通過-603030-12010063.003通過-6030-60301000通過-6030-60-120100100.807通過-60-603030100112.296通過-60-6030-120100135.256通過
32、-60-60-603010072.273通過-60-60-60-12010050.536通過軟件測試報(bào)告:1203060120100拋出異常通過-1203060120100拋出異常通過6030120120100拋出異常通過6030-120120100拋出異常通過303060120100拋出異常通過30-21060120100拋出異常通過3021060120100拋出異常通過303060-210100拋出異常通過303060120100拋出異常通過303060120-100拋出異常通過Bug引入階段由上圖可以看出,主要為前臺編碼和頁面設(shè)計(jì)方面的 bug,占到了全部 bug 的 2/3。 四測試的結(jié)果單元測試的嘗試?yán)镂矣龅搅藥讉€問題:問題1:代碼重復(fù)的問題太多 解決辦法:這個問題很容易解決,只需要把判斷預(yù)期結(jié)果和實(shí)際結(jié)果的邏輯提取
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度北京市體育俱樂部運(yùn)動員招募合同范本
- 二零二五年度保健服務(wù)貸款居間服務(wù)與客戶反饋合同
- 房地產(chǎn)項(xiàng)目開發(fā)建設(shè)合同書
- 服裝公司店鋪人員管理及店長心態(tài)調(diào)整
- 三農(nóng)教育與培訓(xùn)方案設(shè)計(jì)指南
- 產(chǎn)業(yè)園區(qū)產(chǎn)業(yè)規(guī)劃案例
- 安全文明施工工作方案
- 中國交通管理系統(tǒng)
- 航空業(yè)航班調(diào)度與安全管理系統(tǒng)優(yōu)化方案
- 服裝鞋帽智能化供應(yīng)鏈解決方案研究與應(yīng)用
- 農(nóng)村宅基地買賣合同的標(biāo)準(zhǔn)版該如何寫5篇
- 2025年安徽中醫(yī)藥高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫及參考答案
- 湖北省武漢市2024-2025學(xué)年高三2月調(diào)研考試英語試題含答案
- 2025年浙江省現(xiàn)場流行病學(xué)調(diào)查職業(yè)技能競賽理論參考試指導(dǎo)題庫(含答案)
- GB/T 45222-2025食品安全事故應(yīng)急演練要求
- 深靜脈的穿刺術(shù)課件
- 2025屆高考英語二輪復(fù)習(xí)備考策略課件
- 醫(yī)學(xué)課件-兒童2型糖尿病診治指南(2025)解讀
- 《結(jié)構(gòu)平法與鋼筋算量》課件-梁平法施工圖識讀
- 山東大學(xué)外科學(xué)歷年試題要點(diǎn)【表格版】
- 2025年南京機(jī)電職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
評論
0/150
提交評論