2.2 測試腳本準備
根據測試執行方案中制定的測試功能,準備測試腳本。測試腳本可以通過測試工具來準備,也可以通過自己編寫來完成。
準備測試腳本前,首先確定測試功能運行無誤,防止影響測試結果。測試腳本錄制或編寫完畢后,需要進行相應的編輯,如參數化、調試等,并需要驗證測試腳本的有效性:
(1)首先,進行單腳本單用戶驗證,驗證每個測試腳本運行與實際功能操作是否相符。如增加功能的腳本,既要保證腳本可以成功運行,還要保證數據庫中有相應的增加數據。
(2)其次,進行單腳本多用戶驗證,驗證每個測試腳本的數據池是否有效。
(3)最后,進行多腳本多用戶驗證,驗證測試腳本是否可以并發運行。
2.3 測試場景布置
根據制定的測試場景布置各測試場景,包括測試腳本及其對應的虛擬用戶數、對應的運行參數、用戶增長方式、測試循環方式、用戶退出方式、需要監視的性能計數器等。
2.4 測試場景執行
測試場景布置完畢后,開始執行測試場景。測試中,測試人員要監視測試運行情況,如有過多錯誤,應及時停止方案的運行,查找錯誤原因。若是因為外界原因(如網絡不穩定等)或者運行參數設置問題,則需要進行相應的調整再運行方案。如果不是外界原因和運行參數設置問題,則保存測試結果,以便進行結果分析,找出問題原因。執行所有的測試場景,及時匯總測試結果,為下一步結果分析做準備。
為了保證方案運行的有效性,在執行測試前,要將數據庫恢復到腳本準備前的原始狀態。在運行中,所有相關設備不要進行與測試無關的操作,以避免影響測試結果。
3.測試結果分析
測試結果分析是性能測試中的一個重要部分,同時也是一個難點。不同的軟件系統,不同的性能指標,結果分析方法都是不一樣的。下面給出一個簡單的結果分析方法。
首先,查看運行結果中是否有錯誤出現,可以結合運行日志信息來查找。若有錯誤信息,則需要進一步分析,根據錯誤信息查找原因。如,測試結果中出現超時錯誤,可能的原因有:
a. 硬件有瓶頸,如CPU、內存等;
b. 程序算法有問題;
c. 應用服務的相關參數設置有問題;
d. 程序中處理有關表的時候檢查字段太多。
接下來,對這幾個可能的原因進一步分析,以確定出具體的原因。
若運行結果沒有出現錯誤,則根據關注的性能指標進行分析。首先對網絡進行分析,排除網絡問題,對服務器硬件(CPU、內存、磁盤I/O)進行相關分析,確定是否是硬件瓶頸引起的性能問題,然后對應用服務器配置進行分析,確認是否是由于應用服務器本身的配置引起的性能問題,然后對數據庫進行性能分析,重點是索引、數據庫Cache、死鎖等問題的分析,排除上述因素后,再對程序代碼進行分析,找出導致性能問題的因素。