在PC客戶端
軟件測試中,穩定性測試是必不可少的一項測試內容。一般在
功能測試已經測試完成,缺陷完全修復完成以后進行。
穩定性測試是在保證客戶端功能完整正確的前提下,通過對軟件穩定性的測試可以觀察在一個運行周期內、一定的壓力條件下,軟件的出錯機率、性能劣化趨勢等。進而大大減少軟件上線后的崩潰卡死等現象,為軟件的逐步優化提供方向及驗證。
測試方法:通過自動化腳本,長時間運行客戶端某些功能或長時間開關客戶端,看客戶端是否存在Crash現象,同時查看內存、CPU等性能指標。
一款PC客戶端軟件,它的穩定性測試需求基本包括:
長時間運行及各種操作下,軟件的穩定性以及各種性能指標的劣化趨勢。
多進程或多線程運行時的穩定性。
具體來講:
長時間:一般都要24h以上,要求高點的要24h*3;
不同操作系統:基本上都需要覆蓋下面系統:Winxp、Win7 x86、Win7 x64、win8 x64、Win 8.1;
不同軟件環境下:主要是指不同的殺毒軟件和安全軟件環境下;
步驟:
確定穩定性測試需求,包括:需要覆蓋的功能點、系統環境和軟件環境、測試時間長度
開發自動化運行腳本
執行腳本,進行性能監控
分析執行結果
自動化腳本
但由于QTP或LoadRunner都是收費軟件,很貴,大部分公司都沒有license,而且它對非標準控件的支持很差。現在我們用一些開源的工具來替代,這邊用Autoit來編寫自動化腳本。
學習參考網址:http://www.autoitx.com/
AutoIt ,這是一個使用類似BASIC腳本語言的免費軟件,它設計用于
Windows GUI(圖形用戶界面)中進行自動化操作。它利用模擬鍵盤按鍵,鼠標
移動和窗口/控件的組合來實現自動化任務。
優點
- 輕量級(官方發布包10M左右),編譯成可執行文件后在沒有安裝 AutoIt 的機器上也可直接運行
- 免費,不需要許可證 - 有豐富的函數庫(標準函數庫和自定義函數庫) - 基于Win32 API,方便擴展
- 有完善的幫助文檔和豐富的論壇資源
例子
用一個簡單的客戶端開關穩定性測試來看看怎么運行的:
開關測試屬于穩定性測試里的一種,將客戶端長時間不斷地開啟和關閉,看客戶端是否會Crash,產生dump文件。
看下面代碼:
;定義變量 Dim $Sum,$i $Sum=0 $i=1 ;循環開關次數 While $i<=86400 $Sum=$Sum+$i $i=$i+1 Run("C:\Nep\debug\GacRunnerB_D.exe") WinWait("NEPSingle") Sleep(1000) ;取得進程pid $iPid = WinGetProcess("NEPSingle") ;關閉此進程 ProcessClose($iPid) WEnd |
執行
穩定性測試不同于一般的功能測試,屬于概率學測試,并不是這次沒測出來就是沒問題,所以需要長時間運行,多個系統,多種軟件環境中進行多次測試,盡可能的提供可靠性。
結果
從穩定性測試的結果的判斷從下面幾個方向判斷:
判斷是否Crash:可以通過dump文件判斷是否有crash的現象,可以將產生的dump發給開發分析crash原因
判斷是否性能劣化:在穩定性測試的同時通過性能監控工具對內存、cpu、句柄等性能參數進行監控,查看性能是否出問題。