驗證碼可以有效防止對口令的刺探和所謂的網絡推廣軟件帶來的大量的Spam內容,目前已經被許多Internet或是Intranet應用接受為標準的實現方式。但對性能測試來說,這種驗證碼又帶來了很大的問題。
最突出的問題是,性能測試工具本身是自動化工具,由于這種驗證碼采用的是“防止自動化工具嘗試”的方法,因此,在錄制了腳本之后會發現,很難對腳本進行調整,以使其適應驗證碼驗證的需要。已經不止一次有人提到這個問題,并詢問有沒有較好的解決方案。
對這個問題,我個人的看法是,基本上可以考慮從三個途徑來解決該問題:
1、第一種方法,也是最容易想到的,在被測系統中暫時屏蔽驗證功能,也就是說,臨時修改應用,無論用戶輸入的是什么驗證碼,都認為是正確的。這種方法最容易實現,對測試結果也不會有太大的影響(當然,這種方式去掉了“驗證驗證碼”這個環節,不過這個環節本來就很難成為系統性能瓶頸)。但這種方法有一個致命的問題:如果被測系統是一個實際已上線的系統,屏蔽驗證功能會對已經在運行的業務造成非常大的安全性的風險,因此,對于已上線的系統來說,用這種方式就不合適了;
2、第二種方法,在第一種方法的基礎上稍微進行一些改進。第一種方法帶來了很大的安全性問題,那么我們可以考慮,不取消驗證,但在其中留一個后門,我們設定一個所謂的“萬能驗證碼”,只要用戶輸入這個“萬能驗證碼”,我們就驗證通過,否則,還是按照原先的驗證方式進行驗證。這種方式仍然存在安全性的問題,但由于我們可以通過管理手段將“萬能驗證碼”控制在一個小的范圍內,而且只在性能測試期間保留這個小小的后門,相對第一種方法來說,在安全性方面已經有較大的改進了;
3、如果安全性對應用來說真的是至關重要的,不容許有一絲一毫的閃失,那我們還可以用更進一步的方法來處理這個問題。一般的性能測試工具(MI的LR、Seague的Silk performer等)都能夠調用外部的DLL或是組件接口,因此,可以考慮獲得“驗證碼驗證”部分的實現,寫一個驗證碼獲取的DLL,在測試腳本中進行調用即可。
除了這三種方法以外,可能還會有其他的方法存在,也希望各位能提供一些其他的思路。在我的實踐中,第二種方法用得比較多,對未上線系統系統的內部性能測試,有時候也用第一種方法。但要提醒的是,如果針對的是已上線系統,無論用哪種方法,測試完成后,都必須立刻將應用恢復,并對系統進行一次安全審計,以免在測試期間被他人入侵。第三種方法用得比較少,而且具體上還依賴于驗證組件是否能提供這樣的接口。
文章來源于領測軟件測試網 http://www.kjueaiud.com/
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月