版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
_軟件測(cè)試面試必備白盒測(cè)試策略?目錄TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc"1?白盒測(cè)試?PAGEREF_Toc\h3HYPERLINK\l"_Toc"1.1 概念 PAGEREF_Toc\h3HYPERLINK\l"_Toc"1.2 描述?PAGEREF_Toc\h3HYPERLINK\l"_Toc"1.3?目的 PAGEREF_Toc\h3HYPERLINK\l"_Toc"2 白盒測(cè)試策略?PAGEREF_Toc\h3HYPERLINK2.1?桌前檢查?PAGEREF_Toc\h3HYPERLINK\l"_Toc"2.2?單元測(cè)試?PAGEREF_Toc\h3HYPERLINK\l"_Toc"2.3?代碼評(píng)審 PAGEREF_Toc\h4HYPERLINK\l"_Toc"2.4 同行評(píng)審 PAGEREF_Toc\h4HYPERLINK\l"_Toc"2.5?代碼走查?PAGEREF_Toc\h5HYPERLINK\l"_Toc"2.6?靜態(tài)分析?PAGEREF_Toc\h5?白盒測(cè)試概念白盒測(cè)試又稱結(jié)構(gòu)測(cè)試,透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。描述白盒測(cè)試是測(cè)試被測(cè)單元內(nèi)部如何工作的一種方法。目的通過檢查軟件內(nèi)部的邏輯結(jié)構(gòu),對(duì)軟件中的邏輯途徑進(jìn)行覆蓋測(cè)試;在程序不同地方設(shè)立檢查點(diǎn),檢查程序的狀態(tài),以擬定實(shí)際運(yùn)營(yíng)狀態(tài)與預(yù)期狀態(tài)是否一致。它允許測(cè)試人員對(duì)程序內(nèi)部邏輯結(jié)構(gòu)及有關(guān)信息來(lái)設(shè)計(jì)和選擇測(cè)試用例,對(duì)程序的邏輯進(jìn)行測(cè)試,提高代碼質(zhì)量。白盒測(cè)試策略在軟件過程的不同階段,研發(fā)組都也許需要進(jìn)行白盒測(cè)試。根據(jù)團(tuán)隊(duì)實(shí)際情況的不同,有選擇的使用下面的策略:桌前檢查簡(jiǎn)述:程序員實(shí)現(xiàn)制定功能后,進(jìn)行單元測(cè)試之前,對(duì)源代碼進(jìn)行的初步檢查。重點(diǎn):編碼規(guī)范、語(yǔ)句的使用等是否符合編碼規(guī)范,并根據(jù)《編碼規(guī)范》調(diào)整自己的代碼以符合編碼規(guī)范的規(guī)定。參與人員:開發(fā)人員。單元測(cè)試簡(jiǎn)述:又稱模塊測(cè)試。傳統(tǒng)結(jié)構(gòu)化編程中,以一個(gè)函數(shù)、過程為一個(gè)單元;在面向?qū)ο蟮木幊讨幸话惆杨愖鳛閱卧M(jìn)行測(cè)試。重點(diǎn):采用白盒測(cè)試和黑盒測(cè)試方法相結(jié)合。參與人員:專門的白盒測(cè)試人員。代碼評(píng)審簡(jiǎn)述:在編碼初期或編寫過程中采用一種有同行參與的評(píng)審活動(dòng)。重點(diǎn):通過組織或其他程序員共同查看程序,可以找出問題,使大家的代碼風(fēng)格一致或遵守編碼規(guī)范。方法:通過大家共同閱讀代碼或由程序編寫者講解代碼,其他同行邊聽邊分析問題的方法。參與人員:全體開發(fā)小組。同行評(píng)審簡(jiǎn)述:引用CMM(能力成熟度模型)中的術(shù)語(yǔ),如用在評(píng)審源代碼上,就使代碼評(píng)審;在同行評(píng)審中,由軟件工作產(chǎn)品創(chuàng)建者的同行們檢查該工作的產(chǎn)品,辨認(rèn)產(chǎn)品的缺陷,改善產(chǎn)品的局限性。目的:檢查工作產(chǎn)品是否對(duì)的的滿足了以往的工作產(chǎn)品中建立的規(guī)范,如需求或設(shè)計(jì)文檔;辨認(rèn)工作產(chǎn)品相對(duì)于標(biāo)準(zhǔn)的偏差,涉及也許影響軟件可維護(hù)性的問題;向創(chuàng)建者提出改善建議;促進(jìn)參與者之間的技術(shù)交流和學(xué)習(xí)。參與人員:程序員、設(shè)計(jì)師、單元測(cè)試工程師、維護(hù)者、需求分析師、編碼標(biāo)準(zhǔn)專家(此為CMM標(biāo)準(zhǔn)中提出的參與角色,可根據(jù)實(shí)際情況調(diào)整,至少需要開發(fā)人員、測(cè)試人員、設(shè)計(jì)師參與)。代碼走查簡(jiǎn)述:由測(cè)試小組組織或者專門的代碼走查小組進(jìn)行代碼走查,這時(shí)需要開發(fā)人員提交有關(guān)的資料文檔和源代碼給走查人員,并進(jìn)行必要的講解。代碼走查往往根據(jù)《代碼檢查單》來(lái)進(jìn)行,代碼檢查單經(jīng)常是根據(jù)《編碼規(guī)范》總結(jié)出來(lái)的一些條目,目的是檢查代碼是否按照《編碼規(guī)范》來(lái)編寫的。當(dāng)然,代碼走查的最終目的還是為了發(fā)現(xiàn)代碼中潛在的錯(cuò)誤和缺陷。重點(diǎn):把材料(《需求描述文檔》、《程序設(shè)計(jì)文檔》、《程序的源代碼清單》、《代碼編碼標(biāo)準(zhǔn)》、《代碼缺陷檢查表》等)發(fā)給走查小組每個(gè)成員,讓他們認(rèn)真研究程序;開會(huì),讓與會(huì)者“充當(dāng)”計(jì)算機(jī),讓測(cè)試用例沿程序的邏輯運(yùn)營(yíng)一遍,隨時(shí)記錄程序的蹤跡,供分析和討論,發(fā)現(xiàn)更多的問題。參與人員:測(cè)試人員(一般不讓代碼的創(chuàng)建者參與)。代碼檢查速度建議:匯編代碼與C代碼150行/小時(shí),C++/Java200-300行/小時(shí)。靜態(tài)分析簡(jiǎn)述:由測(cè)試小組來(lái)進(jìn)行,靜態(tài)分析通常需要輔助工具支持,通過提取代碼信息,進(jìn)行記錄,根據(jù)記錄結(jié)果對(duì)源代碼進(jìn)行質(zhì)量評(píng)估。代碼規(guī)則檢查也是靜態(tài)分析的一個(gè)方面。人員:測(cè)試小組。工具介紹:PC-Lint:支持C/C++語(yǔ)言;優(yōu)點(diǎn):工具簡(jiǎn)樸實(shí)用,可以選擇編碼規(guī)范標(biāo)準(zhǔn),數(shù)據(jù)檢查技術(shù);缺陷:不是圖形用戶界面,危險(xiǎn)的用法,C/C++的兼容性問題。CodeWizard:支持C/C++語(yǔ)言;優(yōu)點(diǎn):圖形用戶界面,方便規(guī)則定制;缺陷:分析速度慢。Logiscope:支持C/C++語(yǔ)言;優(yōu)點(diǎn):圖形界面,可以生成代碼質(zhì)量報(bào)告;缺陷:規(guī)則不是特別多;Logiscope是面向源代碼進(jìn)行工作的,貫穿于軟件開發(fā)、代碼評(píng)審、單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、以及軟件維護(hù)階段。也是中小型公司常用的代碼靜態(tài)分析工具。Testbed:支持C語(yǔ)言;優(yōu)點(diǎn):規(guī)則特別多;缺陷:規(guī)則定制比較麻煩,時(shí)常也許誤報(bào),需要人工判斷。QAC/QAC++:版本決定支持那種語(yǔ)言,一般以C/C++為主;優(yōu)點(diǎn):規(guī)則檢查自動(dòng)化,規(guī)則多,速度快,可以定制規(guī)則。C++Test:支持C++;優(yōu)點(diǎn):C++Test重要是對(duì)指針的保護(hù)、越界,數(shù)組的越界,變量的越界等很有用,對(duì)于數(shù)學(xué)運(yùn)算等函數(shù),可以明確知道返回值的,可以設(shè)立預(yù)期的返回值,來(lái)檢查算法是否對(duì)的。C++Test測(cè)試用例可以控制7種類型的變量條件(取決于被測(cè)函數(shù)用了多少):?.參數(shù)(Arguments):函數(shù)的入口參數(shù)。
.參數(shù)出口條件(ArgumentsPost):函數(shù)執(zhí)行完畢時(shí)入口參數(shù)的狀態(tài)。
.返回值(Return):函數(shù)的返回值。?.對(duì)象前置條件(PreConditions>This):測(cè)試開始前對(duì)象的條件。
.對(duì)象后置條件(PostConditions>This):測(cè)試執(zhí)行后對(duì)象的條件。
.前置條件(PreConditions>Externals):測(cè)試開始前全局變量的條件。
.后置條件(PostConditions>Externals):測(cè)試執(zhí)行后全局變量的條件。缺陷:速度慢,耗系統(tǒng)資源,測(cè)試執(zhí)行效率低。?關(guān)于java代碼的質(zhì)量相關(guān),和靜態(tài)工具使用,請(qǐng)先參照: ?《Java代碼質(zhì)量專題》; 《追求代碼質(zhì)量監(jiān)視圈復(fù)雜度》; ?《追求代碼質(zhì)量軟件架構(gòu)的代碼質(zhì)量》; 《追求代碼質(zhì)量用代碼度量進(jìn)行重構(gòu)》; ?《初用FindBugs-耐心愉悅-CSDNBlog》; ?《FindBugs,第1部分提高代碼質(zhì)量》。這里面FindBugs是java靜態(tài)分析工具。
桌面檢查、代碼走查、代碼審查同時(shí)屬于代碼檢查的方式。代碼檢查是發(fā)現(xiàn)錯(cuò)誤缺陷最有效的手
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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é)議模板
- 材料研發(fā)項(xiàng)目合作協(xié)議
- ocr車牌識(shí)別施工方案
- 外協(xié)生產(chǎn)合同模板
- 初中生物實(shí)驗(yàn)改進(jìn)方案
- 桶裝水經(jīng)營(yíng)方案
- 臨時(shí)隔離室設(shè)置及管理方案
- 試用協(xié)議書書模板
- 訪問控制管理軟件租賃協(xié)議
- 公益性崗位宗教和諧合同
- 社團(tuán)組織結(jié)構(gòu)圖
- 2023年超星《軍事理論》考試題庫(kù)(通用題型)
- 2023年學(xué)習(xí)興稅(納稅服務(wù)條線)知識(shí)考試題庫(kù)(含答案)
- 《花樣年華》的美學(xué)分析
- 山東省濟(jì)南市歷下區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期中語(yǔ)文試題
- 圖神經(jīng)網(wǎng)絡(luò)在生物醫(yī)學(xué)影像分析中的應(yīng)用
- 云南邊境鐵絲網(wǎng) 施工方案
- 語(yǔ)文教學(xué)常規(guī)檢查表
- 廣東省珠海市香洲區(qū)鳳凰中學(xué)2023-2024學(xué)年八年級(jí)上學(xué)期期中物理試卷
- 部編版語(yǔ)文二年級(jí)上冊(cè)第五單元【集體備課】
- 對(duì)聯(lián)知識(shí)及練習(xí)題有答案
評(píng)論
0/150
提交評(píng)論