<陳市明 摘自:http://www.aygfsteel.com/JPeanut>
性能測試流程規范說明
文檔控制
Date |
Version |
Description |
Author |
|
1 |
Create |
陳市明
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
目? 錄
一、?????? 測試流程
|
設計 |
實施 |
分析 |
整體分析
|
工作內容
|
l???????? 和項目經理確定測試的功能點 l???????? 編寫測試用例文檔
|
l???????? 錄制腳本 l???????? 運行腳本 , 得到測試結果 l???????? 填寫測試報告
|
l???????? 分析測試結果和測試報告 l???????? 編寫測試分析文檔
|
l???????? 對分析一的多份分析報告進行整體體的分析 |
生成文檔
|
l???????? 性能測試需求( xls ) l???????? 測試用例文檔 (doc)
|
l???????? 腳本 (lr) l???????? 測試結果 (lr) l???????? 測試報告 (doc)
|
l???????? 測試分析報告 (xls)
|
l???????? 項目整體的分析報告 |
對人員的要求
|
l???????? 對項目業務和需求比較了解 l???????? 需要一定的項目經驗
|
l???????? 工作量大 l???????? 技術含量低
|
l???????? 需要比較強的分析能力 l???????? 技術含量高
|
l???????? 需要非常強分析能力 l???????? 技術含量非常高 |
表格 1 測試流程階段
?
性能測試基本上分成四個主要的階段:
l???????? 設計
l???????? 實施
l???????? 分析
l???????? 整體分析
1.?? 設計階段
該階段主要是測試設計人員,項目經理和開發人員一起確定比較容易出問題的一些功能點,再根據這些功能點進行篩選按照《性能測試用例模板》的格式編寫《測試用例文檔》。
在編寫文檔期間,關于每個功能點的“正常數據量”,“正常用戶量”,“正常并發量”需要和項目經理仔細討論,并記錄在測試用例文檔內;如果遇到項目經理不太清楚的功能點,測試設計人員可以根據經驗來作出判斷。
該階段需要測試設計人員對項目的業務和需求比較了解,也需要一定的項目經驗。
該階段生成的文檔:
?????? 項目經理和測試設計人員編寫的《性能測試需求》( xls )
測試設計人員編寫的《性能測試用例文檔》( doc )
2.?? 實施階段
該階段主要是測試小組內部完成。測試實施人員在得到分析階段編寫的《性能測試用例文檔》,通過測試工具錄制、運行腳本,把運行的結果按照《性能測試報告模板》的格式填寫《性能測試報告》。
《性能測試規范》上有詳細的規范來指導測試實施人員進行測試,比如,對測試腳本的錄制方法,腳本命名等問題上,都有詳細的說明。該《性能測試規范》的編寫目的,就是為了保證測試實施人員可以在短時間內上手進行測試實施,也規范了測試實施人員的操作,可以讓不同的測試實施人員可以在得到《性能測試報告》可以錄制出相同的腳本和誤差不大的測試結果。
特別指出,該階段可能會填寫多份《性能測試報告》。一份《性能測試報告》是在一個測試環境(包括 APP SERVER , DB SERVER ,數據量,項目版本)下得到的測試結果。我們的測試肯能會對同一個版本在不同測試環境下多次測試,得到多份測試結果;可能會把不同的版本項目在相同的測試環境下測試得到不同的測試結果。一般情況下,如果項目對性能要求不是嚴格的話,那我們只出一份《性能測試報告》。
該階段對測試實施人員的要求比較低,只需要經過短時間內培訓,在測試經理的指導下就可以進行完整測試實施。此階段工作量比較大,但是,此階段又是整個性能測試流程中比較重要的階段,測試實施人員犯的錯誤會直接影響到后期的分析,所以,還是要對這個階段的工作特別細心,特別重視。
該階段生成的文檔:
?????? 測試實施人員根據《測試用例文檔》,錄制“測試腳本”
?????? 測試實施人員根據“測試腳本”,得到“測試腳本運行結果”
?????? 測試實施人員根據“測試腳本運行結果”,填寫《性能測試報告》( doc )
注:
?????? 此處的“測試腳本”,“測試腳本運行結果”,《性能測試報告》( doc )一份或者多份
3.?? 分析階段
該階段也是測試小組內部完成。測試分析人員根據得到的《性能測試報告》,“測試腳本運行結果”進行分析,按照《性能測試分析報告模板》的格式填寫《性能測試分析報告》。
目前,我們的分析,是功能點的響應時間,網絡占用量, APP SERVER 的 CPU 和內存來的一些參數來對功能點進行分析,得到該版本的項目在該測試平臺的一個整體的性能報告。
在之前的一個階段中,出現每份《性能測試報告》文檔,都會分析得到一份《性能測試分析報告》。如果項目對性能要求不是嚴格的話,那這個階段已經就完成了整個測試階段,該《性能測試分析報告》就是最終的性能報告。如果項目對性能非常嚴格的話,那要繼續下一個極端。
該階段需要測試分析人員根據一些數據,一些圖表來判斷項目的性能,對測試分析人員有比較高的分析能力。如果找到性能上出現問題的功能點,在測試分析人員的能力范圍內,需要定位問題的原因。
該階段生成的文檔:
?????? 測試分析人員根據《性能測試報告》,“測試腳本運行結果”,填寫《性能測試分析報告》。
注:
?????? 此處的《性能測試分析報告》一份或者多份
4.?? 整體分析階段
該階段是測試分析人員對前面一個階段得到的多份的《性能測試分析報告》橫向和縱向的綜合分析。
所謂橫向分析,就是對同一個版本在不同平臺上得到的《性能測試分析報告》進行分析,意圖在得到項目的一個運行的推薦配置。
所謂縱向分析,就是對不同版本在相同的平臺上得到的《性能測試分析報告》進行分析,意圖就是得到項目在改版后,性能問題是否已經得到了解決。
綜合分析,就是結合兩者得到的分析報告。
該階段對測試分析人員需要非常強的分析能力,目前,測試組沒有一個成員可以承擔改分析工作,但是作為一個以后的測試人員的培養方向。
該階段生成文檔:
?????? 測試人員根據《性能測試分析報告》,編寫《項目整體的分析報告》。
二、?????? 測試原則
測試環境必須是盡可能的去除外界人為干擾,最好能單獨訪問該網站。
測試各個階段中,每個階段的測試人員只需要了解前一個階段測試結果。
三、?????? 測試工具
Mercury LoadRunner 7.8
四、?????? 實施案例- ■■■■■■■
1.?? 測試概況
■■性能測試目前,我們的是進行了之前提到的前三個測試。第四個階段,因為目前的技術問題,沒有進行下去。
2.?? 測試目的
對該系統進行測試的最主要的目的是為了驗證該整個流程和該流程的文檔模板是不是符合我們的項目實際情況;其次,才是測試長安性能問題。
3.?? 測試生成文檔
《性能測試需求》( xls )■
《性能測試用例文檔》( doc )■
“測試腳本”( loadrunner )■
“測試腳本運行結果”( loadrunner )■
《性能測試報告》( doc )■
《性能測試分析報告》■