當前位置:首頁 » 網頁前端 » web測試需要注意的地方
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web測試需要注意的地方

發布時間: 2022-11-19 23:17:05

『壹』 Web應用的測試內容都包括哪些方面

1、通用指標

指Web應用伺服器、資料庫伺服器必需測試項,包括:處理器時間:指伺服器CPU佔用率,一般平均達到70%時,服務就接近飽和。可用內存數:如果測試時發現內存有變化情況也要注意,如果是內存泄露則比較嚴重。物理磁碟讀寫時間。

2、Web伺服器指標

平均每秒響應次數為總請求時間與秒數之比。平均每秒業務腳本的迭代次數。成功的請求和失敗的請求。成功的點擊次數和失敗的點擊次數。每秒點擊次數、每秒成功的點擊次數和每秒失敗的點擊次數。嘗試連接數。

3、資料庫伺服器指標

用戶連接數,也就是資料庫的連接數量。資料庫死鎖量。資料庫緩存的命中情況。



(1)web測試需要注意的地方擴展閱讀

對被測的Web應用程序進行需求分析,即對所做的測試作一個簡要的介紹,包括描述測試的目標和范圍,所測試的目標要實現一個什麼樣的功能,總結基本文檔、主要活動。

寫出測試策略和方法,這里包括測試開始的條件、測試的類型、測試開始的標准以及所測試的功能、測試通過或失敗的標准、結束測試的條件、測試過程中遇到什麼樣的情況終止和怎麼處理後恢復等。

一個Web應用程序由完成特定任務的各種Web組件(web components)構成的並通過Web將服務展示給外界。在實際應用中,Web應用程序由多個Servlet、JSP頁面、HTML文件以及圖像文件等組成。所有這些組件相互協調為用戶提供一組完整的服務。

『貳』 客戶端&WEB網路測試方法雜談(三)

我們進行客戶端網路相關的測試時,肯定要更改伺服器返回數據進行測試,但頻繁更改線上伺服器的數據肯定不現實,即麻煩又有風險,所以就需要我們自己做網路返回數據了。

自己改網路返回數據,一般有兩種方法,一種是指向代理伺服器,然後在代理伺服器上進行數據修改,此時我們使用fiddler;另一種就是更改hosts文件,把伺服器指向自己的測試伺服器,然後在測試伺服器上進行數據修改。

1.使用fiddler的autoResponder

打開fiddler,點擊要自定義網路返回的條目,點擊右邊工具欄中的Autoresponder,然後點擊頁面中的Add Rule按鈕,此時就會在下面的編輯區顯示剛剛添加的請求。

點擊選中請求,然後編輯器下方就會出現鏈接的屬性設置選項。

此處,上框中是要編輯的請求鏈接,下框是想要給的返回(可預選擇的內容如下),選好之後點擊save按鈕就可以保存了。

常用返回的說明:

上面從200到502的都是既有的網路返回

Delay:100是設置超時返回時間,單位為毫秒

Redir指的是跳轉到其它的頁面

Find a file:選擇一個返回的本地文件

還有,上框的內容,如果是以EXACT開頭,則指的是精確匹配,也就是說只有完全匹配的鏈接才會執行該條規則;當然還可以使用正則表達式,用以模糊匹配,例如下面:

最後,要檢查如下幾個開關:

Enable automatic responses:這是總開關,如果取消勾選,那麼所有設置的自定義返回規則都不生效了

Unmatched requests passthrough:沒有匹配的請求是否放行,如果勾選它,那麼所有沒有匹配的請求都會照常工作;如果取消勾選,那麼所有沒有匹配的請求都會被攔截不會給任何返回。

至此,通過上面的設置後,就可以讓命中規則的請求url返回指定的內容。

2.使用fiddler中的返回斷點

使用fiddler設置斷點也可以修改response(返回內容)。

2.1.設置請求斷點的原理

Fiddler是個代理、可以捕獲整個session,那麼就可以在伺服器返回內容之後進行中斷,進而修改內容再放行給客戶端,所以客戶端拿到的就是修改之後的數據了。

2.2.設置返回斷點的三種方法

a)打開Fiddler點擊Rules->Automatic Breakpoint ->After Requests(這種方法會中斷所有會話的返回)

再次點擊Rules->Automatic Breakpoint ->Disabled就可以消除斷點了

b)在命令行中輸入命令:bpafter xxx.xxx。xxx.xxx是想要中斷的請求url。所以這種方法屬於定製斷點。若想消除該斷點,在命令行中輸入命令bpu即可。

c)在auto responder中也可以添加:

2.3.設置返回斷點的應用范圍

上面已經說過了,設置返回斷點並修改可以做客戶端測試,和我們平時使用fiddler的AutoResponder功能上很類似,只不過設置返回斷點的方式比設置AutoResponder更加快捷方便,相當於即時修改返回數據、當場可以看到客戶端的現象。但也由於是即時修改數據,如果操作慢的話,可能會導致客戶端獲取超時失敗。所以需要依照不同的測試場景合理使用這幾種方法。

2.4.設置返回斷點的實例

實例使用一張圖片來說明整個操作過程和方法。

3.使用http測試伺服器

http測試伺服器,就是實實在在的伺服器,上面搭建了http+php服務,只要本地設置了hosts(對於手機來說,必須root才能修改),就可以讓指定的http訪問到自己的伺服器上,於是就可以隨意修改了。

3.1.http測試伺服器的搭建

http伺服器,使用最多的是Linux+Apache,還有linux+nginx,window+IIS也行,但性能上要比Linux差不少,並且涉及windows本身的防火牆,導致外網訪問可能會有問題。

具體搭建方法,大家可以網路或搜狗一下,比較簡單,就不在這里贅述了。

3.2.設置本地hosts

hosts文件是操作系統中,指定域名訪問指定IP的匹配對,windows操作系統中 該文件是在%windir%\system32\drivers\etc,android系統中是在/etc

下面以android系統簡單說明一下如何修改:

手機必須 root ,方法就不說了,可網上搜索。

使用獲取了最高管理員許可權的文件管理應用,打開/etc,然後掛載讀寫操作,然後打開下面的hosts文件

在hosts文件中增加需要綁定的域名和IP,例如:

10.12.131.16 input.shouji.sogou.com

然後保存退出。最好再進入該文件看一下是否修改成功。

3.3. 自定製返回內容

經過上面的操作後,凡是發往input.shouji.sogou.com的請求,都會來到10.12.131.16了,所以下面就可以自定製返回內容了:在http伺服器工作根目錄中新建各種對應的目錄和文件,就可以被訪問了。

4.其它注意點

如果即想使用http測試伺服器,又想使用fiddler抓包,那麼可以先設置代理到fiddler上,然後給fiddler所在機器上配置hosts。注意:如果在手機上即設置代理到fiddler,又設置了hosts,那麼hosts是不管用的,也就是說代理是繞過hosts工作的。

『叄』 web壓力測試 要測試哪些方面

web壓力測試通過產生真實壓力來發現問題需要關注以下方面:
1、對要測試的系統進行分析,明確需要對哪一塊做壓力測試。比如:淘寶網站雙十一期間,秒殺跟支付,此模式用戶操作中佔比比較大
再比如:游戲,登錄--開始戰斗--結束戰斗這種混合模式在用戶操作中佔比較大
那麼就可以針對這種佔比比較大的模式進行壓力測試
2、明確了要測試的點後,如何對這些測試點進行施壓呢?
第一種方式可以通過寫腳本產生壓力機器人對伺服器進行發包收包操作;
第二種方式就是藉助一些壓力測試工具如:JMeter或LoadRunner
3、如何對這些測試點進行正確的施壓呢?
那麼就需要用壓力測試工具或者其它方法來錄制腳本,模擬用戶的操作
4、對測試點該施加多大的壓力比較合適?該施加多少的數據才能找出系統的瓶頸?
那麼就需要明確壓力測試所限制的數量,即用戶並發量,這里分3種情況來明確:
1)根據上級的明確規定數量,來設定最確大值,然後根據情況往上或往下增減
2)上級未規定,由自己判斷,從1開始慢慢遞增。如:1,5,10,20等等
3)若做過壓力測試,則可以根據上次的壓力測試結果為基數進行測試
5、測試完之後,如何通過這些數據來定位性能問題呢?
雖然通過這些測試結果我們可以得到TPS(吞吐量),平均響應時間等這些數據,可判斷出伺服器是否存在問題,但卻不能定位問題。

『肆』 WEB測試應該注意哪些地方,怎樣才能做好WEB

基於Web的系統測試與傳統的軟體測試既有相同之處,也有不同的地方,對軟體測試提出了新的挑戰。基於Web的系統測試不但需要檢查和驗證是否按照設計的要求運行,而且還要評價系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。本文從功能、性能、可用性、客戶端兼容性、安全性等方面討論了基於Web的系統測試方法。

隨著Internet和Intranet/Extranet的快速增長,Web已經對商業、工業、銀行、財政、教育、政府和娛樂及我們的工作和生活產生了深遠的影響。許多傳統的信息和資料庫系統正在被移植到互聯網上,電子商務迅速增長,早已超過了國界。范圍廣泛的、復雜的分布式應用正在Web環境中出現。Web的流行和無所不在,是因為它能提供支持所有類型內容連接的信息發布,容易為最終用戶存取。

Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作為一門新興的學科,提倡使用一個過程和系統的方法來開發高質量的基於Web的系統。它"使用合理的、科學的工程和管理原則,用嚴密的和系統的方法來開發、發布和維護基於Web的系統"。目前,對於web工程的研究主要是在國外開展的,國內還剛剛起步。

在基於Web的系統開發中,如果缺乏嚴格的過程,我們在開發、發布、實施和維護Web的過程中,可能就會碰到一些嚴重的問題,失敗的可能性很大。而且,隨著基於Web的系統變得越來越復雜,一個項目的失敗將可能導致很多問題。當這種情況發生時,我們對Web和Internet的信心可能會無法挽救地動搖,從而引起Web危機。並且,Web危機可能會比軟體開發人員所面對的軟體危機更加嚴重、更加廣泛。

在Web工程過程中,基於Web系統的測試、確認和驗收是一項重要而富有挑戰性的工作。基於Web的系統測試與傳統的軟體測試不同,它不但需要檢查和驗證是否按照設計的要求運行,而且還要測試系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。然而,Internet和Web媒體的不可預見性使測試基於Web的系統變得困難。因此,我們必須為測試和評估復雜的基於Web的系統研究新的方法和技術。

一般軟體的發布周期以月或以年計算,而Web應用的發布周期以天計算甚至以小時計算。Web測試人員必須處理更短的發布周期,測試人員和測試管理人員面臨著從測試傳統的C/S結構和框架環境到測試快速改變的Web應用系統的轉變。
一、功能測試
1、鏈接測試
鏈接是Web應用系統的一個主要特徵,它是在頁面之間切換和指導用戶去一些不知道地址的頁面的主要手段。鏈接測試可分為三個方面。首先,測試所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面;其次,測試所鏈接的頁面是否存在;最後,保證Web應用系統上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。鏈接測試可以自動進行,現在已經有許多工具可以採用。鏈接測試必須在集成測試階段完成,也就是說,在整個Web應用系統的所有頁面開發完成之後進行鏈接測試。

2、表單測試
當用戶給Web應用系統管理員提交信息時,就需要使用表單操作,例如用戶注冊、登陸、信息提交等。在這種情況下,我們必須測試提交操作的完整性,以校驗提交給伺服器的信息的正確性。例如:用戶填寫的出生日期與職業是否恰當,填寫的所屬省份與所在城市是否匹配等。如果使用了默認值,還要檢驗默認值的正確性。如果表單只能接受指定的某些值,則也要進行測試。例如:只能接受某些字元,測試時可以跳過這些字元,看系統是否會報錯。

3、Cookies測試
Cookies通常用來存儲用戶信息和用戶在某應用系統的操作,當一個用戶使用Cookies訪問了某一個應用系統時,Web伺服器將發送關於用戶的信息,把該信息以Cookies的形式存儲在客戶端計算機上,這可用來創建動態和自定義頁面或者存儲登陸等信息。如果Web應用系統使用了Cookies,就必須檢查Cookies是否能正常工作。測試的內容可包括Cookies是否起作用,是否按預定的時間進行保存,刷新對Cookies有什麼影響等。

4、設計語言測試
Web設計語言版本的差異可以引起客戶端或伺服器端嚴重的問題,例如使用哪種版本的HTML等。當在分布式環境中開發時,開發人員都不在一起,這個問題就顯得尤為重要。除了HTML的版本問題外,不同的腳本語言,例如Java、javascript、 ActiveX、VBScript或Perl等也要進行驗證。

5、資料庫測試
在Web應用技術中,資料庫起著重要的作用,資料庫為Web應用系統的管理、運行、查詢和實現用戶對數據存儲的請求等提供空間。在Web應用中,最常用的資料庫類型是關系型資料庫,可以使用SQL對信息進行處理。在使用了資料庫的Web應用系統中,一般情況下,可能發生兩種錯誤,分別是數據一致性錯誤和輸出錯誤。數據一致性錯誤主要是由於用戶提交的表單信息不正確而造成的,而輸出錯誤主要是由於網路速度或程序設計問題等引起的,針對這兩種情況,可分別進行測試。

二、性能測試
1、連接速度測試
用戶連接到Web應用系統的速度根據上網方式的變化而變化,他們或許是電話撥號,或是寬頻上網。當下載一個程序時,用戶可以等較長的時間,但如果僅僅訪問一個頁面就不會這樣。如果Web系統響應時間太長(例如超過5秒鍾),用戶就會因沒有耐心等待而離開。另外,有些頁面有超時的限制,如果響應速度太慢,用戶可能還沒來得及瀏覽內容,就需要重新登陸了。而且,連接速度太慢,還可能引起數據丟失,使用戶得不到真實的頁面。

2、負載測試
負載測試是為了測量Web系統在某一負載級別上的性能,以保證Web系統在需求范圍內能正常工作。負載級別可以是某個時刻同時訪問Web系統的用戶數量,也可以是在線數據處理的數量。例如:Web應用系統能允許多少個用戶同時在線?如果超過了這個數量,會出現什麼現象?Web應用系統能否處理大量用戶對同一個頁面的請求?

3、壓力測試
負載測試應該安排在Web系統發布以後,在實際的網路環境中進行測試。因為一個企業內部員工,特別是項目組人員總是有限的,而一個Web系統能同時處理的請求數量將遠遠超出這個限度,所以,只有放在Internet上,接受負載測試,其結果才是正確可信的。進行壓力測試是指實際破壞一個Web應用系統,測試系統的反映。壓力測試是測試系統的限制和故障恢復能力,也就是測試Web應用系統會不會崩潰,在什麼情況下會崩潰。黑客常常提供錯誤的數據負載,直到Web應用系統崩潰,接著當系統重新啟動時獲得存取權。壓力測試的區域包括表單、登陸和其他信息傳輸頁面等。
三、可用性測試
1、導航測試
導航描述了用戶在一個頁面內操作的方式,在不同的用戶介面控制之間,例如按鈕、對話框、列表和窗口等;或在不同的連接頁面之間。通過考慮下列問題,可以決定一個Web應用系統是否易於導航:導航是否直觀?Web系統的主要部分是否可通過主頁存取?Web系統是否需要站點地圖、搜索引擎或其他的導航幫助?

在一個頁面上放太多的信息往往起到與預期相反的效果。Web應用系統的用戶趨向於目的驅動,很快地掃描一個Web應用系統,看是否有滿足自己需要的信息,如果沒有,就會很快地離開。很少有用戶願意花時間去熟悉Web應用系統的結構,因此,Web應用系統導航幫助要盡可能地准確。導航的另一個重要方面是Web應用系統的頁面結構、導航、菜單、連接的風格是否一致。確保用戶憑直覺就知道Web應用系統裡面是否還有內容,內容在什麼地方。Web應用系統的層次一旦決定,就要著手測試用戶導航功能,讓最終用戶參與這種測試,效果將更加明顯。

2、圖形測試
在Web應用系統中,適當的圖片和動畫既能起到廣告宣傳的作用,又能起到美化頁面的功能。一個Web應用系統的圖形可以包括圖片、動畫、邊框、顏色、字體、背景、按鈕等。圖形測試的內容有:
(1)要確保圖形有明確的用途,圖片或動畫不要胡亂地堆在一起,以免浪費傳輸時間。Web應用系統的圖片尺寸要盡量地小,並且要能清楚地說明某件事情,一般都鏈接到某個具體的頁面。
(2)驗證所有頁面字體的風格是否一致。
(3)背景顏色應該與字體顏色和前景顏色相搭配。
(4)圖片的大小和質量也是一個很重要的因素,一般採用JPG或GIF壓縮。

3、內容測試
內容測試用來檢驗Web應用系統提供信息的正確性、准確性和相關性。信息的正確性是指信息是可靠的還是誤傳的。例如,在商品價格列表中,錯誤的價格可能引起財政問題甚至導致法律糾紛;信息的准確性是指是否有語法或拼寫錯誤。這種測試通常使用一些文字處理軟體來進行,例如使用Microsoft Word的"拼音與語法檢查"功能;信息的相關性是指是否在當前頁面可以找到與當前瀏覽信息相關的信息列表或入口,也就是一般Web站點中的所謂"相關文章列表"。

4、整體界面測試
整體界面是指整個Web應用系統的頁面結構設計,是給用戶的一個整體感。例如:當用戶瀏覽Web應用系統時是否感到舒適,是否憑直覺就知道要找的信息在什麼地方?整個Web應用系統的設計風格是否一致?對整體界面的測試過程,其實是一個對最終用戶進行調查的過程。一般Web應用系統採取在主頁上做一個調查問卷的形式,來得到最終用戶的反饋信息。對所有的可用性測試來說,都需要有外部人員(與Web應用系統開發沒有聯系或聯系很少的人員)的參與,最好是最終用戶的參與。

四、客戶端兼容性測試
1、平台測試
市場上有很多不同的操作系統類型,最常見的有Windows、Unix、Macintosh、Linux等。Web應用系統的最終用戶究竟使用哪一種操作系統,取決於用戶系統的配置。這樣,就可能會發生兼容性問題,同一個應用可能在某些操作系統下能正常運行,但在另外的操作系統下可能會運行失敗。因此,在Web系統發布之前,需要在各種操作系統下對Web系統進行兼容性測試。

2、瀏覽器測試
瀏覽器是Web客戶端最核心的構件,來自不同廠商的瀏覽器對Java,、javascript、 ActiveX、 plug-ins或不同的HTML規格有不同的支持。例如,ActiveX是Microsoft的產品,是為Internet Explorer而設計的,javascript是Netscape的產品,Java是Sun的產品等等。另外,框架和層次結構風格在不同的瀏覽器中也有不同的顯示,甚至根本不顯示。不同的瀏覽器對安全性和Java的設置也不一樣。測試瀏覽器兼容性的一個方法是創建一個兼容性矩陣。在這個矩陣中,測試不同廠商、不同版本的瀏覽器對某些構件和設置的適應性。

五、安全性測試
Web應用系統的安全性測試區域主要有:
(1)現在的Web應用系統基本採用先注冊,後登陸的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等。
(2)Web應用系統是否有超時的限制,也就是說,用戶登陸後在一定時間內(例如15分鍾)沒有點擊任何頁面,是否需要重新登陸才能正常使用。
(3)為了保證Web應用系統的安全性,日誌文件是至關重要的。需要測試相關信息是否寫進了日誌文件、是否可追蹤。
(4)當使用了安全套接字時,還要測試加密是否正確,檢查信息的完整性。
(5)伺服器端的腳本常常構成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經過授權,就不能在伺服器端放置和編輯腳本的問題。

六、總結
本文從功能、性能、可用性、客戶端兼容性、安全性等方面討論了基於Web的系統測試方法。基於Web的系統測試與傳統的軟體測試既有相同之處,也有不同的地方,對軟體測試提出了新的挑戰。基於Web的系統測試不但需要檢查和驗證是否按照設計的要求運行,而且還要評價系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。

『伍』 web測試有哪些方面

第一,分析產品結構,明確性能測試的需求,包括並發、極限、配置和指標等方面的性能要求,必要時基於LOAD測試的相同測略需同時考慮穩定性測試的需求。
第一,分析應用場景和用戶數據,細分用戶行為和相關的數據流,確定測試點或測試介面,列示系統介面的可能瓶頸,一般是先主幹介面再支線介面,並完成初步的測試用例設計。
第三,依據性能測試需求和確定的測試點進行測試組網設計,並明確不同組網方案的重要程度或優先順序作為取捨評估的依據,必要時在前期產品設計中提出支持性能測試的可測試性設計方案和對測試工具的需求。
第四,完成性能測試用例設計、分類選擇和依據用戶行為分析設計測試規程,並准備好測試用例將用到的測試數據。
第五,確定採用的測試工具。
第六,進行初驗測試,以主幹介面的可用性為主,根據測試結果分析性能瓶頸,通過迭代保證基本的指標等測試的環境。
第七,迭代進行全面的性能測試,完成計劃中的性能測試用例的執行。
第八,完成性能測試評估報告。
在進行性能測試的時候,我們需要知道一些有效的性能指標,下面我們來列出一些主要的性能指標:
一是,通用指標(指Web應用伺服器、資料庫伺服器必需測試項):
*ProcessorTime:指伺服器CPU佔用率,一般平均達到70%時,服務就接近飽和;
*Memory Available Mbyte:可用內存數,如果測試時發現內存有變化情況也要注意,如果是內存泄露則比較嚴重;
*Physicsdisk Time :物理磁碟讀寫時間情況。
二是,Web伺服器指標:
*Avg Rps:平均每秒鍾響應次數=總請求時間/秒數;
*Avg time to last byte per terstion(mstes):平均每秒業務角本的迭代次數;*Successful Rounds:成功的請求;
*Failed Rounds:失敗的請求;
*Successful Hits:成功的點擊次數;
*Failed Hits:失敗的點擊次數;
*Hits Per Second:每秒點擊次數;
*Successful Hits Per Second:每秒成功的點擊次數;
*Failed Hits Per Second:每秒失敗的點擊次數;
*Attempted Connections:嘗試鏈接數。
三是,資料庫伺服器指標:
*User 0 Connections :用戶連接數,也就是資料庫的連接數量;
*Number of deadlocks:資料庫死鎖;
*Butter Cache hit:資料庫Cache的命中情況)。

可用性測試:1導航測試(Web應用系統的層次一旦決定,就要著手測試用戶導航功能,讓最終用戶參與這種測試,效果將更加明顯。)2圖形測試3內容測試3整體界面測試4客戶端兼容性測試(1平台測試2瀏覽器測試)5安全性測試(測試重點:(1)現在的Web應用系統基本採用先注冊,後登陸的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等。(2)Web應用系統是否有超時的限制,也就是說,用戶登陸後在一定時間內(例如15分鍾)沒有點擊任何頁面,是否需要重新登陸才能正常使用。(3)為了保證Web應用系統的安全性,日誌文件是至關重要的。需要測試相關信息是否寫進了日誌文件、是否可追蹤。(4)當使用了安全套接字時,還要測試加密是否正確,檢查信息的完整性。(5)伺服器端的腳本常常構成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經過授權,就不能在伺服器端放置和編輯腳本的問題。 )

『陸』 WEB測試應該注意哪些地方,怎樣才能做好WEB測試,新手上路,希望大家能多給些寶貴的意見

基於Web的系統測試與傳統的軟體測試既有相同之處,也有不同的地方,對軟體測試提出了新的挑戰。基於Web的系統測試不但需要檢查和驗證是否按照設計的要求運行,而且還要評價系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。本文從功能、性能、可用性、客戶端兼容性、安全性等方面討論了基於Web的系統測試方法。

隨著Internet和Intranet/Extranet的快速增長,Web已經對商業、工業、銀行、財政、教育、政府和娛樂及我們的工作和生活產生了深遠的影響。許多傳統的信息和資料庫系統正在被移植到互聯網上,電子商務迅速增長,早已超過了國界。范圍廣泛的、復雜的分布式應用正在Web環境中出現。Web的流行和無所不在,是因為它能提供支持所有類型內容連接的信息發布,容易為最終用戶存取。

Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作為一門新興的學科,提倡使用一個過程和系統的方法來開發高質量的基於Web的系統。它"使用合理的、科學的工程和管理原則,用嚴密的和系統的方法來開發、發布和維護基於Web的系統"。目前,對於web工程的研究主要是在國外開展的,國內還剛剛起步。

在基於Web的系統開發中,如果缺乏嚴格的過程,我們在開發、發布、實施和維護Web的過程中,可能就會碰到一些嚴重的問題,失敗的可能性很大。而且,隨著基於Web的系統變得越來越復雜,一個項目的失敗將可能導致很多問題。當這種情況發生時,我們對Web和Internet的信心可能會無法挽救地動搖,從而引起Web危機。並且,Web危機可能會比軟體開發人員所面對的軟體危機更加嚴重、更加廣泛。

在Web工程過程中,基於Web系統的測試、確認和驗收是一項重要而富有挑戰性的工作。基於Web的系統測試與傳統的軟體測試不同,它不但需要檢查和驗證是否按照設計的要求運行,而且還要測試系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。然而,Internet和Web媒體的不可預見性使測試基於Web的系統變得困難。因此,我們必須為測試和評估復雜的基於Web的系統研究新的方法和技術。

一般軟體的發布周期以月或以年計算,而Web應用的發布周期以天計算甚至以小時計算。Web測試人員必須處理更短的發布周期,測試人員和測試管理人員面臨著從測試傳統的C/S結構和框架環境到測試快速改變的Web應用系統的轉變。
一、功能測試
1、鏈接測試
鏈接是Web應用系統的一個主要特徵,它是在頁面之間切換和指導用戶去一些不知道地址的頁面的主要手段。鏈接測試可分為三個方面。首先,測試所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面;其次,測試所鏈接的頁面是否存在;最後,保證Web應用系統上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。鏈接測試可以自動進行,現在已經有許多工具可以採用。鏈接測試必須在集成測試階段完成,也就是說,在整個Web應用系統的所有頁面開發完成之後進行鏈接測試。

2、表單測試
當用戶給Web應用系統管理員提交信息時,就需要使用表單操作,例如用戶注冊、登陸、信息提交等。在這種情況下,我們必須測試提交操作的完整性,以校驗提交給伺服器的信息的正確性。例如:用戶填寫的出生日期與職業是否恰當,填寫的所屬省份與所在城市是否匹配等。如果使用了默認值,還要檢驗默認值的正確性。如果表單只能接受指定的某些值,則也要進行測試。例如:只能接受某些字元,測試時可以跳過這些字元,看系統是否會報錯。

3、Cookies測試
Cookies通常用來存儲用戶信息和用戶在某應用系統的操作,當一個用戶使用Cookies訪問了某一個應用系統時,Web伺服器將發送關於用戶的信息,把該信息以Cookies的形式存儲在客戶端計算機上,這可用來創建動態和自定義頁面或者存儲登陸等信息。如果Web應用系統使用了Cookies,就必須檢查Cookies是否能正常工作。測試的內容可包括Cookies是否起作用,是否按預定的時間進行保存,刷新對Cookies有什麼影響等。

4、設計語言測試
Web設計語言版本的差異可以引起客戶端或伺服器端嚴重的問題,例如使用哪種版本的HTML等。當在分布式環境中開發時,開發人員都不在一起,這個問題就顯得尤為重要。除了HTML的版本問題外,不同的腳本語言,例如Java、javascript、 ActiveX、VBScript或Perl等也要進行驗證。

5、資料庫測試
在Web應用技術中,資料庫起著重要的作用,資料庫為Web應用系統的管理、運行、查詢和實現用戶對數據存儲的請求等提供空間。在Web應用中,最常用的資料庫類型是關系型資料庫,可以使用SQL對信息進行處理。在使用了資料庫的Web應用系統中,一般情況下,可能發生兩種錯誤,分別是數據一致性錯誤和輸出錯誤。數據一致性錯誤主要是由於用戶提交的表單信息不正確而造成的,而輸出錯誤主要是由於網路速度或程序設計問題等引起的,針對這兩種情況,可分別進行測試。

二、性能測試
1、連接速度測試
用戶連接到Web應用系統的速度根據上網方式的變化而變化,他們或許是電話撥號,或是寬頻上網。當下載一個程序時,用戶可以等較長的時間,但如果僅僅訪問一個頁面就不會這樣。如果Web系統響應時間太長(例如超過5秒鍾),用戶就會因沒有耐心等待而離開。另外,有些頁面有超時的限制,如果響應速度太慢,用戶可能還沒來得及瀏覽內容,就需要重新登陸了。而且,連接速度太慢,還可能引起數據丟失,使用戶得不到真實的頁面。

2、負載測試
負載測試是為了測量Web系統在某一負載級別上的性能,以保證Web系統在需求范圍內能正常工作。負載級別可以是某個時刻同時訪問Web系統的用戶數量,也可以是在線數據處理的數量。例如:Web應用系統能允許多少個用戶同時在線?如果超過了這個數量,會出現什麼現象?Web應用系統能否處理大量用戶對同一個頁面的請求?

3、壓力測試
負載測試應該安排在Web系統發布以後,在實際的網路環境中進行測試。因為一個企業內部員工,特別是項目組人員總是有限的,而一個Web系統能同時處理的請求數量將遠遠超出這個限度,所以,只有放在Internet上,接受負載測試,其結果才是正確可信的。進行壓力測試是指實際破壞一個Web應用系統,測試系統的反映。壓力測試是測試系統的限制和故障恢復能力,也就是測試Web應用系統會不會崩潰,在什麼情況下會崩潰。黑客常常提供錯誤的數據負載,直到Web應用系統崩潰,接著當系統重新啟動時獲得存取權。壓力測試的區域包括表單、登陸和其他信息傳輸頁面等。
三、可用性測試
1、導航測試
導航描述了用戶在一個頁面內操作的方式,在不同的用戶介面控制之間,例如按鈕、對話框、列表和窗口等;或在不同的連接頁面之間。通過考慮下列問題,可以決定一個Web應用系統是否易於導航:導航是否直觀?Web系統的主要部分是否可通過主頁存取?Web系統是否需要站點地圖、搜索引擎或其他的導航幫助?

在一個頁面上放太多的信息往往起到與預期相反的效果。Web應用系統的用戶趨向於目的驅動,很快地掃描一個Web應用系統,看是否有滿足自己需要的信息,如果沒有,就會很快地離開。很少有用戶願意花時間去熟悉Web應用系統的結構,因此,Web應用系統導航幫助要盡可能地准確。導航的另一個重要方面是Web應用系統的頁面結構、導航、菜單、連接的風格是否一致。確保用戶憑直覺就知道Web應用系統裡面是否還有內容,內容在什麼地方。Web應用系統的層次一旦決定,就要著手測試用戶導航功能,讓最終用戶參與這種測試,效果將更加明顯。

2、圖形測試
在Web應用系統中,適當的圖片和動畫既能起到廣告宣傳的作用,又能起到美化頁面的功能。一個Web應用系統的圖形可以包括圖片、動畫、邊框、顏色、字體、背景、按鈕等。圖形測試的內容有:
(1)要確保圖形有明確的用途,圖片或動畫不要胡亂地堆在一起,以免浪費傳輸時間。Web應用系統的圖片尺寸要盡量地小,並且要能清楚地說明某件事情,一般都鏈接到某個具體的頁面。
(2)驗證所有頁面字體的風格是否一致。
(3)背景顏色應該與字體顏色和前景顏色相搭配。
(4)圖片的大小和質量也是一個很重要的因素,一般採用JPG或GIF壓縮。

3、內容測試
內容測試用來檢驗Web應用系統提供信息的正確性、准確性和相關性。信息的正確性是指信息是可靠的還是誤傳的。例如,在商品價格列表中,錯誤的價格可能引起財政問題甚至導致法律糾紛;信息的准確性是指是否有語法或拼寫錯誤。這種測試通常使用一些文字處理軟體來進行,例如使用Microsoft Word的"拼音與語法檢查"功能;信息的相關性是指是否在當前頁面可以找到與當前瀏覽信息相關的信息列表或入口,也就是一般Web站點中的所謂"相關文章列表"。

4、整體界面測試
整體界面是指整個Web應用系統的頁面結構設計,是給用戶的一個整體感。例如:當用戶瀏覽Web應用系統時是否感到舒適,是否憑直覺就知道要找的信息在什麼地方?整個Web應用系統的設計風格是否一致?對整體界面的測試過程,其實是一個對最終用戶進行調查的過程。一般Web應用系統採取在主頁上做一個調查問卷的形式,來得到最終用戶的反饋信息。對所有的可用性測試來說,都需要有外部人員(與Web應用系統開發沒有聯系或聯系很少的人員)的參與,最好是最終用戶的參與。

四、客戶端兼容性測試
1、平台測試
市場上有很多不同的操作系統類型,最常見的有Windows、Unix、Macintosh、Linux等。Web應用系統的最終用戶究竟使用哪一種操作系統,取決於用戶系統的配置。這樣,就可能會發生兼容性問題,同一個應用可能在某些操作系統下能正常運行,但在另外的操作系統下可能會運行失敗。因此,在Web系統發布之前,需要在各種操作系統下對Web系統進行兼容性測試。

2、瀏覽器測試
瀏覽器是Web客戶端最核心的構件,來自不同廠商的瀏覽器對Java,、javascript、 ActiveX、 plug-ins或不同的HTML規格有不同的支持。例如,ActiveX是Microsoft的產品,是為Internet Explorer而設計的,javascript是Netscape的產品,Java是Sun的產品等等。另外,框架和層次結構風格在不同的瀏覽器中也有不同的顯示,甚至根本不顯示。不同的瀏覽器對安全性和Java的設置也不一樣。測試瀏覽器兼容性的一個方法是創建一個兼容性矩陣。在這個矩陣中,測試不同廠商、不同版本的瀏覽器對某些構件和設置的適應性。

五、安全性測試
Web應用系統的安全性測試區域主要有:
(1)現在的Web應用系統基本採用先注冊,後登陸的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等。
(2)Web應用系統是否有超時的限制,也就是說,用戶登陸後在一定時間內(例如15分鍾)沒有點擊任何頁面,是否需要重新登陸才能正常使用。
(3)為了保證Web應用系統的安全性,日誌文件是至關重要的。需要測試相關信息是否寫進了日誌文件、是否可追蹤。
(4)當使用了安全套接字時,還要測試加密是否正確,檢查信息的完整性。
(5)伺服器端的腳本常常構成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經過授權,就不能在伺服器端放置和編輯腳本的問題。

六、總結
本文從功能、性能、可用性、客戶端兼容性、安全性等方面討論了基於Web的系統測試方法。基於Web的系統測試與傳統的軟體測試既有相同之處,也有不同的地方,對軟體測試提出了新的挑戰。基於Web的系統測試不但需要檢查和驗證是否按照設計的要求運行,而且還要評價系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。(T117)

『柒』 Web測試的主要內容和測試方法有哪些

1功能測試 2 1.1鏈接測試 2 1.2表單測試 2 1.3數據校驗 3 1.4 cookies測試 3
1功能測試 2
1.1鏈接測試 2
1.2表單測試 2
1.3數據校驗 3
1.4 cookies測試 3
1.5資料庫測試 3
1.6應用程序特定的功能需求 4
1.7設計語言測試 4
2性能測試 4
2.1連接速度測試 4
2.2負載測試 4
2.3壓力測試 5
3用戶界面測試 6
3.1導航測試 6
3.2圖形測試 6
3.3內容測試 7
3.4表格測試 7
3.5整體界面測試 7
4兼容性測試 8
4.1平台測試 8
4.2瀏覽器測試 8
4.3解析度測試 8
4.4 Modem/連接速率 9
4.5列印機 9
4.6組合測試 9
5安全測試 9
5.1目錄設置 9
5.2登錄 10
5.3日誌文件 10
5.4腳本語言 10
6介面測試 10
6.1伺服器介面 10
6.2外部介面 11
6.3錯誤處理 11
7結論 11
在Web工程過程中,基於Web系統的測試、確認和驗收是一項重要而富有挑戰性的工作。基於Web的系統測試與傳統的軟體測試不同,它不但需要檢查和驗證是否按照設計的要求運行,而且還要測試系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。然而,Internet和Web媒體的不可預見性使測試基於Web的系統變得困難。因此,我們必須為測試和評估復雜的基於Web的系統研究新的方法和技術

『捌』 北大青鳥設計培訓:Web測試的經驗

1.功能測試1.1.鏈接測試鏈接是Web應用系統的一個主要特徵,它是在頁面之間切換和指導用戶去一些不知道地址的頁面的主要手段。
鏈接測試可分為三個方面。
首先,測試所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面;其次,測試所鏈接的頁面是否存在;最後,保證Web應用系統上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。
鏈接測試可以自動進行,現在已經有許多工具可以採用。
鏈接測試必須在集成測試階段完成,也就是說,在整個Web應用系統的所有頁面開發完成之後進行鏈接測試。
1.2.表單測試當用戶給Web應用系統管理員提交信息時,就需要使用表單操作,例如用戶注冊、登陸、信息提交等。
在這種情況下,我們必須測試提交操作的完整性,以校驗提交給伺服器的信息的正確性。
例如:用戶填寫的出生日期與職業是否恰當,填寫的所屬省份與所在城市是否匹配等。
如果使用了默認值,還要檢驗默認值的正確性。
如果表單只能接受指定的某些值,則也要進行測試。
例如:只能接受某些字元,測試時可以跳過這些字元,看系統是否會報錯。
1.3.Cookies測試Cookies通常用來存儲用戶信息和用戶在某應用系統的操作,當一個用戶使用Cookies訪問了某一個應用系統時,Web伺服器將發送關於用戶的信息,把該信息以Cookies的形式存儲在客戶端計算機上,這可用來創建動態和自定義頁面或者存儲登陸等信息。
如果Web應用系統使用了Cookies,就必須檢查Cookies是否能正常工作。
測試的內容可包括Cookies是否起作用,是否按預定的時間進行保存,刷新對Cookies有什麼影響等。
1.4.設計語言測試Web設計語言版本的差異可以引起客戶端或伺服器端嚴重的問題,例如使用哪種版本的HTML等。
當在分布式環境中開發時,開發人員都不在一起,這個問題就顯得尤為重要。
除了HTML的版本問題外,不同的腳本語言,例如Ja、JaScript、ActiveX、VBScript或Perl等也要進行驗證。
1.5.資料庫測試在Web應用技術中,資料庫起著重要的作用,資料庫為Web應用系統的管理、運行、查詢和實現用戶對數據存儲的請求等提供空間。
在Web應用中,最常用的資料庫類型是關系型資料庫,可以使用SQL對信息進行處理。
在使用了資料庫的Web應用系統中,一般情況下,可能發生兩種錯誤,分別是數據一致性錯誤和輸出錯誤。
武漢北大青鳥http://www.kmbdqn.cn/認為數據一致性錯誤主要是由於用戶提交的表單信息不正確而造成的,而輸出錯誤主要是由於網路速度或程序設計問題等引起的,針對這兩種情況,可分別進行測試。

『玖』 面試Web前端需要注意什麼會面試哪些問題

作為一名HTML5前端工程師,為了工作,為了就業我們免不了要參加各種各樣的面試。為此總結了面試前的注意事項:

第一:注意自己的儀容儀表

面試之前,一定要再次從頭到腳地將自己的儀容儀表檢查一遍。檢查時主要包括,自己的牙縫是不是還有食物殘渣,所以你需要就近找一個衛生間,如果沒有衛生間就近找一個角落也是可以的,但是切記一定不要在大庭廣眾之下。因此,為了給自己整理出著裝的時間請在約定時間前20分鍾到達。

第二:再次檢查面試時所需的資料是否都已帶全

這些資料主要包括:身份證明、學歷文憑證明、個人簡歷、以往作品等等,如果這些東西齊全之後,需要對這些資料做一個整理與排序。因為沒有哪個面試官希望看到面試者拿出一堆「莫名其妙」的東西塞給他,讓他自己再一頁一頁的翻找自己需要的內容,如果說這些資料在面試官手中不小心散落一地,結果可想而知。這樣的求職者在面試官眼中也一定不是一個讓人放心、有條不紊的員工。當然如果檢查時發現資料沒有帶全,也不要緊張。反而你要慶倖幸虧及時檢查,也有足夠的時間組織語言去向面試官解釋。

第三:面試之前將通信工具調成振動或關閉狀態

雖然說面試者與面試官之間是一個平等的關系,但畢竟你是去人家公司求職的,始終處於一個被動的狀態,所以最起碼的尊重還是要做到的。曾經有調查顯示,對於面試過程中接電話或是被電話打斷的求職者,會被HR減分。

第四:等候面試官時,仔細觀察多了解面試公司

在等候面試官時,可以暗自觀察一下公司的大體情況比如員工的著裝風格、公司的LOGO或是貼在牆上的企業文化、公司的環境等等,一來可以在接下來的面試過程中表現出自己對公司的認同感,二來也可以讓自己對求職公司多些了解,以確定是否要接受這里的工作。如果你身邊有公司的資料宣傳架,不妨取一本翻看一下,也會增加HR對你的好感。

第五:放鬆心情,保持自信

面試時一定要保持一定的自信,這樣也會給面試官留下很好的印象。面試只是你步入工作的第一步,即便是失敗了那也是人生重要的經歷。失敗是為了更好的迎接下一個挑戰。

作為一名web前端工程師千萬不要覺得懂技術面試就能萬事大吉了,像以上五點細節性的東西也是一定要掌握的。

面試題系列:

網頁鏈接