軟件測試種類、策略介紹
,Header text,,,,*,©,文訊信息科技有限公司所有,2012,,軟件測試種類、策略介紹,,測試服務(wù)部,【,陳燕,】,,2013,年,6,月,20,日,,2,引言,本章主要講解軟件測試方法:功能測試、性能測試和安全測試三類測試;以及軟件測試策略:,回歸測試、自動化測試、手工測試和聯(lián)調(diào)測試,。,3,目錄,,,,1.,軟件測試方法,,2.,軟件測試策略,,1.,軟件測試方法,4,1.1,功能測試,,正常功能,,異常功能,,邊界測試,,界面測試,,接口測試,,錯誤處理測試,1.2,性能測試,1.3,安全測試,測試方法主要著眼于“測什么”,可分為功能測試、性能測試和安全測試三類。,,1.,軟件測試方法,5,,,,功能測試,性能測試,,安全測試,1,、正常,功能,,1,)檢測各模塊的正常情況的處理是否能夠正確執(zhí)行;,,2,)檢測系統(tǒng)的正常業(yè)務(wù)處理、正常流程是否能夠正確執(zhí)行;,,3,)檢測相關(guān)聯(lián)的各個子系統(tǒng)在正常情況下的協(xié)調(diào)運作情況。,,2,、異常,功能,,1,)檢測模塊的異常情況處理是否能夠正確執(zhí)行;,,2,)檢測系統(tǒng)的異常業(yè)務(wù)處理、容錯處理是否能夠正確執(zhí)行;,,3,)檢測相關(guān)聯(lián)的各個子系統(tǒng)在異常情況下是否能夠協(xié)調(diào)運作且能否形成閉環(huán)。,,4,)異常情況包括但不限于以下情況:數(shù)據(jù)庫服務(wù)器死機、數(shù)據(jù)表毀壞、網(wǎng)絡(luò)故障、軟件服務(wù)器故障等。,,3,、邊界,測試,,檢測當(dāng)輸入或輸出為最大、最小、臨界值時模塊或系統(tǒng)能否正確,,處理。,,,1.,軟件測試方法,6,,,,功能測試,性能測試,,安全測試,4,、界面測試,,1,)檢查界面風(fēng)格是否符合系統(tǒng)開發(fā)規(guī)范;,,2,)檢查界面能否支持操作順序的無序性;,,3,)檢查界面操作是否方便,是否有快捷鍵,是否有聯(lián)機幫助。,,5,、接口測試,,,檢測系統(tǒng)與其他軟、硬件系統(tǒng)接口的正確性。,,6,、錯誤處理測試,,1,)檢查對不合法的輸入以及錯誤數(shù)據(jù)、錯誤操作是否進行有效性檢和非法性判斷;,,2,)檢查錯誤提示的描述是否明確,是否容易進行錯誤定位。,,功能測試包含新增業(yè)務(wù),/,功能測試和關(guān)鍵性業(yè)務(wù)測試。新增業(yè)務(wù),/,功能測試即對產(chǎn)品的新增功能進行驗證,根據(jù)功能測試用例檢查新增的業(yè)務(wù),/,功能是否達(dá)到要求。,,1.,軟件測試方法,7,,,,功能測試,性能測試,,安全測試,性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進行測試。,,,性能測試是獲得保障系統(tǒng)正常運行以及規(guī)劃相關(guān)數(shù)據(jù)和性能指標(biāo)的重要方式。,,,負(fù)載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進行。通過負(fù)載測試,確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負(fù)載逐漸增加時,系統(tǒng)各項性能指標(biāo)的變化情況。壓力測試是測試系統(tǒng)在一定飽和狀態(tài)下,系統(tǒng)處理能力是否正常的測試。,,,1.,軟件測試方法,8,,,,功能測試,性能測試,,安全測試,安全測試主要檢查系統(tǒng)對非法侵入的防范能力,檢查程序本身是否存在惡意代碼。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。,,,安全測試用來驗證集成在系統(tǒng)內(nèi)的保護機制是否能夠在實際中保護系統(tǒng)不受到非法的侵入。,,1,)嘗試登錄,檢查口令的有效性,嘗試登錄次數(shù)的有限性;,,2,)試圖進行登錄角色以外的操作,檢查權(quán)限設(shè)定的有效性;,,3,)當(dāng)一個終端在一個指定的時間段內(nèi)沒有鼠標(biāo)和鍵盤輸入時,是否有黑屏保護或自動退出功能,以防非法用戶的使用;,,4,)以普通用戶登錄服務(wù)器來訪問數(shù)據(jù)庫的磁盤文件,檢查能否直接訪問; 或查詢這些文件訪問權(quán)限的設(shè)定是否有安全保障;,,5,)視圖的測試:以某一特定用戶登錄,查詢由視圖顯示的數(shù)據(jù),檢查是否 有該用戶不能看到的數(shù)據(jù);,,6,)安全審計:對應(yīng)用代碼中批量訪問關(guān)鍵敏感數(shù)據(jù)及數(shù)據(jù)輸出等代碼內(nèi)容進行審核,9,目錄,,,,1.,軟件測試方法,,2.,軟件測試策略,,2.,軟件測試策略,10,2.1,回歸測試,,2.2,自動化測試,2.3,手工測試,2.4,聯(lián)調(diào)測試,測試策略指測試可采取的手段,即“怎么測”,常見的測試策略包括但不僅限于以下四類:回歸測試、自動化測試、手工測試和聯(lián)調(diào)測試。,,2.,軟件測試策略,11,2.1,回歸測試,,回歸測試是指修改了舊代碼后,重新進行測試以確認(rèn)修改沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯誤。自動回歸測試將大幅降低系統(tǒng)測試、維護升級等階段的成本?;貧w測試作為軟件生命周期的一個組成部分,在整個軟件測試過程中占有很大的工作量比重,軟件開發(fā)的各個階段都會進行多次回歸測試。,,2.2,自動化測試,,自動化測試是指通過自動化的測試工具,對一些經(jīng)常需要作回歸測試的功能進行驗證,替代測試人員的重復(fù)勞動,可以節(jié)省人力、時間或硬件資源,提高測試效率。自動化測試需要滿足系統(tǒng)上線后穩(wěn)定一段時間、核心結(jié)構(gòu)、界面改動較少的前提條件才能夠發(fā)揮作用,因此存在一定的局限性。對于業(yè)務(wù)邏輯比較復(fù)雜,采用自動化腳本無法覆蓋全面的,建議采用手工測試。,,,2.,軟件測試策略,12,2.3,手工測試,,手工測試是指通過人工的方式,模擬各種正常情況或者異常情況,針對功能進行校驗,一般針對上線前的系統(tǒng)或者開發(fā)過程中的功能進行驗證,并通過工具進行測試的管理,工具在這個工作中起到的作用主要是針對測試需求、測試用例、測試計劃以及缺陷跟蹤的管理。,,2.4,聯(lián)調(diào)測試,,業(yè)務(wù)上線前對兩個或兩個以上的系統(tǒng)或子系統(tǒng)(總部系統(tǒng)、省系統(tǒng)、業(yè)務(wù)平臺等)開展的測試,側(cè)重于模塊間接口正確性、各模塊間數(shù)據(jù)流和控制流正確性的驗證。聯(lián)調(diào)測試根據(jù)接口規(guī)范定義的功能設(shè)計測試用例進行。須覆蓋接口規(guī)范中涉及本次業(yè)務(wù)變更的所有功能,包括正常流程測試和異常流程測試,,結(jié)束,13,