一些業內的專家稱用戶延遲的變化和實際測試結果并不相關,當用戶眾多時即使每個用戶活動之間有20秒的延遲也會得到相同的結果。我會爭辯說,如果是多年前單服務器架構、靜態HTML腳本的情況下我可能會同意,但對于當今多層次、多功能的網站來說這是不可能的了!犊茖W的網站負載測試》(The Science of Web-site Load Testing)的作者Alberto Savoia對為什么20秒的理論并非事實進行了相當詳細解釋并提供了真實世界的實例和數學證明。
本文對各級別的TestStudio用戶均有幫助,但對中高級用戶尤佳。這里我介紹了腳本化不同的數學分布的方法,但你必須自己決定哪種才能最精確地匹配特定的場景。統計學的精確度在最終用戶群的模擬上,對于每個網站來說是重要而獨特的。
1.確定用戶延遲用戶登錄,瀏覽主頁,填寫表格等需要多長時間?通過幾種方法并結合網站上的用戶活動能夠大概獲取用戶延遲時間。最好的方法當然是使用生產現場上收集到的真實數據,但這幾乎是不可能的,因為測試通常發生在網站發布投入使用之前。正因為如此,有時需要根據網站的行為做出有根據的推測。最能接受的四種方法如下:
當測試的網站已經投入生產時,你可以從每個頁面的日志文件中知道瀏覽(或打字)的時間,并從中提取出平均差和標準差,并確定實際值和分布狀態。有了這個信息,每個頁面的用戶延遲時間就可輕易確定。你的生產現場也可能擁有能直接提供這類信息的網站流量監測軟件,例如WebTrends或LiveStat等。 在日志文件或時間、資源記錄缺乏的情況下無法進行詳細的日志分析時,你可以利用一些(調查)公司已經收集到的度量和統計數字。這些統計數據來自于用戶或站點的客觀抽樣,提供了平均頁面瀏覽時間和用戶會話持續時間。盡管這些數字不是來源于你的特定站點,但是作為近似值來說已經很不錯了。圖1是來自NetRatings的一個樣本數據。圖1 NetRatings提供的樣本數據 如你所見,這是非常高層次的信息,對模擬實際用戶或許有用,也或許沒用。圖中最有用的信息是“觀看頁面的持續時間”(Duration of a Page Viewed),報告了用戶觀看所有類型網頁的平均時間。其余的統計信息由瀏覽網站的龐大的用戶群組合統一匯總而成。 假如你沒有日志文件,或者認為來自其它公司的度量指標不具備代表性的話,你可以通過員工、客戶、朋友或家庭成員們運用簡單的內部實驗來進行,例如,新用戶和老用戶的頁面觀看時間是不同的。這種方法也被認為是“剪貼板和秒表法”。對于還沒有投入運行的網站,或者通過其它方法收集到的數據進行驗證,我覺得這是一種非常有效的數據收集方法。 最后的手段是通過你的直覺或猜測來評估這些延遲的范圍。對于逼真的負載測試來說,即使是這種最后的方法也要比忽略用戶延遲的變化好得多。每個用戶在每個頁面消耗同樣時間,這樣的負載測試雖然簡單,但不逼真,并且會產生令人誤解的結果。?? 2. 了解延遲的范圍和分布情況
現在你已經知道了用戶在頁面上所花的時間及其范圍,但還沒有最終完成對用戶延遲的模擬。你必須使用戶的延遲時間多樣化,否則服務器將會呈現如圖2的負載情況。
110593_200903180934171p9aH
110593_200903180934171p9aH
文章來源于領測軟件測試網 http://www.kjueaiud.com/