人工測試技術(shù)PPT課件_第1頁
人工測試技術(shù)PPT課件_第2頁
人工測試技術(shù)PPT課件_第3頁
人工測試技術(shù)PPT課件_第4頁
人工測試技術(shù)PPT課件_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1/571.為什么需要人工測試 人們對軟件測試往往有這樣一種錯誤的認(rèn)識:軟件測試必須通過在機(jī)器上運(yùn)行程序才能進(jìn)行。 早在20世紀(jì)70年代Weinberg在計算機(jī)程序設(shè)計心理學(xué)一書中就指出通過閱讀程序查找軟件錯誤的必要性,并提出了令人信服的論證。第1頁/共57頁2/57軟件錯誤產(chǎn)生的原因修改在機(jī)器測試發(fā)現(xiàn)的錯誤,比修改人工測試所發(fā)現(xiàn)的錯誤更容易產(chǎn)生新的錯誤。第2頁/共57頁3/57軟件錯誤修復(fù)的代價需求 設(shè)計 編碼 測試 維護(hù)錯誤修復(fù)費(fèi)用錯誤發(fā)現(xiàn)的越早,修改錯誤的代價越低。第3頁/共57頁4/57為什么需要人工測試 經(jīng)驗(yàn)表明,通過人工測試方法,能夠相當(dāng)有效地查找程序中的錯誤。 所以,為了有效的保

2、證軟件質(zhì)量,在一個軟件測試過程中,應(yīng)至少使用一種或多種人工測試技術(shù)。第4頁/共57頁5/572.人工測試方法的類型(1 1)軟件審查(Software Review)Software Review)(2 2)代碼審查(Code Code InspectionsInspections)(3 3)人工走查(Walkthroughs)Walkthroughs)第5頁/共57頁6/57人工測試方法的類型 軟件審查主要是針對文檔的評審。 代碼審查和人工走查的對象主要是程序源代碼。 人工測試方法,包括軟件審查、代碼審查和人工走查都是以召開評審會的方式進(jìn)行。 評審的目的是查找錯誤,但不尋找糾錯的方法(即查錯

3、而不糾錯)。 第6頁/共57頁7/573.3.人工測試方法在開發(fā)過程中的應(yīng)用需求分析概要設(shè)計詳細(xì)設(shè)計編碼測試制定測試計劃設(shè)計測試用例評審評審評審評審評審評審第7頁/共57頁8/574.人工測試方法的作用 軟件審查可以找出各種文檔的錯誤。 代碼審查和人工走查方法能有效地查出30%到70%的邏輯設(shè)計和編碼的錯誤,平均能夠查出被測程序的38%錯誤。第8頁/共57頁9/57人工測試方法的作用 代碼審查和人工走查不但對測試一個新程序有很大作用,而且對測試一個程序的修改方案是否正確也具有同樣的甚至更高的作用。 因?yàn)?,修改一個現(xiàn)成的程序比寫一個新的程序還容易出錯,所以代碼審查和人工走查對審查各種代碼都是需要

4、的。第9頁/共57頁10/576.26.2軟件審查1.軟件審查的對象2.軟件審查的類型3.軟件審查的步驟4.軟件審查會5.軟件審查的評審列表6.軟件審查的評審結(jié)果第10頁/共57頁11/571.1.軟件審查的對象 軟件審查是對軟件開發(fā)各個階段的成果的評審,如需求分析、概要設(shè)計、詳細(xì)設(shè)計等階段的文檔及代碼、測試計劃和測試用例等。第11頁/共57頁12/57軟件審查的對象v需求分析文檔;v概要設(shè)計文檔;v詳細(xì)設(shè)計文檔;v編碼;v測試計劃;v測試用例v第12頁/共57頁13/572.2.軟件審查的類型(1)需求評審)需求評審(2)設(shè)計評審)設(shè)計評審(3)代碼評審)代碼評審(4)測試評審)測試評審第1

5、3頁/共57頁14/573.軟件審查的步驟制定計劃制定計劃預(yù)審預(yù)審準(zhǔn)備準(zhǔn)備召開軟件審查會召開軟件審查會修改問題修改問題終審終審第14頁/共57頁15/574.4.軟件審查會參加人員:參加人員:v評審組長:1人;v被評審文檔的作者:12人;v評審人員:23個。 會議時間:會議時間:v23個小時。第15頁/共57頁16/575.軟件審查的評審列表(1)正確性)正確性(2)完整性)完整性(3)一致性)一致性(4)有效性)有效性(5)可測試性)可測試性(6)模塊化)模塊化(7 7) 清晰性清晰性(8 8) 可行性可行性(9 9) 可靠性可靠性(1010)語法問題)語法問題(1111)可追蹤性)可追蹤性

6、第16頁/共57頁17/576.6.軟件審查的評審結(jié)果對每個評審項(xiàng)進(jìn)行逐一審查;評審結(jié)果分為四級:1.合格2.不合格3.待定4.不可用第17頁/共57頁18/576. .3代碼審查1.代碼審查小組2.代碼審查的步驟3.代碼審查會4.對代碼審查會的要求5.代碼檢查錯誤清單第18頁/共57頁19/571.代碼審查小組 代碼審查小組通常由45人組成,包括:(1)組織者(2)程序的設(shè)計者(3)程序的程序員(4)審查人員(5)記錄員第19頁/共57頁20/572.代碼審查的步驟制定計劃制定計劃預(yù)審預(yù)審準(zhǔn)備準(zhǔn)備召開代碼審查會召開代碼審查會修改問題修改問題終審終審第20頁/共57頁21/573.3.代碼審查

7、會 會議之前: 組織者把這個程序清單和設(shè)計規(guī)范分發(fā)給小組的其他成員,要求他們在會議之前熟悉這些材料。第21頁/共57頁22/57代碼審查會會議期間:1.請程序員逐個語句地講述程序的邏輯結(jié)構(gòu)。其間大家提出問題加以追究,以斷定錯誤是否存在。2.根據(jù)常見程序錯誤檢驗(yàn)表分析程序。3.組織者要確保討論有效地進(jìn)行,并使參加者集中精力找出錯誤,而不是改正錯誤。 第22頁/共57頁23/57代碼審查會會議之后:(1) 組織者把已查出錯誤清單交給程序員。 (2)如果發(fā)現(xiàn)的錯誤很多,或如果發(fā)現(xiàn)有一個錯誤需做重大更正,那么組織者就應(yīng)做出安排,以便在這些錯誤得到更正之后重新審查這個程序。第23頁/共57頁24/574

8、.對代碼審查會的要求(1)審查會的時間和地點(diǎn):地點(diǎn):地點(diǎn):要安排好,以多免受外界干擾。時間:時間:每次開會的時間最好是1.52個小時之間,時間過長效率不高。第24頁/共57頁25/57對代碼審查會的要求(2)被審查程序的程序員的態(tài)度很重要: 如果程序員把審查會看成對他的人格的攻擊,有抵觸情緒,那么審查過程就會沒有什么效果。 程序員一定要用正確的和建設(shè)性的眼光看待代碼審查,代碼審查的目的在于發(fā)現(xiàn)程序中的錯誤,從而改進(jìn)他的工作質(zhì)量和整個項(xiàng)目的質(zhì)量。 第25頁/共57頁26/574.代碼檢查錯誤清單(1 1)數(shù)據(jù)引用錯誤 用了未賦值的變量嗎? 數(shù)組下標(biāo)越界嗎? 有數(shù)組引用問題嗎? 指針運(yùn)算正確嗎?

9、字符串越界嗎? 地址或下標(biāo)運(yùn)算中有“差1”錯誤嗎?第26頁/共57頁27/57代碼檢查錯誤清單(2 2)數(shù)據(jù)說明錯誤 所有變量都被說明了嗎? 變量缺省屬性的使用得正確嗎? 數(shù)組與字符串的初始化正確嗎? 變量的長度、類型、存貯類指定得正確嗎? 變量的初始化與存貯類型一致嗎? 有相似變量名嗎? 第27頁/共57頁28/57代碼檢查錯誤清單(3 3)運(yùn)算錯誤 有無對非算術(shù)變量進(jìn)行運(yùn)算? 有無混合運(yùn)算? 有無不同長度的變量之間的運(yùn)算? 中間結(jié)果有無上溢或下溢? 除法運(yùn)算中有無用零作除數(shù)? 變量值是否超過有效范圍? 運(yùn)算符優(yōu)先級用的是否正確? 整數(shù)除法運(yùn)算是否正確?第28頁/共57頁29/57代碼檢查錯

10、誤清單(4 4)邏輯錯誤 多分支轉(zhuǎn)移越界嗎? 每一個循環(huán)是否終止? 程序能否終止? 是否有循環(huán)不被執(zhí)行的情況? 對可能的“循環(huán)失敗”處理是否正確? 有“差1”迭代錯誤嗎? 有窮舉的判斷嗎? 第29頁/共57頁30/57代碼檢查錯誤清單(5 5)比較錯誤 有不同類型變量之間的比較嗎? 有混合類型的比較嗎? 比較關(guān)系正確嗎? 布爾表達(dá)式正確嗎? 運(yùn)算符優(yōu)先級是否正確? 能否正確處理布爾表達(dá)式?第30頁/共57頁31/57代碼檢查錯誤清單(6 6)接口錯誤 實(shí)參與形參的個數(shù)是否相同? 實(shí)參與形參的屬性是否匹配? 實(shí)參與形參的單位是否匹配? 庫函數(shù)調(diào)用所用的參數(shù)的個數(shù)、屬性和次序是否正確? 引用了與當(dāng)

11、前入口無關(guān)的參數(shù)嗎? 只讀變量被修改了嗎? 全程變量在各模塊中定義一致嗎? 第31頁/共57頁32/57代碼檢查錯誤清單(7 7)輸入/ /輸出錯誤 文件屬性是否正確? 文件打開是否正確? 格式說明與I/O語句是否一致? 緩沖區(qū)大小與記錄大小是否匹配? 使用了未打開的文件嗎? 文件結(jié)束條件處理了嗎? I/O錯誤處理了嗎? 第32頁/共57頁33/57代碼檢查錯誤清單(7 7)其它檢查 程序功能是否遺漏? 程序有幫助信息嗎? 編譯時是否有警告和提示信息?第33頁/共57頁34/576. .4人工走查1.人工走查的概念2.人工走查的步驟3.人工走查小組4.人工走查會5 .對人工走查會的要求第34頁

12、/共57頁35/571.1.人工走查的概念人工走查是利用測試數(shù)據(jù)來人工運(yùn)行程序達(dá)到測試的目的,人工走查也稱為人工運(yùn)行。人工走查與代碼審查有很多相同之處,只是步驟稍有不同。人工走查與代碼審查一樣,都是通過召開審查會的方式進(jìn)行。人工走查運(yùn)用了與代碼審查不同的錯誤檢查方法。第35頁/共57頁36/572.人工走查的步驟制定計劃制定計劃預(yù)審預(yù)審準(zhǔn)備準(zhǔn)備召開召開人工走查人工走查會會修改問題修改問題終審終審第36頁/共57頁37/573.3.人工走查小組組成人員:(1)組織者(2)秘書(3)測試員(4)程序的程序員(5)其他參加人員(可選):具有豐富實(shí)踐經(jīng)驗(yàn)的程序員程序語言專家不是這個程序小組中的程序員最

13、終將維護(hù)這個程序的人這個程序小組中的另外一個程序員第37頁/共57頁38/574.4.人工走查會 會議之前:組織者把這個程序清單和設(shè)計規(guī)范分發(fā)給小組的其他成員,要求他們在會議之前熟悉這些材料。第38頁/共57頁39/57人工走查會 會議期間:(1)與會者不是簡單的閱讀程序和使用錯誤檢查表,而是都被當(dāng)作“計算機(jī)”運(yùn)行程序。(2)測試員要準(zhǔn)備好典型測試用例,并帶到會場上。(3)與會者要用大腦來運(yùn)行每一個測試用例,并在紙上記錄結(jié)果。(4)在人工運(yùn)行中,如發(fā)現(xiàn)錯誤,應(yīng)向程序員提問,并找出原因。第39頁/共57頁40/57人工走查會 會議之后:(1) 組織者把已查出錯誤清單交給程序員。 (2)對發(fā)現(xiàn)的錯

14、誤要有追蹤,組織者就應(yīng)做出安排,在這些錯誤得到修改之后重新進(jìn)行人工審查。第40頁/共57頁41/575.對人工走查會的要求(1)審查會的時間和地點(diǎn):地點(diǎn):地點(diǎn):要安排好,以多免受外界干擾。時間:時間:每次開會的時間最好1.52個小時。第41頁/共57頁42/57人工走查會的要求(2)被審查程序的程序員的態(tài)度很重要: 如果程序員對審查會有抵觸情緒,那么審查過程可能就會沒有什么效果。 人工審查的目的在于發(fā)現(xiàn)程序中的錯誤,審查的對象是程序而不是程序員本人。 第42頁/共57頁43/576.5.5人工測試舉例1.對產(chǎn)品說明書的評審2.程序代碼的等級評定第43頁/共57頁44/571.1.對產(chǎn)品說明書的

15、評審 (1)總體評審(2)詳細(xì)評審第44頁/共57頁45/57(1)總體評審1應(yīng)盡量滿足用戶的合理需求2應(yīng)符合通用的和已有的標(biāo)準(zhǔn)和規(guī)范 公司慣用語和約定 行業(yè)要求 國家標(biāo)準(zhǔn) GUI標(biāo)準(zhǔn) 硬件和網(wǎng)絡(luò)標(biāo)準(zhǔn)第45頁/共57頁46/57(2)詳細(xì)評審1完整性:產(chǎn)品的功能是否遺漏和缺失?2正確性:產(chǎn)品的實(shí)現(xiàn)方案正確嗎?3精確性:產(chǎn)品的目標(biāo)是否清楚?可量化嗎?第46頁/共57頁47/57詳細(xì)評審4一致性:產(chǎn)品的功能描述是否自相矛盾?5確切性:產(chǎn)品功能描述是否必要?有沒有多余描述?是否符合用戶需求?第47頁/共57頁48/57詳細(xì)評審6合理性:在一定的預(yù)算和進(jìn)度下,現(xiàn)有人力、物力和資源是否能夠?qū)崿F(xiàn)產(chǎn)品目標(biāo)?

16、7可測試性:產(chǎn)品性能是否可測試?8代碼無關(guān)性:軟件設(shè)計不與具體代碼相關(guān)。第48頁/共57頁49/572.程序代碼的等級評定(1) 等級評定的目的(2) 等級評定的標(biāo)準(zhǔn)(3) 等級評定的過程第49頁/共57頁50/57(1) 等級評定的目的 等級評定可以作為代碼審查的一部分進(jìn)行。 等級評定是根據(jù)程序的全面質(zhì)量、可維護(hù)性、可擴(kuò)充性、可用性和清晰性來匿名評定程序員的一種技術(shù)。第50頁/共57頁51/57(2)等級評定的標(biāo)準(zhǔn)等級評定標(biāo)準(zhǔn):對每個評審項(xiàng)按1-71-7級打分。1. 程序易于理解嗎?2. 看得出這是高水平設(shè)計嗎?依據(jù)是什么?3. 看得出這是低水平設(shè)計嗎?依據(jù)是什么?4. 你能很容易修改這個程序嗎?5. 如果是你寫的,你會為這個程序而感到自豪嗎?第51頁/共57頁52/57(3)等級評定的過程1. 選一個程序員為等級評定會的主持人。2. 選擇6-20參評者。 (每次評定同類程序,要求參評者具有相同背景。)3. 要求每一個參評者選擇2個程序參加評定,其中一個為他認(rèn)為自己“最好的”程序,另一個是他認(rèn)為自己“最差的”程序。第52頁/共57頁53/57等級評定的過程4. 在等級評定會上,主持人把這些程序隨機(jī)的分給參評者每人4個程序,其中2個是“最好的”程序,2個是“最差

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論