標籤:hyperpacer 負載模型 新人考核
最近組裡來了一個新人,為了考核新人的學習能力和,便將新的測試載入器hyperpacer作為了考核對象,學習工具,並根據做好的測試方案完成一個簡單的效能測試。
在例行考核上,說到學習過程和遇到的問題的時,我問了兩個問題:
第一個是道送分題,就是指令碼錄製完成後,回放報錯,找導師幫忙解決後,指令碼回放沒問題了。我問:那麼問題原因是什麼,怎麼解決的?結果沒回答上來。又追問了一個問題,那就是有沒有對比一下原來回放報錯的指令碼和後來可以正常回放的指令碼有哪裡不同?其實這就算是一個送分題了。正常來說,如果我有一個指令碼有問題,而別人幫我解決了,我要麼會仔細問一下原因和解決思路,要麼就自己對比兩個指令碼,看不一樣的地方在哪裡,然後自己思考可能是哪些原因,然後再自己實證一下。
第二個問題是道附加題。因此考核的時候,新人說導師給把指令碼修改好後,就可以正確的執行了。於是,我就追問了一個問題:你認為怎麼才算是一個指令碼正確的執行?這其實對於新人來說是一個超綱的題了,新人回答不上來並不會扣印象分。我問這個問題其實也是有意讓組內其他人都思考一下,怎麼樣才算是指令碼正確執行?
一個測試負載模型建立的再好,一個測試方案設計的再完美,如果在落地的時候,指令碼執行卻有問題,那麼前面的一切也都是白搭。所以,問題來了,到底怎麼才算是一個指令碼正確的執行呢?
我認為這個正確應該分為兩點:一是指令碼正確;二是執行正確;
指令碼正確很容易理解,就是你的指令碼完全實現了你對應的用例,使用使用者、操作步驟、輸入資料都與你的用例一般無二;
而執行正確,我認為至少要分三點:
1、最基本的一點是指令碼執行沒有報錯;
2、指令碼沒有報錯並不代表指令碼是正確的按照逾期輸出,不僅是hyperpacer,對於所有的測試載入器來說,只要HTTP的狀態代碼是200它就認為這個請求通過了,而如果在執行過程中系統拋出了一個異常,對於請求來說也是有響應正常返回了,測試載入器認為是正確的,但是對於我們的用例預期輸出來說,實際上這是失敗了,這樣也不算是執行正確;
3、最後一點就是指令碼跑並發的時候是按照測試方案設計的模型啟動並執行,即使用者數、每個類比使用者使用的參數化資料、處理資料都是按照方案設計啟動並執行。譬如,我們方案設計的是要並發的每個使用者都使用不同的使用者名稱,錄入不同的資料,如果我們啟動並執行時候所有並發使用者都是使用一個使用者名稱,錄入的資料也都一樣,那麼就跟我們方案預期的運行模式不一樣,這樣也不算是執行正確。
滿足以上三點,我認為才是一個指令碼正確的執行了。
本文出自 “效能測試” 部落格,請務必保留此出處http://1152313.blog.51cto.com/1142313/1766590
如何算是指令碼正確的執行——記一次新員工考核