軟件測試工具LR排錯實例
問題出現 只是瀏覽兩個AJAX頁面。腳本經過關聯等編輯后,在vugen里回放沒有問題,添加到controller里運行2個用戶會出現一個用戶失敗的現象,但不是每次都出現,每運行三次,大概有二次會出現這樣的現象。沒有思考時間,沒有pacing設置。如果運行500用戶就會有
問題出現
只是瀏覽兩個AJAX頁面。腳本經過關聯等編輯后,在vugen里回放沒有問題,添加到controller里運行2個用戶會出現一個用戶失敗的現象,但不是每次都出現,每運行三次,大概有二次會出現這樣的現象。沒有思考時間,沒有pacing設置。如果運行500用戶就會有300以上的用戶會出錯。
排錯
打開LOG,選擇:總是發送消息。再次回放,查看出錯vuser的LOG,看到在腳本101行出錯,具體代碼不再給出。只是請求了一個servlet。因為在vugen中回放沒有出錯,排除了腳本的問題。
再次選擇LOG,選擇:Data returned by server,再次在controller中運行一次。查看出錯vuser的LOG,查看response值為一個
java異常。
提交到
開發,檢查該行代碼。
原因解釋
代碼中,用(Token+兩位隨機值)來確認client的身份是否唯一。但token的生成是依賴一個name變量。在這個應用中,name的變量為同一值。故生成的token也為同一值。那么導致的結果就是只有隨機值來確認client的唯一身份。如何生成隨機值這里不再討論,但導致的結果是生成兩位隨機值相同的概率很大。故出現以上錯誤。
解決辦法
增加隨機值的長度。
至此,問題解決。
原文轉自:http://www.anti-gravitydesign.com