網站測試流程

來源:互聯網
上載者:User

標籤:style   io   os   ar   使用   java   strong   sp   檔案   

一個網站基本完工後,需要通過下面三步測試。 

一、 製作者測試,包括美工測試頁面、程式員測試功能。在做完後第一時間內由製作者本人進行測試。 
a) 頁面,包括首頁、二級頁面、三級頁面的頁面在各種常用解析度下有無錯位;圖片上有沒有錯別字;各串連是否是死串連;各欄目圖片與內容是否對應等。
b) 功能,達到客戶要求;資料庫連接正確;各個動態產生串連正確;傳遞參數格式、內容正確;試填測試內容沒有報錯;頁面顯示正確。

二、 全面測試,根據交工標準和客戶要求,由專人進行全面測試 
也是包括頁面和程式兩方面,而且要結合起來測,保證填充足夠的內容後不會導致頁面變形。另外要檢查是否有錯別字,文字內容是否有常識錯誤。 
三、 發布測試,發布到主伺服器之後的測試,主要是防止環境不同導致的錯誤 

 

測試的主要方面: 

一、功能測試 

對於網站的測試而言,每一個獨立的功能模組需要單獨的測試案例的設計匯出,主要依據為《需求規格說明書》及《詳細設計說明書》,對於應用程式模組需要設計者提供基本路徑測試法的測試案例。 

1、連結測試 
   連結是Web應用系統的一個主要特徵,它是在頁面之間切換和指導使用者去一些不知道地址的頁面的主要手段。連結測試可分為三個方面: 

1)測試所有連結是否按指示的那樣確實連結到了該連結的頁面; 

2)測試所連結的頁面是否存在; 

3)保證Web應用系統上沒有孤立的頁面,所謂孤立頁面是指沒有連結指向該頁面,只有知道正確的URL地址才能訪問。 

連結測試可以自動進行,現在已經有許多工具可以採用。連結測試必須在整合測試階段完成,也就是說,在整個Web應用系統的所有頁面開發完成之後進行連結測試。 

Xenu------主要測試連結的正確性的工具 
可惜的是對於動態產生的頁面的測試會出現一些錯誤。 

2、表單測試 

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

要測試這些程式,需要驗證伺服器能正確儲存這些資料,而且後台啟動並執行程式能正確解釋和使用這些資訊。 

B/S結構實現的功能可能主要的就在這裡,提交資料,處理資料等如果有固定的操作流程可以考慮自動化測試載入器的錄製功能,編寫可重複使用的指令碼代碼,可以在測試、迴歸測試時運行以便減輕測試人員工作量。 

我們對UM子系統中各個功能模組中的各項功能進行逐一的測試,主要測試方法為:邊界值測試、等價類別測試,以及異常類測試。測試中要保證每種類型都有2個以上的典型數值的輸入,以確保測試輸入的全面性。 

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應用系統中,一般情況下,可能發生兩種錯誤,分別是資料一致性錯誤和輸出錯誤。資料一致性錯誤主要是由於使用者提交的表單資訊不正確而造成的,而輸出錯誤主要是由於網路速度或程式設計問題等引起的,針對這兩種情況,可分別進行測試。 

二、效能測試 

網站的效能測試對於網站的運行而言異常重要,但是目前對於網站的效能測試做的不夠,我們在進行系統設計時也沒有一個很好的基準可以參考,因而建立網站的效能測試的一整套的測試方案將是至關重要的。 
網站的效能測試主要從三個方面進行:連線速度測試、負荷測試(Load)和壓力測試(Stress), 

連線速度測試指的是開啟網頁的響應速度測試。負荷測試指的是進行一些邊界資料的測試,壓力測試更像是惡意測試,壓力測試傾嚮應該是致使整個系統崩潰。 

1、連線速度測試 

  使用者串連到Web應用系統的速度根據上網方式的變化而變化,他們或許是電話撥號,或是寬頻上網。當下載一個程式時,使用者可以等較長的時間,但如果僅僅訪問一個頁面就不會這樣。如果Web系統回應時間太長(例如超過5秒鐘),使用者就會因沒有耐心等待而離開。 

  另外,有些頁面有逾時的限制,如果響應速度太慢,使用者可能還沒來得及瀏覽內容,就需要重新登陸了。而且,連線速度太慢,還可能引起資料丟失,使使用者得不到真實的頁面。 

2、負載測試 

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

3、壓力測試 

  負載測試應該安排在Web系統發布以後,在實際的網路環境中進行測試。因為一個企業內部員工,特別是項目組人員總是有限的,而一個Web系統能同時處理的請求數量將遠遠超出這個限度,所以,只有放在Internet上,接受負載測試,其結果才是正確可信的。 

  進行壓力測試是指實際破壞一個Web應用系統,測試系統的反映。壓力測試是測試系統的限制和故障恢複能力,也就是測試Web應用系統會不會崩潰,在什麼情況下會崩潰。駭客常常提供錯誤的資料負載,直到Web應用系統崩潰,接著當系統重新啟動時獲得存取權。 

壓力測試的地區包括表單、登陸和其他資訊傳輸頁面等。 

採用的測試載入器: 

效能測試可以採用相應的工具進行自動化測試,我們目前採用如下工具 
ab -----Apache 的測試載入器 
OpenSTA—開發系統測試架構 

三、介面測試 
在很多情況下,web 網站不是孤立。Web 網站可能會與外部伺服器通訊,請求資料、 

驗證資料或提交訂單。 

1、 伺服器介面 
第一個需要測試的介面是瀏覽器與伺服器的介面。測試人員提交事務,然後查看伺服器 

記錄,並驗證在瀏覽器上看到的正好是伺服器上發生的。測試人員還可以查詢資料庫,確認交易資料已正確儲存。 

2、 外部介面 
有些 web 系統有外部介面。例如,網上商店可能要即時驗證信用卡資料以減少欺詐行 

為的發生。測試的時候,要使用 web 介面發送一些交易資料,分別對有效信用卡、無效信用卡和被盜信用卡進行驗證。如果商店只使用 Visa 卡和 Mastercard 卡, 可以嘗試使用 Discover 卡的資料。(簡單的用戶端指令碼能夠在提交事務之前對代碼進行識別,例如 3 表示 American Express,4 表示 Visa,5 表示 Mastercard,6 代表Discover。)通常,測試人員需要確認軟體能夠處理外部伺服器返回的所有可能的訊息。 

3、錯誤處理 
最容易被測試人員忽略的地方是介面錯誤處理。通常我們試圖確認系統能夠處理所有錯誤,但卻無法預期系統所有可能的錯誤。嘗試在處理過程中中斷事務,看看會發生什麼情況? 

訂單是否完成?嘗試中斷使用者到伺服器的網路連接。嘗試中斷 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應用系統開發沒有聯絡或聯絡很少的人員)的參與,最好是終端使用者的參與。 

五、相容性測試 

需要驗證應用程式可以在使用者使用的機器上運行。如果您使用者是全球範圍的,需要測試各種作業系統、瀏覽器、視頻設定和 modem 速度。最後,還要嘗試各種設定的組合。 

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的設定也不一樣。 

測試瀏覽器安全色性的一個方法是建立一個相容性矩陣。在這個矩陣中,測試不同廠商、不同版本的瀏覽器對某些構件和設定的適應性。 

採用測試載入器: 

通過白盒測試或者黑箱測試匯出的測試案例,採用相應的工具進行測試,可以採用OpenSTA進行測試,此測試載入器可以採用不同的瀏覽器進行測試。 

3.視頻測試 

頁面版式在 640x400、600x800 或 1024x768 的解析度模式下是否顯示正常? 字型是否太小以至於無法瀏覽? 或者是太大? 文本和圖片是否對齊? 

4.Modem/串連速率測試 
是否有這種情況,使用者使用 28.8 modem下載一個頁面需要 10 分鐘,但測試人員在測試的時候使用的是 T1 專線? 使用者在下載文章或示範的時候,可能會等待比較長的時間, 
但卻不會耐心等待首頁的出現。最後,需要確認圖片不會太大。 

5、印表機測試 

使用者可能會將網頁列印下來。因此網頁在設計的時候要考慮到列印問題,注意節約紙張和油墨。有不少使用者喜歡閱讀而不是盯著螢幕,因此需要驗證網頁列印是否正常。有時在螢幕上顯示的圖片和文本的對齊可能與列印出來的東西不一樣。測試人員至少需要驗證訂單確認頁面列印是正常的。 

6、組合測試 
最後需要進行組合測試。600x800 的解析度在 MAC 機上可能不錯,但是在 IBM 相容機上卻很難看。在 IBM 機器上使用 Netscape 能正常顯示,但卻無法使用 Lynx 來瀏覽。 

如果是內部使用的 web 網站,測試可能會輕鬆一些。如果公司指定使用某個類型的瀏覽器, 
那麼只需在該瀏覽器上進行測試。如果所有的人都使用 T1 專線,可能不需要測試下載施加。 

(但需要注意的是,可能會有員工從家裡撥號進入系統) 有些內部應用程式,開發部門可能在系統需求中聲明不支援某些系統而只支援一些那些已設定的系統。但是,理想的情況是, 
系統能在所有機器上運行,這樣就不會限制將來的發展和變動。 

六、安全性測試 

Web應用系統的安全性測試地區主要有: 

1、 目錄設定 
Web 安全的第一步就是正確設定目錄。每個目錄下應該有 index.html 或 main.html 頁面,這樣就不會顯示該目錄下的所有內容。如果沒有執行這條規則。那麼選中一幅圖片,單擊滑鼠右鍵,找到該圖片所在的路徑"…com/objects/images"。然後在瀏覽器地址欄中手工輸入該路徑,發現該網站所有圖片的列表。這可能沒什麼關係。但是進入下一級目錄 "…com/objects" ,點擊 jackpot。在該目錄下有很多資料,其中有些都是已到期頁面。如果該公司每個月都要更改產品價格資訊,並且儲存到期頁面。那麼只要翻看了一下這些記錄,就可以估計他們的邊際利潤以及他們為了爭取一個合約還有多大的降價空間。如果某個客戶在談判之前查看了這些資訊,他們在談判桌上肯定處於上風。 

2.登入 

  現在的Web應用系統基本採用先註冊,後登陸的方式。因此,必須測試有效和無效的使用者名稱和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等。  

3.Session 

Web應用系統是否有逾時的限制,也就是說,使用者登陸後在一定時間內(例如15分鐘)沒有點擊任何頁面,是否需要重新登陸才能正常使用。 

4.記錄檔 

為了保證Web應用系統的安全性,記錄檔是至關重要的。需要測試相關資訊是否寫進了記錄檔、是否可追蹤。 

5.加密 

當使用了安全通訊端時,還要測試加密是否正確,檢查資訊的完整性。 

6.安全性漏洞 

伺服器端的指令碼常常構成安全性漏洞,這些漏洞又常常被駭客利用。所以,還要測試沒有經過授權,就不能在伺服器端放置和編輯指令碼的問題。 

目前網路安全問題日益重要,特別對於有互動資訊的網站及進行電子商務活動的網站尤其重要。目前我們的測試沒有涵蓋網站的安全性的測試,我們擬定採用工具來測定, 

工具如下 
SAINT------- Security Administrator’s Integrated Network Tool 
此工具能夠測出網站系統的相應的安全問題,並且能夠給出安全性漏洞的解決方案,不過是一些較為常見的漏洞解決方案。 

七、代碼合法性測試 
代碼合法性測試主要包括2個部分:程式碼合法性檢查與顯示代碼合法性檢查。 

1、程式碼合法性檢查 
程式碼合法性檢查主要標準為《intergrp小組編程規範》,目前採用由SCM管理員進行規範的檢查,未來期望能夠有相應的工具進行測試。 

2、顯示代碼合法性檢查 
顯示代碼的合法性檢查,主要分為Html、JavaScript、Css代碼檢查,目前採用 
HTML代碼檢查------採用CSE HTML Validator進行測試 
JavaScript、Css也可以在網上下載相應的測試載入器。 

八、 文檔測試 
l、產品說明書屬性檢查清單 
1)完整.是否有遺漏和丟失,完全嗎? 單獨使用是否包含全部內容 
2)準確.既定解決方案正確嗎? 目標明確嗎? 有沒有錯誤? 
3)精確、不含糊、清晰.描述是否一清二楚? 還是自說自話?容易看懂和理解嗎? 
4)一致.產品功能能描述是否自相矛盾,與其他功能有沒有衝突 
5)貼切.描述功能的陳述是否必要?有沒有多餘資訊? 功能是否原來的客戶要求? 
6)合理.在特定的預算和進度下,以現有人力,物力和資源能否實現? 
7)代碼無關.是否堅持定義產品,而不是定義其所信賴的軟體設計,架構和代碼 
8)可測試性.特效能否測試? 測試員建立驗證操作的測試程式是否提供足夠的資訊? 
2、 產品說明書用語檢查清單 
1)說明。 對問題的描述通常表現為粉飾沒有仔細考慮的功能----可歸結於前文所述的屬性.從產品說明書上找出這樣的用語,仔細審視它們在文中是怎樣使用的.產品說明書可能會為其掩飾和開脫,也可能含糊其詞----無論是哪一種情況都可視為軟體缺陷. 
2)總是,每一種,所有,沒有,從不.如果看到此類絕對或肯定的,切實認定的敘述,軟體測試員就可以著手設計針鋒相對的案例. 
3)當然,因此,明顯,顯然,必然.這些話意圖誘使接受假定情況.不要中了圈套. 
4)某些,有時,常常,通常,慣常,經常,大多,幾乎.這些話太過模糊."有時"發生作用的功能無法測試. 
5)等等,諸如此類,依此類推.以這樣的詞結束的功能清單無法測試.功能清單要絕對或者解釋明確,以免讓人迷惑,不知如何推論. 
6)良好,迅速,廉價,高效,小,穩定.這些是不確定的說法,不可測試.如果在產品說明書中出現,就必須進一步指明含義. 
7)已處理,已拒絕,已忽略,已消除.這些廉潔可能會隱藏大量需要說明的功能. 
8)如果...那麼...(沒有否則).找出有"如果...那麼..."而缺少配套的"否則"結構的陳述.想一想"如果"沒有發生會怎樣. 

相關的測試載入器 
OpenSTA 
主要做效能測試的負荷及壓力測試,使用比較方便,可以編寫測試指令碼,也可以先行自動產生測試指令碼,而後對於應用測試指令碼進行測試。 
SAINT 
網站安全性測試,能夠對於指定網站進行安全性測試,並可以提供安全問題的解決方案。 
CSE HTML Validator 
一個有用的對於HTML代碼進行合法性檢查的工具 
Ab(Apache Bench) 
Apache內建的對於效能測試方面的工具,功能不是很多,但是非常實用。 
Crash-me 
Mysql內建的測試資料庫效能的工具,能夠測試多種資料庫的效能。

網站測試流程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.