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