第二章 靜態(tài)測(cè)試_第1頁
第二章 靜態(tài)測(cè)試_第2頁
第二章 靜態(tài)測(cè)試_第3頁
第二章 靜態(tài)測(cè)試_第4頁
第二章 靜態(tài)測(cè)試_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第二章靜態(tài)測(cè)試1本章要點(diǎn)討論與靜態(tài)測(cè)試相關(guān)的內(nèi)容,包括評(píng)審評(píng)審的定義和分類同行評(píng)審的分類評(píng)審工作流程對(duì)規(guī)格說明書的測(cè)試源代碼評(píng)審靜態(tài)分析及其工具軟件測(cè)試方法和應(yīng)用》

2-2靜態(tài)測(cè)試

定義

通過檢查和評(píng)審軟件而不是運(yùn)行軟件對(duì)軟件進(jìn)行測(cè)試的方法

對(duì)象各種與軟件相關(guān)的有必要進(jìn)行測(cè)試的產(chǎn)物,例如各類文檔、源代碼等方法評(píng)審對(duì)軟件元素或項(xiàng)目狀態(tài)進(jìn)行評(píng)估的活動(dòng),用以確定與預(yù)期結(jié)果之間的偏差和相應(yīng)的改進(jìn)意見通常由人來執(zhí)行靜態(tài)分析被測(cè)程序進(jìn)行特性分析的一些方法的總稱

通常需要工具輔助軟件測(cè)試方法和應(yīng)用》

2-3缺陷發(fā)現(xiàn)越早修復(fù)成本越低軟件測(cè)試方法和應(yīng)用》

2-4評(píng)審除了在項(xiàng)目早期發(fā)現(xiàn)缺陷和降低項(xiàng)目失敗風(fēng)險(xiǎn)外,項(xiàng)目中需要進(jìn)行評(píng)審的其它原因包括分享知識(shí)培訓(xùn)團(tuán)隊(duì)成員為管理層決策提供依據(jù)為過程改進(jìn)提供信息評(píng)審分類培訓(xùn)評(píng)審預(yù)備評(píng)審?fù)性u(píng)審狀態(tài)評(píng)審軟件測(cè)試方法和應(yīng)用》

2-5同行評(píng)審(PeerReview)由開發(fā)軟件產(chǎn)品作者以外的其他人檢查工作產(chǎn)品,以發(fā)現(xiàn)缺陷并尋找改進(jìn)的機(jī)會(huì)方法:評(píng)審參與者主要采用一行一行仔細(xì)閱讀被評(píng)審對(duì)象的形式發(fā)現(xiàn)被測(cè)對(duì)象中的缺陷一般設(shè)在里程碑點(diǎn)附近,即當(dāng)工作產(chǎn)品到達(dá)了一個(gè)完成的里程碑并即將進(jìn)入下一個(gè)開發(fā)階段時(shí)同行評(píng)審軟件測(cè)試方法和應(yīng)用》

2-6V模型的評(píng)審時(shí)間點(diǎn)需求|需求規(guī)格說明書評(píng)審概要設(shè)計(jì)|概要設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)|詳細(xì)設(shè)計(jì)說明書編碼|源代碼單元測(cè)試集成測(cè)試系統(tǒng)測(cè)試系統(tǒng)測(cè)試文檔集成測(cè)試文檔單元測(cè)試文檔評(píng)審評(píng)審評(píng)審評(píng)審評(píng)審走讀,靜態(tài)分析軟件測(cè)試方法和應(yīng)用》

2-7同行評(píng)審的類型審查小組評(píng)審走讀桌面評(píng)審臨時(shí)評(píng)審這些同行評(píng)審類型的區(qū)別在于正式程度審查是最正式,然后是小組評(píng)審、走讀、桌面評(píng)審,臨時(shí)評(píng)審最隨意同行評(píng)審越正式,發(fā)現(xiàn)的缺陷越多,但評(píng)審越正式,花費(fèi)成本越高被評(píng)審對(duì)象越重要或者風(fēng)險(xiǎn)越高,采用的評(píng)審方式越正式

同行評(píng)審的類型軟件測(cè)試方法和應(yīng)用》

2-8審查說明IBM的工程師MichaelFagan于20世紀(jì)70年代提出,也叫正式評(píng)審,是一種包括非作者等專家在內(nèi)的針對(duì)特定對(duì)象,如需求規(guī)格書、設(shè)計(jì)文檔和源代碼進(jìn)行檢查以發(fā)現(xiàn)缺陷的過程審查是一種有結(jié)構(gòu)有規(guī)則的評(píng)審方法。Fagan的審查流程包括:計(jì)劃、介紹會(huì)議、準(zhǔn)備、會(huì)議、返工、跟蹤、因果分析,每個(gè)階段定義參與審查的角色相應(yīng)的輸入、輸出軟件測(cè)試方法和應(yīng)用》

2-9審查流程軟件測(cè)試方法和應(yīng)用》

2-10審查中的角色作者被評(píng)審對(duì)象的創(chuàng)建者,提供被評(píng)審對(duì)象及其相關(guān)信息評(píng)審組長

組織評(píng)審會(huì)議,確保審查活動(dòng)能夠正確地進(jìn)行審查專家發(fā)現(xiàn)被評(píng)審對(duì)象中的問題讀者在會(huì)議上講解被評(píng)審對(duì)象,使評(píng)審專家把精力集中在被評(píng)審對(duì)象本身而不是作者記錄員記錄會(huì)議階段有價(jià)值的信息軟件測(cè)試方法和應(yīng)用》

2-11計(jì)劃參與者:作者和評(píng)審組長在這個(gè)階段,需要開展如下工作選擇評(píng)審組長確定審查對(duì)象確定審查專家確定總體會(huì)議、會(huì)議次數(shù)和相應(yīng)的時(shí)間表準(zhǔn)備和分發(fā)審查工作包,審查包中包括被審查對(duì)象的初始可交付產(chǎn)品、相關(guān)參考文檔、缺陷檢查表、指導(dǎo)書、錯(cuò)誤記錄模版和其它材料審查工作流程軟件測(cè)試方法和應(yīng)用》

2-12總體會(huì)議本階段可選,主要目標(biāo)是讓審查專家熟悉被審查對(duì)象,包括對(duì)象特征、上下文、背景等參與者:所有需要參加審查的人員準(zhǔn)備參與者:審查專家這是審查最重要的階段。在這個(gè)階段,審查專家獨(dú)立工作、逐行閱讀被審查對(duì)象,將任何發(fā)現(xiàn)問題、疑問記錄在審查意見單中評(píng)審組長根據(jù)各個(gè)審查專家提交的意見決定是否按時(shí)或者推遲召開審查會(huì)議審查工作流程軟件測(cè)試方法和應(yīng)用》

2-13會(huì)議參與者:作者、評(píng)審組長、審查專家、讀者、記錄員在會(huì)議階段讀者分段逐個(gè)閱讀審查對(duì)象,審查專家聽取講解并考慮是否有新的問題提出。評(píng)審組長組織對(duì)所有審查意見單上的問題列表進(jìn)行確認(rèn),作者確認(rèn)是否是問題,記錄員在問題列表上記錄答復(fù)和在會(huì)上發(fā)現(xiàn)的新缺陷。在會(huì)議結(jié)束前,所有人投票,給出對(duì)工作產(chǎn)品的審查結(jié)論。審查工作流程軟件測(cè)試方法和應(yīng)用》

2-14返工參與者:作者在此階段,作者修改會(huì)議中確認(rèn)的問題,輸出修改后的交付產(chǎn)品跟蹤參與者:評(píng)審組長/質(zhì)量工程師/指定的審查專家檢查修改后的交付件,如果通過,則輸出可基線的交付物因果分析參與者:質(zhì)量工程師在這個(gè)階段,開展如下工作:分析缺陷原因度量審查效率和效果審查工作流程軟件測(cè)試方法和應(yīng)用》

2-15審查規(guī)則為了更好地發(fā)揮審查的作用,在審查中有一組需要遵守的原則作者不能擔(dān)當(dāng)評(píng)審組長、讀者或記錄員等角色,要保持開放的思想,接受別人的意見,避免爭論評(píng)審組長不要同時(shí)擔(dān)任記錄員控制審查小組規(guī)模:3~7個(gè)審查專家為好審查專家要努力發(fā)現(xiàn)被審查對(duì)象中的問題,審查過程中始終保持對(duì)問題的敏感性審查期間要努力發(fā)現(xiàn)問題不要試圖去解決問題會(huì)議限制在兩個(gè)小時(shí)之內(nèi)在會(huì)議上,審查團(tuán)隊(duì)要保持一個(gè)適當(dāng)?shù)膶彶樗俣?,每小時(shí)150~200行代碼或3~4頁文檔軟件測(cè)試方法和應(yīng)用》

2-16小組評(píng)審小組評(píng)審類似于審查,是一種“輕型審查”,同樣可以可采用審查的指導(dǎo)方針和流程,只是沒有審查正式也沒有審查嚴(yán)格,會(huì)議期間讀者的角色由評(píng)審組長代替小組評(píng)審方法發(fā)現(xiàn)問題的數(shù)量是審查的2/3軟件測(cè)試方法和應(yīng)用》

2-17走讀和同級(jí)桌查走讀產(chǎn)品的作者一組同事說明該產(chǎn)品,希望獲得他們的意見以滿足自己的需要。走查是一種非正式的評(píng)審,其過程由作者主持,沒有標(biāo)準(zhǔn)的流程可循發(fā)現(xiàn)的缺陷數(shù)量比審查少一半過程同級(jí)桌查一對(duì)一評(píng)審,是指只有除作者以外只有一位評(píng)審專家對(duì)工作產(chǎn)品進(jìn)行檢查

軟件測(cè)試方法和應(yīng)用》

2-18臨時(shí)評(píng)審臨時(shí)評(píng)審請(qǐng)團(tuán)隊(duì)內(nèi)其他同事幫忙,在短時(shí)間內(nèi)解決一些問題舉例假設(shè)這樣一個(gè)場景:Susan是一個(gè)程序員,她正在檢查自己的代碼。John,Susan的同事,是另外一個(gè)程序員:

Susan:”Hi,John,能幫個(gè)忙嗎?”

John:”當(dāng)然,我現(xiàn)在剛好有空”

Susan:”我的程序有點(diǎn)問題,但我不找不到問題在哪里”

John:”O(jiān)key!讓我看看!”…幾分鐘后

,”O(jiān)h,問題可能在這兒,你看,這里有變量用錯(cuò)誤,這個(gè)“i”好像沒定義過,你是不是想用“j”?

Susan:”O(jiān)h,yeah!沒錯(cuò)!非常感謝!”軟件測(cè)試方法和應(yīng)用》

2-19軟件評(píng)審指導(dǎo)書內(nèi)容目的范圍評(píng)審角色及職責(zé)過程準(zhǔn)則目標(biāo)進(jìn)入標(biāo)準(zhǔn)活動(dòng)退出標(biāo)準(zhǔn)度量相關(guān)資料過程監(jiān)控軟件測(cè)試方法和應(yīng)用》

2-20檢查軟件的規(guī)格說明書一般采用逐行閱讀說明書以發(fā)現(xiàn)缺陷的方式,規(guī)格說明書的測(cè)試應(yīng)該在說明書整體或者部分完成后立即開展原因盡早發(fā)現(xiàn)缺陷使說明書具有更好的可測(cè)試性軟件測(cè)試人員可以更加熟悉系統(tǒng)應(yīng)用具體方法靜態(tài)黑盒測(cè)試:由于考慮到規(guī)格說明書的重要性,很多軟件項(xiàng)目選擇審查作為評(píng)審規(guī)格說明書的方式在進(jìn)行規(guī)格說明書審查時(shí)可以采用如下技術(shù):對(duì)說明書進(jìn)行概要評(píng)審對(duì)說明書進(jìn)行詳細(xì)評(píng)審測(cè)試規(guī)格說明書軟件測(cè)試方法和應(yīng)用》

2-21目標(biāo)發(fā)現(xiàn)特定的缺陷,比如大的原理性問題,遺漏或過度復(fù)雜的描述等可以使用如下技術(shù)假設(shè)作為用戶:質(zhì)量就是滿足用戶要求研究現(xiàn)有標(biāo)準(zhǔn)和基線評(píng)審和測(cè)試類似軟件系統(tǒng)規(guī)格說明書的概要評(píng)審(1)軟件測(cè)試方法和應(yīng)用》

2-22假設(shè)作為用戶從用戶的角度檢查規(guī)格書,可以問自己如下問題,如果我是軟件的客戶:我需要什么樣的功能?我需要的所有功能是否都包含在規(guī)格書中了?是否存在與現(xiàn)有系統(tǒng)沖突的功能?功能是否易于使用?性能如何?功能的安全情況如何?等等如果能從一些熟悉軟件目標(biāo)應(yīng)用領(lǐng)域的人處獲得支持,對(duì)評(píng)審過程將是非常有幫助的規(guī)格說明書的概要評(píng)審(2)軟件測(cè)試方法和應(yīng)用》

2-23研究現(xiàn)有標(biāo)準(zhǔn)和基線當(dāng)對(duì)規(guī)格書進(jìn)行概要評(píng)審的時(shí)候,測(cè)試人員應(yīng)該參考現(xiàn)有的標(biāo)準(zhǔn)和基線:組織標(biāo)準(zhǔn)、術(shù)語和慣例:軟件應(yīng)該使用終端用戶的通用術(shù)語和慣例工業(yè)標(biāo)準(zhǔn):在某些工業(yè)領(lǐng)域,例如通訊、金融,有很多應(yīng)用軟件必須遵守的協(xié)議政府標(biāo)準(zhǔn)安全標(biāo)準(zhǔn)等等測(cè)試人員應(yīng)該把相關(guān)標(biāo)準(zhǔn)作為規(guī)格說明書評(píng)審的一部分評(píng)審規(guī)格說明書的同時(shí),測(cè)試人員應(yīng)該驗(yàn)證系統(tǒng)參考了正確的標(biāo)準(zhǔn)并且沒有遺漏規(guī)格說明書的概要評(píng)審(3)軟件測(cè)試方法和應(yīng)用》

2-24評(píng)審和測(cè)試類似軟件沒有什么比經(jīng)驗(yàn)更好的東西了,從類似軟件中可以得大量有用的信息,這些參考軟件可能是:正在開發(fā)系統(tǒng)的早期版本組織內(nèi)的類似軟件競爭對(duì)手產(chǎn)品分析類似軟件的時(shí)候,應(yīng)密切關(guān)注如下問題并考慮這些是否會(huì)影響被測(cè)試系統(tǒng):特性是否有增刪?代碼變更比例如何?軟件的復(fù)雜度是否有區(qū)別?可測(cè)試性如何?性能、安全性和其他一些非功能特性如何?最后,不要忘了你可以從公共出版物和網(wǎng)上找到有價(jià)值的信息規(guī)格說明書的概要評(píng)審(4)軟件測(cè)試方法和應(yīng)用》

2-25一個(gè)好的規(guī)格說明書具有如下屬性完整性:是否忘記或遺漏了什么內(nèi)容?是否徹底?是否包含了該說明書所必須包含的所有信息?精確性:建議的提案是否正確?是否定義了合適的目標(biāo)?是否有什么錯(cuò)誤?準(zhǔn)確性、明確而清晰:描述是否清晰明確,是否有歧義?是否易于閱讀和理解?一致性:特性描述內(nèi)部和特性之間是否相互矛盾相關(guān)性:細(xì)分特性是否必須?是否需要去除不必要的信息?特性是否可以跟蹤到一個(gè)原始用戶需求可行性:項(xiàng)目計(jì)劃和預(yù)算都是明確的,在給定的人力、工具和資源條件下,特性能否實(shí)現(xiàn)?規(guī)格說明書的詳細(xì)評(píng)審(1)軟件測(cè)試方法和應(yīng)用》

2-26一個(gè)好的規(guī)格說明書具有如下屬性代碼無關(guān):規(guī)格書的目標(biāo)是定義產(chǎn)品需求而不是軟件設(shè)計(jì),架構(gòu)和代碼可測(cè)試的:特性是否可測(cè)試?是否提供了讓測(cè)試人員得以驗(yàn)證功能的足夠信息檢查規(guī)格說明書的同時(shí),時(shí)刻關(guān)注評(píng)審的文字和圖片是否具有這樣的屬性規(guī)格說明書的詳細(xì)評(píng)審(2)軟件測(cè)試方法和應(yīng)用》

2-27問題詞語列表評(píng)審規(guī)格說明書的時(shí)候應(yīng)密切關(guān)注下面的一些詞匯以及這些詞匯的上下文含義是否清晰,這些常常會(huì)帶來缺陷:總是、每個(gè)、所有、沒有一個(gè)、從來不:這些詞表示肯定和確定的含義,必須確認(rèn)該用這些詞語,或找出不該使用的理由當(dāng)然、所以、明顯地、無疑、顯然:這些詞有勸說人接受的意思,規(guī)格書中盡量避免一些、有時(shí)、經(jīng)常、通常、大部分、主要的、等等、類似、好、快、便宜、高效、小和穩(wěn)定:這些詞可測(cè)試性差,必須進(jìn)一步定義以給出確切的含義描述有把握的、處理過的、拒絕的、跳過的、去掉的:這些詞可能隱藏一些本該詳細(xì)說明的功能性需求如果..那么:這些描述依賴于其他因素,不可取規(guī)格說明書的詳細(xì)評(píng)審(3)軟件測(cè)試方法和應(yīng)用》

2-28在代碼全部或部分完成后,應(yīng)立即進(jìn)行逐行代碼評(píng)審以發(fā)現(xiàn)缺陷原因發(fā)現(xiàn)缺陷越早越好使得程序更具可測(cè)試性軟件測(cè)試人員可以更加熟悉系統(tǒng)方法靜態(tài)白盒測(cè)試:很多軟件項(xiàng)目團(tuán)隊(duì)選擇審查作為評(píng)審核心代碼的方式,采用走讀和同級(jí)桌查作為一般代碼的評(píng)審方式團(tuán)隊(duì)采用如下原則進(jìn)行代碼評(píng)審效果更好評(píng)審人員有程序開發(fā)語言的專業(yè)知識(shí)有程序基線和標(biāo)準(zhǔn)供參考代碼檢查軟件測(cè)試方法和應(yīng)用》

2-29編碼規(guī)范編碼規(guī)范是代碼編寫過程中必須遵循的規(guī)則,包含了程序開發(fā)的最佳實(shí)踐、在編寫代碼時(shí)重復(fù)這些最佳實(shí)踐有助于生產(chǎn)高質(zhì)量的軟件。代碼檢查表代碼檢查表是對(duì)應(yīng)于編碼規(guī)范中的各個(gè)標(biāo)準(zhǔn)與規(guī)范開發(fā)的檢查項(xiàng),包含容易出錯(cuò)和以往在工作中遇到的典型錯(cuò)誤,可以認(rèn)為是在進(jìn)行代碼評(píng)審時(shí)用到的測(cè)試用例。在進(jìn)行代碼評(píng)審時(shí),評(píng)審專家會(huì)關(guān)注被評(píng)審代碼是否符合檢查表規(guī)范,如果不符合則很可能存在缺陷。編碼規(guī)范和代碼檢查表軟件測(cè)試方法和應(yīng)用》

2-30請(qǐng)注意不同的編碼語言和項(xiàng)目團(tuán)隊(duì)可能采用不同的標(biāo)準(zhǔn)和基線,適合項(xiàng)目的就是最好的編碼規(guī)范和檢查表應(yīng)該在一個(gè)項(xiàng)目完成后被檢驗(yàn)和更新編碼規(guī)范和代碼檢查表軟件測(cè)試方法和應(yīng)用》

2-31靜態(tài)分析定義靜態(tài)分析是對(duì)被測(cè)程序進(jìn)行特性分析的一些方法的總稱,一般借助工具進(jìn)行可提供的功能包括:發(fā)現(xiàn)代碼中的缺陷,包括用錯(cuò)的局部變量和全程變量不匹配的參數(shù)不適當(dāng)?shù)难h(huán)嵌套和分支嵌套不適當(dāng)?shù)奶幚眄樞驘o終止的死循環(huán)未定義的變量不允許的遞歸調(diào)用并不存在的子程序遺漏了標(biāo)號(hào)或代碼不恰當(dāng)?shù)倪B接等軟件測(cè)試方法和應(yīng)用》

2-32靜態(tài)分析可提供的功能找到潛伏著缺陷的根源。未使用的變量不會(huì)執(zhí)行到的代碼未引用過的標(biāo)號(hào)可疑的計(jì)算潛在的死循環(huán)等提供間接涉及程序缺陷的信息:每一類型語句出現(xiàn)的次數(shù)、所用變量和常量的交叉引用表、標(biāo)識(shí)符的使用方式、過程的調(diào)用層次、違背編碼規(guī)則等為進(jìn)一步查錯(cuò)作準(zhǔn)備。軟件測(cè)試方法和應(yīng)用》

2-33靜態(tài)分析工具說明靜態(tài)分析工具是一類實(shí)現(xiàn)靜態(tài)分析方法的軟件工具,通過對(duì)代碼進(jìn)行掃描并對(duì)其進(jìn)行詞法和語法分析,構(gòu)造與代碼結(jié)構(gòu)特征相關(guān)的抽象模型以達(dá)到對(duì)代碼進(jìn)行某些方面分析的目的。分類按照功能,例如代碼審查一致性檢查交叉索引接口分析輸入輸出規(guī)格說明分析數(shù)據(jù)流分析錯(cuò)誤檢查類型分析單元分析軟件測(cè)試方法和應(yīng)用》

2-34靜態(tài)分析工具基于數(shù)據(jù)流分析方法的靜態(tài)分析工具,可提供的缺陷信息:語法錯(cuò)誤信息;各種類型源語句出現(xiàn)的次數(shù);標(biāo)識(shí)符使用的交叉索引;標(biāo)識(shí)符在每個(gè)語句中使用的各種情況,如數(shù)據(jù)源點(diǎn)、數(shù)據(jù)終點(diǎn)、調(diào)用參數(shù)、啞參數(shù)和下標(biāo)等;每個(gè)程序所調(diào)用的子程序和函數(shù);未經(jīng)初始化的變量;未曾使用過的變量;任何輸入數(shù)據(jù)都執(zhí)行不

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論