《軟件測試流程分享》由會員分享,可在線閱讀,更多相關《軟件測試流程分享(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、,Click to edit Master title style,Edit Master text styles,Second level,Third level,Fourth level,Fifth level,2016/10/17,#,軟件測試流程分享,目 錄,整體流程,各階段質(zhì)量評審方式和標準,Bug,分布,CodeReview,單元測試,測試用例設計,功能測試,性能測試,異常測試,1.,整體流程,測試溝通,溝通紀要,測試設計,測試設計文檔,測試執(zhí)行,測試報告,(時間軸),測試介入,線上檢查,2.,各階段質(zhì)量評審方式和標準,階段,評審方式,通過標準,啟動,MRD,需求設計評審,項目相關
2、人員達成一致,預判能實現(xiàn)項目目標。,編碼階段,CodeReview,代碼走查,核心模塊和邏輯復雜模塊走查。,單元測試,由程序開發(fā)人員完成,函數(shù)覆蓋率,90%,行覆蓋率,80%,分支覆蓋率,60%,全面測試階段,集成測試,性能測試,異常測試,場景化測試,與開發(fā)人員共同,review,確認達成項目設計目標。,預上線階段,線上監(jiān)控,設計災備、預案,小流量上線,確認穩(wěn)定性。,上線,線上回歸測試,邏輯,BUG,代碼做了錯誤的事情,,例如條件語句寫錯,變量未賦值等,銜接,BUG,對象之間銜接時候出現(xiàn)錯誤,,例如接口之間傳遞參數(shù)出錯等,渲染,BUG,能夠用眼睛看出來的錯誤,出現(xiàn)在,UI,例如頁面布局與,MR
3、D,不一致,邏輯,銜接,渲染,出現(xiàn)概率,高,中,低,發(fā)現(xiàn)難度,難,一般,容易,修復代價,高,中,低,最理想的測試方法,單元測試,接口測試,系統(tǒng)測試,3.Bug,分布,DAO,DataService,PageService,Action,模板,UT,ST,,針對渲染和銜接,BUG,IT,,針對,銜接,BUG,http,請求,http,應答,UT,針對邏輯,BUG,UT,UT,UT,3.Bug,分布,并非所有的類都要做,UT,4.CodeReview,何時進行,開發(fā)人員每次提交代碼前,都應通過本地單測并將代碼提交,team,間及測試人員,Review,,,Reveiw,通過后才能入庫。,優(yōu)點,保持
4、項目整體代碼風格一致,團隊間互相熟悉代碼,提前發(fā)現(xiàn)錯誤,CodeReview,要點,遵守代碼規(guī)范,保持項目整體代碼風格一致,邏輯錯誤,異常條件考慮不足,5.,單元測試,單元測試開發(fā)原則,短:一般在,10,行以內(nèi),平:基本上都是順序執(zhí)行,沒有分支語句,沒有循環(huán)語句,快:一個用例執(zhí)行時間在毫秒級別,一致性:測試用例多次執(zhí)行,結果一致,原子性:測試用例的執(zhí)行結果,要么是,PASS,,要么是,FAIL,獨立性:測試用例之間獨立,即測試用例的執(zhí)行順序不影響結果,單元測試架構工具,c+,單測框架:,Gtest,c+,覆蓋率分析:,Lcov,python,單測框架:,unittest,nose,java,單
5、測框架:,Junit,java,覆蓋率分析:,cobertura,6.,測試用例設計,輸入,細化的測試需求,測試的方法,相關的資源,輸出,完成測試需求的數(shù)據(jù)設計,完成測試步驟,完成測試預期,可選:標識別用例的優(yōu)先級,可選:和測試需求綁定,用例間的執(zhí)行順序,測試分類:,功能測試,性能測試,異常測試,6.1,功能測試,對產(chǎn)品的各功能進行驗證,檢查產(chǎn)品是否達到用戶要求的功能。,構造輸入,(正常,/,異常),測試數(shù)據(jù)(正常數(shù)據(jù)),配置文件(正常配置),測試環(huán)境(正常環(huán)境),測試步驟,針對系統(tǒng)功能進行驗證,檢查輸出,數(shù)據(jù):正確性、新舊,diff,功能:正確性,針對,namespace,、,databas
6、e,的增刪改查功能的系統(tǒng)測試。,測試輸入,測試數(shù)據(jù):系統(tǒng)對外部數(shù)據(jù)沒有強依賴,測試使用數(shù)據(jù)可以進行構造,測試環(huán)境:單點,server,、后臺數(shù)據(jù)庫,系統(tǒng)配置:使用線上配置,測試步驟,針對,namespace,、,database,的增刪改查,及交叉功能應用常用測試設計方法進行測試設計。,測試輸出,檢查增刪改查的功能是否實現(xiàn),數(shù)據(jù)是否正確。,6.1,功能測試,舉例,6.2,性能測試,-,基本概念,極限性能,穩(wěn)定性能,預期負載性能,性能,壓力,常態(tài)負載,極限負載,壓力評估,通過自動化的測試工具模擬多種正常、峰值以及,異常負載條件來對系統(tǒng)的各項性能指標進行測試。,基本概念,穩(wěn)定性,壓力,負載,CPU
7、,IO,內(nèi)存,帶寬,成功率,超時率,響應時間,并發(fā)用戶數(shù),資源指標,產(chǎn)品指標,資源指標與硬件消耗直接相關。,本質(zhì)反映的是成本問題。,產(chǎn)品指標與場景需求直接相關。,本質(zhì)反映的是效果問題。,6.2,性能測試,關鍵指標,14,step1,分析對象設計原理,確認資源消耗類型,確認具體關注指標,性能測試場景設計,架構部署方案設計,性能預期設計(穩(wěn)定、極限),壓力方案設計,step2,step3,step4,step5,環(huán)境、數(shù)據(jù)與工具選擇,環(huán)境(超時、線程、日志、硬件資源等),數(shù)據(jù)(大小、讀寫方式、,cache,機制),工具選擇(線程池、連接方式、通信方式、壓力增加方式),執(zhí)行方案,執(zhí)行輪次優(yōu)化(對比方
8、案),結果指標分析,指標組合判斷,性能指標評估,瓶頸判斷,優(yōu)化方案設計,6.2,性能測試,測試方案設計,6.2,性能測試,舉例,消息發(fā)送平臺接口測試,測試目的:,測試線上單臺機器,消息,發(fā)送接口,的發(fā)送能力,(系統(tǒng)入口接受外部請求的能力),期望值:,系統(tǒng)入口:,2000QPS,,單機,500QPS,(線上共四臺機器);,CUP_IDLE:30,以上。,性能測試過程:,(1),搭建性能測試環(huán)境,準備線上測試機器并構造壓測數(shù)據(jù),(2),起壓線程,從,10300,,依次增加,遇到瓶頸后,尋找臨界屆值的點,(3),發(fā)送請求數(shù):隨著線程的增加,請求數(shù)略有增加,保證壓測時間不低于,200s,6.2,性能測
9、試,舉例,性能測試結果分析:,線程,數(shù),總請求數(shù),壓測時間,s,入口平均,QPS,接口平均響應時間,Min,響應時間,Max,響應時間,Err,CPU_IDLE,平均值,CPU_IDLE,最低值(,min,),備注,1,10,10w,427,234.1,42,35,474,0.00%,98.395,91,2,50,10w,92.4,1082.1,44,35,676,0.00,%,98.00,94,壓力時間太短,后續(xù)增加請求數(shù)。,3,100,100w,957,1044.9,94,35,2106,0.00%,98.125,95,QPS,負增長。壓測時間過長,減少數(shù)據(jù)量。,4,100,50w,423
10、,1181.3,83,35,1158,0.00%,98.548,95,可以繼續(xù)開大線程數(shù)嘗試。,5,200,50w,170,2934.9,65,35,1211,0.00,%,94.833,87,QPS,增長明顯。,但壓測時間偏短,6,300,90w,288,3127.4,90,35,3001,0.34%,(,3056,),36.966,29,Cpu_idle,降至,28,接口部分請求丟失。,CPU_IDLE,也低至,30,左右。,考慮需要調(diào)低線程數(shù),減少發(fā)送頻率。,7,250,75w,244,3072.4,76,35,1375,0.00%,(7),31.960,29,發(fā)送,75w,個請求,丟失
11、,7,個。錯誤率接近,0,。,接近臨界點。,構造系統(tǒng)的異常場景,檢查系統(tǒng)的穩(wěn)定性、正確性,構造輸入,測試數(shù)據(jù)(異常數(shù)據(jù)),配置文件(異常配置),測試環(huán)境(異常環(huán)境:,CPU,、內(nèi)存、磁盤、網(wǎng)絡、依賴系統(tǒng)異常),測試步驟,構造各種異常場景,檢查輸出,數(shù)據(jù):是否正常,是否與正常場景存在,diff,性能:性能是否有波動,日志:查看系統(tǒng)內(nèi)部是否走進異常分支,異常處理是否正確,功能:是否與預期一致,6.3,異常測試,6.3,異常測試,舉例,Id,1,標題,請求字段異常,步驟,構造請求字段缺失、為空的情況,,,查看接口返回,。,http:/xxx/api/getrealtimeinfobyno,post,參數(shù),“flightno”:”5J110”,”token”:”12345”,預期,接口會有相應的錯誤提示,執(zhí)行結果,通過,1.,當,flightno,取值為空或,flightno,參數(shù)缺省時,返回錯誤碼,-1,,提示參數(shù)錯誤,status:-1,msg:params error,2.,當,token,異常時,返回錯誤碼,-1,,提示,token,校驗失敗,“status”:-1,“msg”:“token checksum failed”,某接口異常測試結果分析:,Q&A?,