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