有許多工具可以通過(guò)編程方式配置并執行網(wǎng)站的真實(shí)瀏覽器測試,它們可以自動(dòng)化運行,并能與QA和持續集成過(guò)程相整合。我在前面提到過(guò)的Selenium就是一個(gè)Web應用測試系統,大多數主流瀏覽器都支持。而Watir ( htp:p:/watir.com則是一個(gè)Ruby gem庫,它也可以自動(dòng)執行Web瀏覽器測試操作。它的名稱(chēng)Watir是“使用Ruby執行Web應用測試( Web application testing in Ruby)”的縮寫(xiě)。

對Web層的直接測試大多屬于合成測試,它能夠測試出應用程序支持多少會(huì )話(huà),但對于應用程序在最終用戶(hù)使用過(guò)程中的行為表現而言,這種測試的作用不大。使用Apache-Bench和Jmeter的合成測試可用于執行抽樣測試、煙霧測試和性能測試,它們非常適合執行一些簡(jiǎn) 單測試,如優(yōu)化Apache Web服務(wù)器的KeepAlive變量,也適合執行其他一些 Web服務(wù)器的優(yōu)化操作,但是無(wú)法測試Selenium 或Watir 所支持的最終用戶(hù)性能指標。這里一定要記住一點(diǎn),在模擬某種用戶(hù)活動(dòng)(如加載一個(gè)照片集)的可控環(huán)境中執行的測試無(wú)法完全體現生產(chǎn)環(huán)境的運行方式。即使在一個(gè)分段環(huán)境中執行測試,也能發(fā)現許多關(guān)于應用執行或響應的信息,但是只有把應用程序部署到生產(chǎn)環(huán)境中,我們才能夠真正測試出它的性能和表現。
Selenium是一個(gè)使用真實(shí)瀏覽器的自動(dòng)化Web應用功能測試框架。它允許我們配置網(wǎng)站的工作流程和交互方式,模擬真實(shí)用戶(hù)的操作方式。Selenium還會(huì )將這些交互記錄在視頻中,便于我們在測試完成之后檢查測試是否通過(guò)。由于需要啟動(dòng)一個(gè)真實(shí)瀏覽器、記錄交互過(guò)程和重放操作,所以測試過(guò)程會(huì )有一些開(kāi)銷(xiāo),這個(gè)過(guò)程需要成百上千個(gè)虛擬機才能模擬出大量用戶(hù)使用真實(shí)瀏覽器訪(fǎng)問(wèn)網(wǎng)站的效果。即使是一些大型組織,執行這種測試也會(huì )有一些難度?,F在有一些服務(wù)可以執行這些活動(dòng),如Keynote Systems、Gomez和BrowserMob (使用Selenium),它們有分布在世界各地的節點(diǎn),這些服務(wù)都使用真實(shí)瀏覽器來(lái)執行地域分散的負載測試和性能監控。
無(wú)論采用何種方式,網(wǎng)站建設測試Web應用的所有組件都非常重要,而且最好能夠記錄Web應用程序的各個(gè)部分,以及各個(gè)層在一段時(shí)間的執行情況,這樣就能夠與Web應用程序的不同版本或修改進(jìn)行比較。
本文地址:http://www.havencoinwallet.com//article/4497.html