有許多工具可以通過編程方式配置并執行網站的真實瀏覽器測試,它們可以自動化運行,并能與QA和持續集成過程相整合。我在前面提到過的Selenium就是一個Web應用測試系統,大多數主流瀏覽器都支持。而Watir ( htp:p:/watir.com則是一個Ruby gem庫,它也可以自動執行Web瀏覽器測試操作。它的名稱Watir是“使用Ruby執行Web應用測試( Web application testing in Ruby)”的縮寫。
對Web層的直接測試大多屬于合成測試,它能夠測試出應用程序支持多少會話,但對于應用程序在最終用戶使用過程中的行為表現而言,這種測試的作用不大。使用Apache-Bench和Jmeter的合成測試可用于執行抽樣測試、煙霧測試和性能測試,它們非常適合執行一些簡 單測試,如優化Apache Web服務器的KeepAlive變量,也適合執行其他一些 Web服務器的優化操作,但是無法測試Selenium 或Watir 所支持的最終用戶性能指標。這里一定要記住一點,在模擬某種用戶活動(如加載一個照片集)的可控環境中執行的測試無法完全體現生產環境的運行方式。即使在一個分段環境中執行測試,也能發現許多關于應用執行或響應的信息,但是只有把應用程序部署到生產環境中,我們才能夠真正測試出它的性能和表現。
Selenium是一個使用真實瀏覽器的自動化Web應用功能測試框架。它允許我們配置網站的工作流程和交互方式,模擬真實用戶的操作方式。Selenium還會將這些交互記錄在視頻中,便于我們在測試完成之后檢查測試是否通過。由于需要啟動一個真實瀏覽器、記錄交互過程和重放操作,所以測試過程會有一些開銷,這個過程需要成百上千個虛擬機才能模擬出大量用戶使用真實瀏覽器訪問網站的效果。即使是一些大型組織,執行這種測試也會有一些難度。現在有一些服務可以執行這些活動,如Keynote Systems、Gomez和BrowserMob (使用Selenium),它們有分布在世界各地的節點,這些服務都使用真實瀏覽器來執行地域分散的負載測試和性能監控。
無論采用何種方式,網站建設測試Web應用的所有組件都非常重要,而且最好能夠記錄Web應用程序的各個部分,以及各個層在一段時間的執行情況,這樣就能夠與Web應用程序的不同版本或修改進行比較。
本文地址:http://m.knowyourextract.com//article/4497.html