優(yōu)惠活動 - 12周年慶本月新客福利
優(yōu)惠活動 - 12周年慶本月新客福利
優(yōu)惠活動 - 12周年慶本月新客福利

如何測試網(wǎng)站各個(gè)組件,并快速修復(fù)故障?

在任何網(wǎng)站上,在測試前端時(shí)都必須模擬真實(shí)用戶在網(wǎng)站上執(zhí)行真實(shí)功能的情形。這就是所謂的真實(shí)瀏覽器測試,它不同于使用工具( Apache-Bench或Jmeter)執(zhí)行的合成測試,后者只是模擬網(wǎng)站前端的流量負(fù)載。真實(shí)瀏覽器需要一定的時(shí)間才能構(gòu)造出文檔對象模型( DOM),這其中包括解析JavaScript, 然后再渲染網(wǎng)頁。Apache-Bench和Jmeter等工具無法測試真實(shí)瀏覽器在這些方面的加載過程。
 
有許多工具可以通過編程方式配置并執(zhí)行網(wǎng)站的真實(shí)瀏覽器測試,它們可以自動化運(yùn)行,并能與QA和持續(xù)集成過程相整合。我在前面提到過的Selenium就是一個(gè)Web應(yīng)用測試系統(tǒng),大多數(shù)主流瀏覽器都支持。而Watir ( htp:p:/watir.com則是一個(gè)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),在模擬某種用戶活動(如加載一個(gè)照片集)的可控環(huán)境中執(zhí)行的測試無法完全體現(xiàn)生產(chǎn)環(huán)境的運(yùn)行方式。即使在一個(gè)分段環(huán)境中執(zhí)行測試,也能發(fā)現(xiàn)許多關(guān)于應(yīng)用執(zhí)行或響應(yīng)的信息,但是只有把應(yīng)用程序部署到生產(chǎn)環(huán)境中,我們才能夠真正測試出它的性能和表現(xiàn)。
 
Selenium是一個(gè)使用真實(shí)瀏覽器的自動化Web應(yīng)用功能測試框架。它允許我們配置網(wǎng)站的工作流程和交互方式,模擬真實(shí)用戶的操作方式。Selenium還會將這些交互記錄在視頻中,便于我們在測試完成之后檢查測試是否通過。由于需要啟動一個(gè)真實(shí)瀏覽器、記錄交互過程和重放操作,所以測試過程會有一些開銷,這個(gè)過程需要成百上千個(gè)虛擬機(jī)才能模擬出大量用戶使用真實(shí)瀏覽器訪問網(wǎng)站的效果。即使是一些大型組織,執(zhí)行這種測試也會有一些難度。現(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)用程序的各個(gè)部分,以及各個(gè)層在一段時(shí)間的執(zhí)行情況,這樣就能夠與Web應(yīng)用程序的不同版本或修改進(jìn)行比較。
本文地址:http://m.hbbqcd.cn//article/4497.html
相關(guān)文章:
最新文章: