如何解決WEB效能測試中的驗證碼問題
現在越來越多的網站為了安全性或是防止Spam的侵害,採用了驗證碼的校驗技術。簡單地說,驗證碼就是在進行登入或是內容提交的時候,頁面上會隨機出現一個人工可識別,但機器不可識別的驗證字串(一般是採用背景、扭曲等方式產生的圖片),要求登入或是提交內容時同時輸入這個驗證碼。
驗證碼可以有效防止對口令的刺探和所謂的網路推廣軟體帶來的大量的Spam內容,目前已經被許多Internet或是Intranet應用接受為標準的實現方式。但對效能測試來說,這種驗證碼又帶來了很大的問題。最突出的問題是,效能測試工具本身是自動化工具,由於這種驗證碼採用的是“防止自動化工具嘗試”的方法,因此,在錄製了指令碼之後會發現,很難對指令碼進行調整,以使其適應驗證碼驗證的需要。已經不止一次有人提到這個問題,並詢問有沒有較好的解決方案。
對這個問題,我個人的看法是,基本上可以考慮從三個途徑來解決該問題:
1、第一種方法,也是最容易想到的,在被測系統中暫時遮蔽驗證功能,也就是說,臨時修改應用,無論使用者輸入的是什麼驗證碼,都認為是正確的。這種方法最容易實現,對測試結果也不會有太大的影響(當然,這種方式去掉了“驗證驗證碼”這個環節,不過這個環節本來就很難成為系統效能瓶頸)。但這種方法有一個致命的問題:如果被測系統是一個實際已上線的系統,遮蔽驗證功能會對已經在執行的業務造成非常大的安全性的風險,因此,對於已上線的系統來說,用這種方式就不合適了;
2、第二種方法,在第一種方法的基礎上稍微進行一些改進。第一種方法帶來了很大的安全性問題,那麼我們可以考慮,不取消驗證,但在其中留一個後門,我們設定一個所謂的“萬能驗證碼”,只要使用者輸入這個“萬能驗證碼”,我們就驗證透過,否則,還是按照原先的驗證方式進行驗證。這種方式仍然存在安全性的問題,但由於我們可以透過管理手段將“萬能驗證碼”控制在一個小的範圍內,而且只在效能測試期間保留這個小小的後門,相對第一種方法來說,在安全性方面已經有較大的改進了;
3、如果安全性對應用來說真的是至關重要的,不容許有一絲一毫的閃失,那我們還可以用更進一步的方法來處理這個問題。一般的效能測試工具(MI的LR、Seague的Silk performer等)都能夠呼叫外部的DLL或是元件介面,因此,可以考慮獲得“驗證碼驗證”部分的實現,寫一個驗證碼獲取的DLL,在測試指令碼中進行呼叫即可。
除了這三種方法以外,可能還會有其他的方法存在,也希望各位能提供一些其他的思路。在我的實踐中,第二種方法用得比較多,對未上線系統系統的內部效能測試,有時候也用第一種方法。但要提醒的是,如果針對的是已上線系統,無論用哪種方法,測試完成後,都必須立刻將應用恢復,並對系統進行一次安全審計,以免在測試期間被他人入侵。第三種方法用得比較少,而且具體上還依賴於驗證元件是否能提供這樣的介面。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69942496/viewspace-2652666/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- WEB自動化測試中針對驗證碼的解決方案Web
- 支招 | 如何解決身份驗證系統安全問題
- 如何解決soap的效能問題?
- 自動化測試中的驗證碼處理
- 網際網路測試經驗和管理雜談 (如何解決問題)
- 解決requests庫中SSL驗證問題
- 如何解決兩因素和多因素身份驗證的大問題
- Unixbench的使用(綜合效能測試、2D測試)和問題解決
- 效能測試中的唯一標識問題研究
- 網站漏洞檢測 身份驗證碼與重要操作驗證碼安全問題網站
- 如何解決報表關聯計算中的效能問題
- Web ADI測試遇到的問題Web
- mysql亂碼的問題如何解決MySql
- web效能測試流程Web
- 驗證碼處理在自動化測試中的應用
- Rational Functional Tester 測試 Web 應用程式中的常見問題及解決方案FunctionWeb
- 效能測試工具的 Coordinated Omission 問題
- 公眾號 - 解決所有測試中的CORS問題CORS
- 如何解決B/S中的列印問題?
- 如何解決PuTTY中文亂碼的問題
- Java + Selenium + OpenCV解決自動化測試中的滑塊驗證JavaOpenCV
- web頁面效能測試Web
- 關於軟體驗證中的單元測試
- 福祿克的驗證測試和認證測試的區別
- Goreplay 流量錄製重放到測試環境,效能測試過程中遇到的問題Go
- 【效能測試】常見的效能問題分析思路(二)案例&技巧
- 安裝Oracle RAC時,不能驗證ASMSNMP密碼問題的解決OracleASM密碼
- 解決 PBootCMS 後臺登入不顯示驗證碼的問題boot
- 軟體測試中存在的問題
- JavaWeb——驗證碼功能解決表單重複提交問題(使用谷歌驗證碼jar包為例)JavaWeb谷歌JAR
- 如何解決Redis中的key過期問題Redis
- 自動化測試時對驗證碼的處理
- Web效能測試種類與全面測試模型Web模型
- web伺服器效能測試Web伺服器
- 【效能測試】常見的效能問題分析思路(一)道與術
- 效能測試面試題面試題
- Java Web(二) Servlet中response、request亂碼問題解決JavaWebServlet
- 軟體測試之功能測試、效能測試經驗談