您好,登錄后才能下訂單哦!
如何解決WEB性能測試中的驗證碼問題,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
現在越來越多的網站為了安全性或是防止Spam的侵害,采用了驗證碼的校驗技術。簡單地說,驗證碼就是在進行登錄或是內容提交的時候,頁面上會隨機出現一個人工可識別,但機器不可識別的驗證字符串(一般是采用背景、扭曲等方式產生的圖片),要求登錄或是提交內容時同時輸入這個驗證碼。
驗證碼可以有效防止對口令的刺探和所謂的網絡推廣軟件帶來的大量的Spam內容,目前已經被許多Internet或是Intranet應用接受為標準的實現方式。但對性能測試來說,這種驗證碼又帶來了很大的問題。最突出的問題是,性能測試工具本身是自動化工具,由于這種驗證碼采用的是“防止自動化工具嘗試”的方法,因此,在錄制了腳本之后會發現,很難對腳本進行調整,以使其適應驗證碼驗證的需要。已經不止一次有人提到這個問題,并詢問有沒有較好的解決方案。
對這個問題,我個人的看法是,基本上可以考慮從三個途徑來解決該問題:
1、第一種方法,也是最容易想到的,在被測系統中暫時屏蔽驗證功能,也就是說,臨時修改應用,無論用戶輸入的是什么驗證碼,都認為是正確的。這種方法最容易實現,對測試結果也不會有太大的影響(當然,這種方式去掉了“驗證驗證碼”這個環節,不過這個環節本來就很難成為系統性能瓶頸)。但這種方法有一個致命的問題:如果被測系統是一個實際已上線的系統,屏蔽驗證功能會對已經在運行的業務造成非常大的安全性的風險,因此,對于已上線的系統來說,用這種方式就不合適了;
2、第二種方法,在第一種方法的基礎上稍微進行一些改進。第一種方法帶來了很大的安全性問題,那么我們可以考慮,不取消驗證,但在其中留一個后門,我們設定一個所謂的“萬能驗證碼”,只要用戶輸入這個“萬能驗證碼”,我們就驗證通過,否則,還是按照原先的驗證方式進行驗證。這種方式仍然存在安全性的問題,但由于我們可以通過管理手段將“萬能驗證碼”控制在一個小的范圍內,而且只在性能測試期間保留這個小小的后門,相對第一種方法來說,在安全性方面已經有較大的改進了;
3、如果安全性對應用來說真的是至關重要的,不容許有一絲一毫的閃失,那我們還可以用更進一步的方法來處理這個問題。一般的性能測試工具(MI的LR、Seague的Silk performer等)都能夠調用外部的DLL或是組件接口,因此,可以考慮獲得“驗證碼驗證”部分的實現,寫一個驗證碼獲取的DLL,在測試腳本中進行調用即可。
除了這三種方法以外,可能還會有其他的方法存在,也希望各位能提供一些其他的思路。在我的實踐中,第二種方法用得比較多,對未上線系統系統的內部性能測試,有時候也用第一種方法。但要提醒的是,如果針對的是已上線系統,無論用哪種方法,測試完成后,都必須立刻將應用恢復,并對系統進行一次安全審計,以免在測試期間被他人入侵。第三種方法用得比較少,而且具體上還依賴于驗證組件是否能提供這樣的接口。
關于如何解決WEB性能測試中的驗證碼問題問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。