Web應(yīng)用測試是軟件評測師必考的知識點,每年在上午場和下午場都會出題,Web應(yīng)用是一類特殊的軟件,Web應(yīng)用系統(tǒng)的開發(fā)同樣要經(jīng)過需求分析、設(shè)計、編碼、實施等階段,所以對軟件的測試是貫穿整個軟件生命周期的。下面就Web應(yīng)用測試的概念、分類等知識點進行總結(jié)學習。


一、針對Web系統(tǒng)的構(gòu)成和Web系統(tǒng)的一些特點,我們需要對涉及Web系統(tǒng)質(zhì)量的各個方面進行測試。

(1)按系統(tǒng)架構(gòu)來分,可分為客戶端的測試、服務(wù)器端的測試和網(wǎng)絡(luò)上的測試;

(2)按職能來分,可分為應(yīng)用功能的測試、Web應(yīng)用服務(wù)的測試、安全系統(tǒng)的測試、數(shù)據(jù)庫服務(wù)的測試;

(3)按軟件的質(zhì)量特性來分,又可分為功能測試、性能測試、安全性測試、兼容性測試和易用性測試;

(4)按照開發(fā)階段來分,可以分為設(shè)計的測試、編碼的測試和系統(tǒng)的測試。


二、Web應(yīng)用系統(tǒng)開發(fā)完成后,需要對Web應(yīng)用進行全面的測試,其測試方法與其他系統(tǒng)的測試既有相同之處,又有不同之處。

相同之處體現(xiàn)在下面幾個方面。

(1)測試內(nèi)容基本相同:Web 應(yīng)用系統(tǒng)作為軟件系統(tǒng)的一種形式,其測試內(nèi)容也會包括功能、性能、易用性、兼容性和安全性測試等內(nèi)容。

(2)某些項目的測試方法基本相同:例如Web應(yīng)用程序的功能測試與其他系統(tǒng)的功能測試方法是一樣的,同樣是根據(jù)功能說明書、需求說明書等文檔,使用因果圖法、邊界值法等技術(shù),設(shè)計測試用例進行測試。

(3)測試手段基本相同:Web. 應(yīng)用系統(tǒng)的測試一樣會采用人工測試、工具測試、評估等手段。


鑒于Web系統(tǒng)的自身特點,其測試與傳統(tǒng)的軟件測試也有所不同,具體不同如下所示。

(1)首先是測試的重點不一樣:Web 應(yīng)用系統(tǒng)的性能可能是開發(fā)者或用戶最關(guān)心的一個測試內(nèi)容,由于Internet的不可預(yù)見性和用戶連接數(shù)的不固定性,人們經(jīng)常對Web系統(tǒng)的穩(wěn)定水平有所擔心。另外,一些不斷發(fā)展中的Web設(shè)計技術(shù)也使Web組件測試變得重要。安全性對某些涉及交易或重要數(shù)據(jù)的Web應(yīng)用系統(tǒng)也很重要。由于用戶客戶端的不確定性,易用性測試和客戶端配置與兼容性測試也是必要的一個內(nèi)容。

(2)其次是測試采用的工具有所不同:Web應(yīng)用的一些測試,如鏈接測試、表單測試、界面測試等,通常采用可以重復(fù)執(zhí)行的自動化工具進行,性能測試除了采用LoadRunner、QALoad等通用的負載壓力測試工具外,還有很多專門用于Web系統(tǒng)性能測試的工具,如WAST、ACT、Webload 等。

(3)最后Web應(yīng)用系統(tǒng)迫切需要新的測試技術(shù)和方法:Web應(yīng)用系統(tǒng)的開發(fā)技術(shù)是更新最快的開發(fā)技術(shù)之一,針對這種新組件、新技術(shù)的測試手段也必須及時探索,甚至要開發(fā)出新的測試工具以滿足需求。

三、Web應(yīng)用系統(tǒng)一般常見的測試類型包括:

(1)功能測試:和一般的功能測試的用例設(shè)計方法基本一樣。

(2)易用性測試:包括界面測試、輔助功能測試(例如使用說明、導航、站點地圖和幫助等)和圖形測試等。

(3)性能測試(負載壓力測試):性能是用戶經(jīng)常會遇到的一個棘手的問題,也可能是Web系統(tǒng)在投入實際使用以前最為關(guān)心的問題。

(4)客戶端配置測試與兼容性測試:一般可分為瀏覽器的配置測試、平臺(操作系統(tǒng))兼容性測試和瀏覽器兼容性測試(不同瀏覽器對安全性和Java設(shè)置是不一樣的)三個方面。測試瀏覽器的兼容性可以與操作系統(tǒng)的兼容性結(jié)合起來,最有效的方法是創(chuàng)建一個兼容性矩陣,在這個矩陣中,測試不同版本操作系統(tǒng)上的不同廠商、不同版本的瀏覽器對某些構(gòu)件和設(shè)置的適應(yīng)性(下午場考試經(jīng)常出現(xiàn))。

(5)安全性測試:一個完整的Web安全體系測試可以從部署與基礎(chǔ)結(jié)構(gòu)、輸入驗證、身份驗證、授權(quán)、配置管理、敏感數(shù)據(jù)、會話管理、加密、參數(shù)操作、異常管理、審核和日志記錄等幾個方面入手。


四、Web測試的測試點包括:

(1)源代碼規(guī)則分析。主要方法是使用基于規(guī)則檢查的工具,讀取輸入的源代碼,然后將源代碼與編碼標準或語言規(guī)則相對照,以找出存在于兩者之間的不一致性,或者存在于源代碼當中的潛在錯誤。

(2)鏈接測試。鏈接是Web應(yīng)用系統(tǒng)的一個主要特征,它是在頁面之間切換和指導用戶去一些不知道地址的頁面的主要手段。鏈接測試可分為三個方面:

①測試所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面;

②測試所鏈接的頁面是否存在;

③保證Web應(yīng)用系統(tǒng)上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。

(3)框架測試。主要檢查點為:是否可隨瀏覽窗口的變化自動調(diào)整大??;在當前窗口不能完全顯示內(nèi)容時是否提供滾動條功能;能否在正確的目標框架中打開新頁面。

(4)表格測試。主要檢查表格能否隨瀏覽器窗口的變化或頁面的變化自動調(diào)整大小。

(5)圖形測試。主要檢查點為:顏色飽和度和對比度是否合適;需要突出的鏈接的顏色是否容易識別;是否正確加載所有的圖形。



下面是近幾年對Web應(yīng)用測試考察過的真題,基本上在每年都會出題,一般是1-2道題,以后仍是考試出題的重點,大家要重視起來。

【2017年67題】以下關(guān)于Web測試的敘述中,不正確的是(? )


A、Web軟件的測試貫穿整個軟件生命周期

B、按系統(tǒng)架構(gòu)劃分,Web測試分為客戶端測試、服務(wù)端測試和網(wǎng)絡(luò)測試

C、Web系統(tǒng)測試與其他系統(tǒng)測試的測試內(nèi)容基本不同但測試重點相同

D、Web性能測試可以采用工具輔助

解析:本題考查Web測試的基礎(chǔ)知識。

web系統(tǒng)測試與其它系統(tǒng)測試測試內(nèi)容基本相同只是測試重點不同。

故正確答案為C


【2018年67題】以下關(guān)于web測試的敘述中,不正確的是( ) 。


A.與其它系統(tǒng)的測試內(nèi)容不同

B.與其它系統(tǒng)的測試手段基本相同

C.與其它系統(tǒng)的測試重點不同

D.與其它系統(tǒng)采用的測試工具部分不同

解析:本題考查web測試的基礎(chǔ)知識。

web系統(tǒng)測試與其它系統(tǒng)測試測試內(nèi)容基本相同只是測試重點不同。

故正確答案為:A


【2019年64題】以下關(guān)于Web的兼容性測試的敘述中,不正確的是( )。

A. 需要針對主流操作系統(tǒng)進行平臺兼容性測試

B. 不同瀏覽器的安全性設(shè)計是一致的

C. 層次結(jié)構(gòu)風格在不同的瀏覽器上可能有不同的顯示

D. 瀏覽器的兼容性和操作系統(tǒng)的兼容性可以結(jié)合起來進行測試

解析:本題考查軟件測試的基礎(chǔ)知識。

不同瀏覽器的安全性設(shè)計是不一致的。故正確答案為:B


【2019年67題】Web測試的測試點包括( )。

①鏈接測試?

②表格測試

③框架測試?

④圖形測試。

A. ①②???????

B. ①③???????

C. ①②③????????

D. ①②③④

解析:本題考查軟件測試的基礎(chǔ)知識。

①②③④描述的方面都屬于Web測試的測試點。

故正確答案為:D