軟件測試基礎(chǔ)篇_第1頁
軟件測試基礎(chǔ)篇_第2頁
軟件測試基礎(chǔ)篇_第3頁
軟件測試基礎(chǔ)篇_第4頁
軟件測試基礎(chǔ)篇_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、authorversionlast updatedby 肖楠楠肖楠楠2n軟件測試?yán)碚撥浖y試?yán)碚搉軟件測試重要性軟件測試重要性n軟件測試概念軟件測試概念n測試級別測試級別n一般應(yīng)用測試的類型,以及特定類型的測試一般應(yīng)用測試的類型,以及特定類型的測試n測試的靜態(tài)和動態(tài)的度量方法測試的靜態(tài)和動態(tài)的度量方法n測試生命周期測試生命周期n測試策略測試策略n測試工具測試工具n測試過程管理測試過程管理3測試定義n軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。n軟件測試是根據(jù)軟件開發(fā)階段的規(guī)格說明和程序的內(nèi)部結(jié)軟件測試是根據(jù)軟件開發(fā)階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一

2、批測試用例(即輸入數(shù)據(jù)及預(yù)期的輸出構(gòu)而精心設(shè)計(jì)的一批測試用例(即輸入數(shù)據(jù)及預(yù)期的輸出結(jié)果),并利用這些測試用例去運(yùn)行程序,以發(fā)現(xiàn)錯誤的結(jié)果),并利用這些測試用例去運(yùn)行程序,以發(fā)現(xiàn)錯誤的過程。過程。4測試目的n測試是運(yùn)行程序的過程,目的在于發(fā)現(xiàn)錯誤,在用戶使用測試是運(yùn)行程序的過程,目的在于發(fā)現(xiàn)錯誤,在用戶使用應(yīng)用之前發(fā)現(xiàn)問題。應(yīng)用之前發(fā)現(xiàn)問題。n測試是為了證明程序有錯,而不是證明程序無錯誤。測試是為了證明程序有錯,而不是證明程序無錯誤。 n一個好的測試用例在于能夠發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤。一個好的測試用例在于能夠發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤。n一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。一個成功的測試是發(fā)

3、現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。5n質(zhì)量的定義質(zhì)量的定義所完成的軟件產(chǎn)品滿足需求,符合確定的測量標(biāo)準(zhǔn),遵所完成的軟件產(chǎn)品滿足需求,符合確定的測量標(biāo)準(zhǔn),遵循標(biāo)準(zhǔn)的開發(fā)過程。循標(biāo)準(zhǔn)的開發(fā)過程。n質(zhì)量要求質(zhì)量要求產(chǎn)品質(zhì)量:產(chǎn)品質(zhì)量是所生產(chǎn)的主要產(chǎn)品的質(zhì)量,包括產(chǎn)品質(zhì)量:產(chǎn)品質(zhì)量是所生產(chǎn)的主要產(chǎn)品的質(zhì)量,包括軟件和系統(tǒng)以及組成它們的所有元素。軟件和系統(tǒng)以及組成它們的所有元素。過程質(zhì)量:過程質(zhì)量是指為保證產(chǎn)品質(zhì)量而采用的實(shí)現(xiàn)過程質(zhì)量:過程質(zhì)量是指為保證產(chǎn)品質(zhì)量而采用的實(shí)現(xiàn)過程(包括措施和標(biāo)準(zhǔn))。過程(包括措施和標(biāo)準(zhǔn))。n測試與質(zhì)量保證有別測試與質(zhì)量保證有別6n盡早地和不斷地進(jìn)行軟件測試;盡早地和不斷地進(jìn)行軟

4、件測試;n測試用例應(yīng)由測試輸入數(shù)據(jù)和與之對應(yīng)的預(yù)期輸出結(jié)果測試用例應(yīng)由測試輸入數(shù)據(jù)和與之對應(yīng)的預(yù)期輸出結(jié)果這兩部分組成;這兩部分組成;n程序員應(yīng)避免檢查自己的程序,單元測試除外;程序員應(yīng)避免檢查自己的程序,單元測試除外;n在設(shè)計(jì)測試用例時,應(yīng)當(dāng)包括合理的輸入條件和不合理在設(shè)計(jì)測試用例時,應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件;的輸入條件;n充分注意測試中的充分注意測試中的群集現(xiàn)象;群集現(xiàn)象;n嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性;嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性;n應(yīng)當(dāng)對每一個測試結(jié)果做全面檢查;應(yīng)當(dāng)對每一個測試結(jié)果做全面檢查;n妥善保存測試計(jì)劃,測試用例,妥善保存測試計(jì)劃,測試用例,bug

5、統(tǒng)計(jì)和最終分析報(bào)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。告,為維護(hù)提供方便。n測試發(fā)現(xiàn)的缺陷數(shù)應(yīng)有逐漸減少的趨勢。測試發(fā)現(xiàn)的缺陷數(shù)應(yīng)有逐漸減少的趨勢。7n瀑布模型瀑布模型n螺旋模型螺旋模型n v模型模型n w模型模型8n瀑布模型是早期經(jīng)典的軟件生命周期模型,之所以叫做瀑瀑布模型是早期經(jīng)典的軟件生命周期模型,之所以叫做瀑布模型,是因?yàn)槊恳粋€階段劃分的比較清晰,逐層向下,布模型,是因?yàn)槊恳粋€階段劃分的比較清晰,逐層向下,具有和瀑布類似的特點(diǎn)。具有和瀑布類似的特點(diǎn)。 計(jì)劃需求設(shè)計(jì)編碼測試維護(hù)瀑布模型的缺點(diǎn):瀑布模型的缺點(diǎn): 依賴于早期依賴于早期 的需求調(diào)查,不的需求調(diào)查,不適應(yīng)需求的變化適應(yīng)需求的變化

6、單一流程單一流程 ,不可逆。,不可逆。 風(fēng)險往往遲至后期才顯露,風(fēng)險往往遲至后期才顯露,失去較早糾正的機(jī)會。失去較早糾正的機(jī)會。 測試僅是編碼后的一個階段。測試僅是編碼后的一個階段。瀑布模型的優(yōu)點(diǎn):瀑布模型的優(yōu)點(diǎn): 開發(fā)的各個階段比較清晰開發(fā)的各個階段比較清晰 強(qiáng)調(diào)早期計(jì)劃及需求調(diào)查強(qiáng)調(diào)早期計(jì)劃及需求調(diào)查 適合需求穩(wěn)定的產(chǎn)品開發(fā)適合需求穩(wěn)定的產(chǎn)品開發(fā)9n螺旋模型是在瀑布模型的基礎(chǔ)上提出來的,之所以叫做螺螺旋模型是在瀑布模型的基礎(chǔ)上提出來的,之所以叫做螺旋模型,是因?yàn)檫@是個迭代開發(fā)的過程,每一迭代過程均旋模型,是因?yàn)檫@是個迭代開發(fā)的過程,每一迭代過程均由需求、設(shè)計(jì)、編碼、測試、集成等階段組成。由

7、需求、設(shè)計(jì)、編碼、測試、集成等階段組成。2.設(shè)計(jì)設(shè)計(jì)3.編碼編碼設(shè)計(jì)/人 1.計(jì)劃計(jì)劃/分析分析 4.測試測試10用戶需求概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼單元測試集成測試驗(yàn)收測試規(guī)格定義系統(tǒng)測試nv模型屬于比較新的模型,之所以叫做模型屬于比較新的模型,之所以叫做v模型,是因?yàn)槠淠P?,是因?yàn)槠湫螤羁雌饋硐駛€形狀看起來像個v字。字。11nv模型的優(yōu)點(diǎn)就是詳細(xì)表示了測試的各個階段以及參考依模型的優(yōu)點(diǎn)就是詳細(xì)表示了測試的各個階段以及參考依據(jù):據(jù): 單元測試參考的是單元測試參考的是詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 集成測試參考的是集成測試參考的是概要設(shè)計(jì)概要設(shè)計(jì) 系統(tǒng)測試參考的是系統(tǒng)測試參考的是需求規(guī)格說明書需求規(guī)格說明書 驗(yàn)收測

8、試參考的是實(shí)際用戶需求驗(yàn)收測試參考的是實(shí)際用戶需求nv模型的缺點(diǎn)是沒有說明在項(xiàng)目的前期測試需要做哪些工模型的缺點(diǎn)是沒有說明在項(xiàng)目的前期測試需要做哪些工作,而且和瀑布模型一樣,流程也是單項(xiàng)的,不可逆。作,而且和瀑布模型一樣,流程也是單項(xiàng)的,不可逆。12需求分析需求測試概要設(shè)計(jì)功能測試詳細(xì)設(shè)計(jì)設(shè)計(jì)測試編碼單元測試集成集成測試系統(tǒng)系統(tǒng)測試交付驗(yàn)收測試13按測試策略和過程:按測試策略和過程:n單元測試單元測試n集成測試集成測試n系統(tǒng)測試系統(tǒng)測試n驗(yàn)收測試驗(yàn)收測試14.單元單元測試測試單元單元測試測試單元單元測試測試集成集成測試測試確認(rèn)確認(rèn)測試測試系統(tǒng)系統(tǒng)測試測試被測試模塊被測試模塊被測試模塊被測試模塊

9、被測試模塊被測試模塊設(shè)計(jì)信息設(shè)計(jì)信息軟件需求軟件需求系統(tǒng)其它元素系統(tǒng)其它元素已經(jīng)測試已經(jīng)測試過的模塊過的模塊已集成已集成的軟件的軟件已確認(rèn)已確認(rèn)的軟件的軟件可交付可交付的軟件的軟件15n單元測試:是對軟件基本組成單元進(jìn)行的測試,包括類或單元測試:是對軟件基本組成單元進(jìn)行的測試,包括類或函數(shù)等,它的正確性直接關(guān)系到最終軟件的質(zhì)量,較早地函數(shù)等,它的正確性直接關(guān)系到最終軟件的質(zhì)量,較早地發(fā)現(xiàn)錯誤,可以極大地降低軟件開發(fā)成本。發(fā)現(xiàn)錯誤,可以極大地降低軟件開發(fā)成本。n集成測試:是將已分別通過測試的單元按設(shè)計(jì)要求組合起集成測試:是將已分別通過測試的單元按設(shè)計(jì)要求組合起來再進(jìn)行的測試,以檢查這些單元之間的

10、接口是否存在問來再進(jìn)行的測試,以檢查這些單元之間的接口是否存在問題。成功地構(gòu)成完整的軟件系統(tǒng),從而完成集成測試。題。成功地構(gòu)成完整的軟件系統(tǒng),從而完成集成測試。16n系統(tǒng)測試:就是充分運(yùn)行或模擬運(yùn)行軟件系統(tǒng),以驗(yàn)證系系統(tǒng)測試:就是充分運(yùn)行或模擬運(yùn)行軟件系統(tǒng),以驗(yàn)證系統(tǒng)是否滿足產(chǎn)品的質(zhì)量需求,特別是非功能的質(zhì)量需求。統(tǒng)是否滿足產(chǎn)品的質(zhì)量需求,特別是非功能的質(zhì)量需求。系統(tǒng)測試可以和功能測試并行進(jìn)行。系統(tǒng)測試可以和功能測試并行進(jìn)行。n驗(yàn)收測試:是在軟件產(chǎn)品完成了功能測試和系統(tǒng)測試之后、驗(yàn)收測試:是在軟件產(chǎn)品完成了功能測試和系統(tǒng)測試之后、產(chǎn)品發(fā)布之前所進(jìn)行的軟件測試活動。它是技術(shù)測試的最產(chǎn)品發(fā)布之前所

11、進(jìn)行的軟件測試活動。它是技術(shù)測試的最一個階段,也稱為交付測試。同時考慮用戶的實(shí)際使用環(huán)一個階段,也稱為交付測試。同時考慮用戶的實(shí)際使用環(huán)境、數(shù)據(jù)和習(xí)慣等。驗(yàn)收測試的重要特征就是用戶參與。境、數(shù)據(jù)和習(xí)慣等。驗(yàn)收測試的重要特征就是用戶參與。n回歸測試:是由于軟件修改或變更,對修改后的工作版本回歸測試:是由于軟件修改或變更,對修改后的工作版本所有可能影響的范圍進(jìn)行測試?;貧w測試伴隨著整個測試所有可能影響的范圍進(jìn)行測試。回歸測試伴隨著整個測試過程,在功能測試和系統(tǒng)測試、單元測試和集成測試中,過程,在功能測試和系統(tǒng)測試、單元測試和集成測試中,一旦有變更或修正,都要進(jìn)行相應(yīng)的回歸測試。一旦有變更或修正,都

12、要進(jìn)行相應(yīng)的回歸測試。17n單元測試單元測試測試的最早期階段,焦點(diǎn)在于最小的被測軟件的組成部分測試的最早期階段,焦點(diǎn)在于最小的被測軟件的組成部分在軟件生命周期中盡早的對程序進(jìn)行測試,則可以提高產(chǎn)品的質(zhì)量在軟件生命周期中盡早的對程序進(jìn)行測試,則可以提高產(chǎn)品的質(zhì)量并降低維護(hù)的難度。并降低維護(hù)的難度。18n單元測試單元測試單元測試常常和模塊編寫同步進(jìn)行,在完成了模塊代碼單元測試常常和模塊編寫同步進(jìn)行,在完成了模塊代碼的編寫、通過語法編譯之后就可以進(jìn)行單元測試。的編寫、通過語法編譯之后就可以進(jìn)行單元測試。n單元測試任務(wù)包括:單元測試任務(wù)包括: 模塊接口測試、模塊接口測試、 局部數(shù)據(jù)結(jié)構(gòu)測試、局部數(shù)據(jù)結(jié)

13、構(gòu)測試、 邊界條件測試、邊界條件測試、 獨(dú)立執(zhí)行的通路測試、獨(dú)立執(zhí)行的通路測試、 錯誤處理通路測試、錯誤處理通路測試、 資源運(yùn)用測試、資源運(yùn)用測試、 模塊程序結(jié)構(gòu)測試、模塊程序結(jié)構(gòu)測試、 1920l非增式非增式 對組合中的模塊先個別測試,然后全部集中在一起測試。對組合中的模塊先個別測試,然后全部集中在一起測試。 優(yōu)點(diǎn):一次性,工作簡單。優(yōu)點(diǎn):一次性,工作簡單。 缺點(diǎn):錯誤結(jié)果難以區(qū)分和定位。缺點(diǎn):錯誤結(jié)果難以區(qū)分和定位。l自頂向下自頂向下 優(yōu)點(diǎn):自然,一開始就可以清楚系統(tǒng)的框架。優(yōu)點(diǎn):自然,一開始就可以清楚系統(tǒng)的框架。 缺點(diǎn):需要樁模塊的支撐。缺點(diǎn):需要樁模塊的支撐。l自底向上自底向上 優(yōu)點(diǎn):

14、驅(qū)動程序的編寫要比樁簡單。優(yōu)點(diǎn):驅(qū)動程序的編寫要比樁簡單。 缺點(diǎn):直到最后一個模塊加入進(jìn)去之前,缺乏對缺點(diǎn):直到最后一個模塊加入進(jìn)去之前,缺乏對 系統(tǒng)框架的整體概念系統(tǒng)框架的整體概念21系統(tǒng)測試的內(nèi)容:系統(tǒng)測試的內(nèi)容:l功能:所有需求所指明的正常功能功能:所有需求所指明的正常功能l錯誤處理:對錯誤輸入的反映錯誤處理:對錯誤輸入的反映l故障恢復(fù):系統(tǒng)的容錯能力故障恢復(fù):系統(tǒng)的容錯能力l安全:防范非法入侵的能力安全:防范非法入侵的能力l強(qiáng)度:對資源方面的異常情況的抵抗能力強(qiáng)度:對資源方面的異常情況的抵抗能力l性能:對系統(tǒng)使用方面的異常情況的抵抗力性能:對系統(tǒng)使用方面的異常情況的抵抗力22n確認(rèn)測試

15、確認(rèn)測試進(jìn)行有效性測試,運(yùn)用黑盒測試的方法,驗(yàn)證所測試的進(jìn)行有效性測試,運(yùn)用黑盒測試的方法,驗(yàn)證所測試的軟件是否滿足需求規(guī)格說明書列出的要求;軟件是否滿足需求規(guī)格說明書列出的要求;n軟件配置復(fù)查,保證軟件的所有配置成分都齊全;軟件配置復(fù)查,保證軟件的所有配置成分都齊全;nalpha測試和測試和beta測試測試n驗(yàn)收測試,以用戶為主,由用戶參加設(shè)計(jì)測試用例,對程驗(yàn)收測試,以用戶為主,由用戶參加設(shè)計(jì)測試用例,對程序的功能、性能,以及可移植性、兼容性、可維護(hù)性、錯序的功能、性能,以及可移植性、兼容性、可維護(hù)性、錯誤的恢復(fù)功能等進(jìn)行確認(rèn)誤的恢復(fù)功能等進(jìn)行確認(rèn)23排錯與測試有著完全不同的含義:排錯與測試

16、有著完全不同的含義: 測試只能發(fā)現(xiàn)錯誤的特征,給排錯提供分析錯誤的依據(jù)測試只能發(fā)現(xiàn)錯誤的特征,給排錯提供分析錯誤的依據(jù) 排錯是根據(jù)測試提供的依據(jù),分析并找到錯誤的根源,然排錯是根據(jù)測試提供的依據(jù),分析并找到錯誤的根源,然后修正錯誤。后修正錯誤。 排錯的主要手段:排錯的主要手段: 蠻力法蠻力法 回溯法回溯法 原因排除法原因排除法24從測試的手段上分:從測試的手段上分:n靜態(tài)測試靜態(tài)測試不需要執(zhí)行所測試的程序,掃描所測試的程序的正文,不需要執(zhí)行所測試的程序,掃描所測試的程序的正文,對程序的數(shù)據(jù)流和控制流進(jìn)行分析,得出測試結(jié)果對程序的數(shù)據(jù)流和控制流進(jìn)行分析,得出測試結(jié)果.n動態(tài)測試動態(tài)測試?yán)脺y試用

17、例運(yùn)行程序,發(fā)現(xiàn)程序中的錯誤。利用測試用例運(yùn)行程序,發(fā)現(xiàn)程序中的錯誤。25n工程測試工程測試 往往采用審閱的測試方式,它是在軟件開發(fā)項(xiàng)目內(nèi)往往采用審閱的測試方式,它是在軟件開發(fā)項(xiàng)目內(nèi)部進(jìn)行,目的是保證開發(fā)過程中的中間產(chǎn)品,在被項(xiàng)目的部進(jìn)行,目的是保證開發(fā)過程中的中間產(chǎn)品,在被項(xiàng)目的其它部分所引用之前,具有應(yīng)有的質(zhì)量。如:接口約定的其它部分所引用之前,具有應(yīng)有的質(zhì)量。如:接口約定的評審等。評審等。n正式測試正式測試 也是采用審閱的方式,它對已經(jīng)完成的中間產(chǎn)品進(jìn)行也是采用審閱的方式,它對已經(jīng)完成的中間產(chǎn)品進(jìn)行正式的質(zhì)量評估,一旦通過,該中間產(chǎn)品將被納入基線,正式的質(zhì)量評估,一旦通過,該中間產(chǎn)品將被

18、納入基線,通常正式測試也是在項(xiàng)目組內(nèi)部進(jìn)行,但是它的正式程度通常正式測試也是在項(xiàng)目組內(nèi)部進(jìn)行,但是它的正式程度高于工程測試。如:高于工程測試。如:需求分析說明書需求分析說明書評審等。評審等。26n審核測試審核測試 通常由獨(dú)立于項(xiàng)目組的質(zhì)量管理人員定期舉行。對項(xiàng)通常由獨(dú)立于項(xiàng)目組的質(zhì)量管理人員定期舉行。對項(xiàng)目的開發(fā)過程、規(guī)定的活動、進(jìn)度計(jì)劃進(jìn)行審核,主要是目的開發(fā)過程、規(guī)定的活動、進(jìn)度計(jì)劃進(jìn)行審核,主要是對開發(fā)的過程進(jìn)行控制。審核的結(jié)果,常常就是對一個項(xiàng)對開發(fā)的過程進(jìn)行控制。審核的結(jié)果,常常就是對一個項(xiàng)目或計(jì)劃進(jìn)行重大調(diào)整的依據(jù)。如:質(zhì)量保證部門對開發(fā)目或計(jì)劃進(jìn)行重大調(diào)整的依據(jù)。如:質(zhì)量保證部門

19、對開發(fā)過程的驗(yàn)證等。過程的驗(yàn)證等。n檢查測試檢查測試 通常也是由項(xiàng)目組以外、甚至企業(yè)組織以外的人員進(jìn)通常也是由項(xiàng)目組以外、甚至企業(yè)組織以外的人員進(jìn)行。檢查測試往往是針對特定的課題,按照事先確定的要行。檢查測試往往是針對特定的課題,按照事先確定的要求進(jìn)行嚴(yán)格的審查。當(dāng)檢查有權(quán)威性行業(yè)機(jī)構(gòu)組織實(shí)施時,求進(jìn)行嚴(yán)格的審查。當(dāng)檢查有權(quán)威性行業(yè)機(jī)構(gòu)組織實(shí)施時,檢查的結(jié)果往往影響深遠(yuǎn)。如檢查的結(jié)果往往影響深遠(yuǎn)。如cmm認(rèn)證的正式審核。認(rèn)證的正式審核。27按測試用例設(shè)計(jì)方法:按測試用例設(shè)計(jì)方法:n白盒測試白盒測試n黑盒測試黑盒測試28n黑盒測試黑盒測試功能功能系統(tǒng)性能系統(tǒng)性能n白盒測試白盒測試靜態(tài)質(zhì)量分析靜態(tài)

20、質(zhì)量分析覆蓋測試分析覆蓋測試分析runtime問題檢測問題檢測代碼執(zhí)行性能代碼執(zhí)行性能n測試執(zhí)行方式測試執(zhí)行方式動態(tài)動態(tài)靜態(tài)靜態(tài)2930n白盒測試白盒測試結(jié)構(gòu)測試、邏輯驅(qū)動測試結(jié)構(gòu)測試、邏輯驅(qū)動測試結(jié)構(gòu)測試將程序的執(zhí)行表現(xiàn)與編碼意圖作比較結(jié)構(gòu)測試將程序的執(zhí)行表現(xiàn)與編碼意圖作比較隨著隨著casecase工具的發(fā)展,白盒測試的內(nèi)容相應(yīng)擴(kuò)展工具的發(fā)展,白盒測試的內(nèi)容相應(yīng)擴(kuò)展應(yīng)用程序典型白盒測試方法典型白盒測試方法靜態(tài)分析靜態(tài)分析動態(tài)測試動態(tài)測試31n黑盒測試黑盒測試功能測試、數(shù)據(jù)驅(qū)動測試、基于規(guī)格說明的測試功能測試、數(shù)據(jù)驅(qū)動測試、基于規(guī)格說明的測試將程序的執(zhí)行表現(xiàn)與功能需求規(guī)格說明作比較將程序的執(zhí)行

21、表現(xiàn)與功能需求規(guī)格說明作比較輸入輸出典型黑盒測試方法典型黑盒測試方法等價類劃分等價類劃分因果圖因果圖邊界值分析邊界值分析32n如果想用黑盒測試來發(fā)現(xiàn)程序中的所有錯誤,就必須用輸如果想用黑盒測試來發(fā)現(xiàn)程序中的所有錯誤,就必須用輸入數(shù)據(jù)的所有可能值來檢驗(yàn)程序是否都能產(chǎn)生預(yù)期的結(jié)果,入數(shù)據(jù)的所有可能值來檢驗(yàn)程序是否都能產(chǎn)生預(yù)期的結(jié)果,但是這個顯然是不可能的:但是這個顯然是不可能的: 窮舉輸入窮舉輸入 設(shè)計(jì)規(guī)格說明書設(shè)計(jì)規(guī)格說明書n因而不能單純依靠功能測試,還必須研究程序的邏輯和結(jié)因而不能單純依靠功能測試,還必須研究程序的邏輯和結(jié)構(gòu),來分析程序的總體質(zhì)量狀況。構(gòu),來分析程序的總體質(zhì)量狀況。33功能測試

22、(黑盒測試)功能測試(黑盒測試)源于系統(tǒng)級、界面和單元級的規(guī)格說明,測試數(shù)據(jù)來自源于系統(tǒng)級、界面和單元級的規(guī)格說明,測試數(shù)據(jù)來自程序需求,不用關(guān)心程序結(jié)構(gòu),獨(dú)立于開發(fā)語言。程序需求,不用關(guān)心程序結(jié)構(gòu),獨(dú)立于開發(fā)語言。n結(jié)構(gòu)測試(白盒測試)結(jié)構(gòu)測試(白盒測試)需要了解源碼,包括程序結(jié)構(gòu)、變量,測試數(shù)據(jù)來自程需要了解源碼,包括程序結(jié)構(gòu)、變量,測試數(shù)據(jù)來自程序本身。序本身。34從測試級別上說從測試級別上說n單元測試單元測試n集成測試集成測試自底向上測試自底向上測試自上向下測試自上向下測試n系統(tǒng)測試系統(tǒng)測試n驗(yàn)收測試驗(yàn)收測試35n設(shè)計(jì)評審設(shè)計(jì)評審n靜態(tài)分析靜態(tài)分析n功能測試功能測試n用戶界面測試用戶界

23、面測試n性能測試性能測試n壓力測試壓力測試n容量測試容量測試n配置測試配置測試n安裝測試安裝測試36n設(shè)計(jì)評審設(shè)計(jì)評審 評審在軟件需求分析階段產(chǎn)生的軟件需求規(guī)格說明書、評審在軟件需求分析階段產(chǎn)生的軟件需求規(guī)格說明書、數(shù)據(jù)要求規(guī)格說明,以及在軟件概要設(shè)計(jì)階段產(chǎn)生的數(shù)據(jù)要求規(guī)格說明,以及在軟件概要設(shè)計(jì)階段產(chǎn)生的軟件概要設(shè)計(jì)說明書等。軟件概要設(shè)計(jì)說明書等。37對源代碼的靜態(tài)分析:處理源代碼,生成符號表、交叉對源代碼的靜態(tài)分析:處理源代碼,生成符號表、交叉引用標(biāo)等,主要分析代碼中的類型、引用、參數(shù)傳遞,以引用標(biāo)等,主要分析代碼中的類型、引用、參數(shù)傳遞,以及表達(dá)式等不用運(yùn)行就能夠發(fā)現(xiàn)的錯誤;另外還有一些

24、容及表達(dá)式等不用運(yùn)行就能夠發(fā)現(xiàn)的錯誤;另外還有一些容易出錯的地方,如空指針賦值、下標(biāo)越界等。還可以檢查易出錯的地方,如空指針賦值、下標(biāo)越界等。還可以檢查諸如命名規(guī)則等編程規(guī)范。諸如命名規(guī)則等編程規(guī)范。n人工測試人工測試p代碼評審:由代碼評審小組依據(jù)設(shè)計(jì)說明書、控制代碼評審:由代碼評審小組依據(jù)設(shè)計(jì)說明書、控制流程圖等設(shè)計(jì)文檔對代碼進(jìn)行審議,以發(fā)現(xiàn)錯誤;流程圖等設(shè)計(jì)文檔對代碼進(jìn)行審議,以發(fā)現(xiàn)錯誤;p走查代碼:使用一些測試用例,人工執(zhí)行程序,以走查代碼:使用一些測試用例,人工執(zhí)行程序,以發(fā)現(xiàn)邏輯錯誤。發(fā)現(xiàn)邏輯錯誤。38n功能測試功能測試驗(yàn)證軟件是否提供了所期待的服務(wù)。包括:驗(yàn)證軟件是否提供了所期待的

25、服務(wù)。包括:“主要主要”方案方案-所有的輸入是合法的。所有的輸入是合法的?!拜o助輔助”方案方案-一些或所有的輸入是不合法的。一些或所有的輸入是不合法的。39n缺陷影響的嚴(yán)重程度缺陷影響的嚴(yán)重程度n缺陷修正的優(yōu)先級缺陷修正的優(yōu)先級n缺陷產(chǎn)生的原因缺陷產(chǎn)生的原因n當(dāng)前的缺陷狀態(tài)(當(dāng)前的缺陷狀態(tài)(open, being fixed, closed等)等)40n缺陷分布缺陷分布n缺陷滯留缺陷滯留n缺陷趨勢缺陷趨勢n測試結(jié)果和進(jìn)展測試結(jié)果和進(jìn)展41424344 maintenance維護(hù)需求分析設(shè)計(jì)開發(fā) revision build build實(shí)施實(shí)施exec.測試計(jì)劃缺陷追蹤測試開發(fā)測試設(shè)計(jì)缺陷分析4

26、5exec.exec.test planningdefect trackingtestdevelopment測試設(shè)計(jì)evaluation build buildexec. build464748495051?5253軟件測試測試團(tuán)隊(duì)測試組管理員測試組成員測試過程/方法測試工具測試計(jì)劃及設(shè)計(jì)工具測試開發(fā)及實(shí)施工具測試評估及缺陷跟蹤工具54測試設(shè)計(jì)工程師/測試開發(fā)工程師測試團(tuán)隊(duì)測試經(jīng)理 測試系統(tǒng)管理員測試執(zhí)行工程師55以上我們學(xué)習(xí)了:以上我們學(xué)習(xí)了:n軟件測試的重要性軟件測試的重要性n基本概念回顧:測試的定義,測試目的等基本概念回顧:測試的定義,測試目的等n測試的級別:單元、集成、系統(tǒng)、驗(yàn)收測試的

27、級別:單元、集成、系統(tǒng)、驗(yàn)收n測試術(shù)語小結(jié)測試術(shù)語小結(jié)n測試類型:功能、界面、性能、壓力、容量、配置、安裝測試類型:功能、界面、性能、壓力、容量、配置、安裝等等n測試度量:靜態(tài)度量、動態(tài)度量測試度量:靜態(tài)度量、動態(tài)度量n測試策略:制定策略應(yīng)考慮到的因素測試策略:制定策略應(yīng)考慮到的因素n測試生命周期:計(jì)劃、設(shè)計(jì)、實(shí)現(xiàn)、執(zhí)行、評估以及缺陷測試生命周期:計(jì)劃、設(shè)計(jì)、實(shí)現(xiàn)、執(zhí)行、評估以及缺陷跟蹤跟蹤n測試工具測試工具n測試過程管理測試過程管理56一、設(shè)有一個檔案管理系統(tǒng),要求用戶輸入以年一、設(shè)有一個檔案管理系統(tǒng),要求用戶輸入以年月表示的日期。假設(shè)日期限定在月表示的日期。假設(shè)日期限定在1990年年1月月

28、2049年年12月,并規(guī)定日期由月,并規(guī)定日期由6位數(shù)字字符組成,位數(shù)字字符組成,前前4位表示年,后位表示年,后2位表示月。現(xiàn)用等價類劃分法位表示月?,F(xiàn)用等價類劃分法設(shè)計(jì)測試用例,來測試程序的設(shè)計(jì)測試用例,來測試程序的“日期檢查功能日期檢查功能”。 571)劃分等價類并編號劃分等價類并編號,下表等價類劃分的結(jié)果下表等價類劃分的結(jié)果輸入等價類輸入等價類有效等價類有效等價類無效等價類無效等價類日期的類型及長度日期的類型及長度6位數(shù)字字符位數(shù)字字符有非數(shù)字字符少于有非數(shù)字字符少于6位數(shù)位數(shù)字字符多于字字符多于6位數(shù)字字符位數(shù)字字符年份范圍年份范圍在在19902049之間之間小于小于1990大于大于2

29、049月份范圍月份范圍在在0112之間之間等于等于00大于大于122)設(shè)計(jì)測試用例,以便覆蓋所有的有效等價類在表中列出了設(shè)計(jì)測試用例,以便覆蓋所有的有效等價類在表中列出了3個有效等價類,編號分別為、,設(shè)計(jì)的測試用個有效等價類,編號分別為、,設(shè)計(jì)的測試用例如下:例如下: 測試數(shù)據(jù)測試數(shù)據(jù) 期望結(jié)果期望結(jié)果 覆蓋的有效等價類覆蓋的有效等價類 200211 輸入有效輸入有效 、 583)為每一個無效等價類設(shè)計(jì)一個測試用例,設(shè)計(jì)結(jié)果如下:為每一個無效等價類設(shè)計(jì)一個測試用例,設(shè)計(jì)結(jié)果如下: 測試數(shù)據(jù)測試數(shù)據(jù) 期望結(jié)果期望結(jié)果 覆蓋的無效等價類覆蓋的無效等價類 95june 無效輸入無效輸入 20036 無效輸入無效輸入 2001006 無

溫馨提示

  • 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

提交評論