一.概要
1 目的
本文檔編寫目的在于規(guī)范基于網(wǎng)站的系統(tǒng)測試,區(qū)別于傳統(tǒng)的軟件測試,本文對網(wǎng)站測試的流程與規(guī)范進(jìn)行全面概述,以利于網(wǎng)站開發(fā)工作的質(zhì)量和開發(fā)時間,幫助測試人員快速了解測試流程,進(jìn)行測試活動。
2 適用范圍
適用于所有基于WEB的網(wǎng)站測試的項(xiàng)目。
3 網(wǎng)站測試的簡要說明
網(wǎng)站的開發(fā)與部署是為更多更廣泛的用戶提供信息服務(wù),其針對性廣、適用性強(qiáng),故其性能要求與傳統(tǒng)的軟件不同,其系統(tǒng)的測試也與傳統(tǒng)的軟件測試不同。它不僅需要驗(yàn)證系統(tǒng)各個模塊的功能是否與用戶需求符合,還要測試系統(tǒng)在不同軟硬件平臺和不同的瀏覽器端的兼容性問題。還有用戶的安全性和可用性測試。
Web網(wǎng)站的特點(diǎn):網(wǎng)絡(luò)集約型、內(nèi)容驅(qū)動性、持續(xù)演化性、即時性、安全性、美觀性。
二.基本流程
1.項(xiàng)目立項(xiàng)
項(xiàng)目立項(xiàng)階段是用戶與項(xiàng)目經(jīng)理針對項(xiàng)目進(jìn)行敲定,確定項(xiàng)目雙方的職能及相關(guān)責(zé)任。在此過程中測試人員很多時候都不怎么會參與進(jìn)來,其實(shí)測試經(jīng)理或組長是可以以參與者的身份參與進(jìn)來,了解項(xiàng)目的相關(guān)事宜。
2.需求分析階段
需求分析階段測試人員對業(yè)務(wù)關(guān)系進(jìn)行了解,分析需求點(diǎn)。很多測試人員的測試工作都是從這一階段開始。需求分析評審對項(xiàng)目需求分析的結(jié)果進(jìn)行評審,評審團(tuán)根據(jù)公司人員分配來定,一般包含用戶、項(xiàng)目經(jīng)理、開發(fā)人員、測試人員等,不要低于5人。
3.測試計劃階段
測試計劃階段:測試組長就要根據(jù)《用戶需求手冊》或《測試需求分析書》開始編寫《測試計劃》,其中包括人員,軟件硬件資源,測試點(diǎn),集成順序,進(jìn)度安排和風(fēng)險識別等內(nèi)容。評審團(tuán)根據(jù)公司人員分配來定,一般應(yīng)包含項(xiàng)目經(jīng)理、測試人員等,不要低于5人。
4.測試設(shè)計階段
此階段要對測試工作提出測試方案,測試方案一般由對需求很熟的高資深的測試工程師設(shè)計,測試方案要求根據(jù)《需求分析》和《測試計劃》上的每個需求點(diǎn)設(shè)計出包括需求點(diǎn)簡介,測試思路和詳細(xì)測試方法三部分的方案?!稖y試方案》編寫完成后也需要進(jìn)行評審。評審人員不要低于5人。
5.測試方案階段
此階段對測試進(jìn)行詳細(xì)設(shè)計,主要針對測試用例和規(guī)程的設(shè)計。測試用例是根據(jù)《測試方案》來編寫的,通過測試方案階段,測試人員對整個系統(tǒng)需求有了詳細(xì)的理解。這時開始編寫用例才能保證用例的可執(zhí)行和對需求的覆蓋。測試用例需要包括測試項(xiàng),用例級別,預(yù)置條件,操作步驟和預(yù)期結(jié)果。其中操作步驟和預(yù)期結(jié)果需要編寫詳細(xì)和明確。測試用例應(yīng)該覆蓋測試方案,而測試方案又覆蓋了測試需求點(diǎn),這樣才能保證客戶需求不遺漏。同樣,測試用例也需要評審。評審人員最好不要低于5人。
6.測試執(zhí)行階段
執(zhí)行測試用例,對執(zhí)行結(jié)果進(jìn)行合理管理,及時提交有質(zhì)量的Bug。
7.結(jié)果分析與測試報告
針對測試結(jié)果測試人員應(yīng)該分析相應(yīng)的結(jié)果產(chǎn)生原因,并提交相應(yīng)的測試報告。
三.測試范圍
1. 功能測試
1.1基本功能模塊測試
根據(jù)《用戶需求說明手冊》和《需求分析說明書》,分析各個功能模塊。針對各個功能模塊進(jìn)行相關(guān)功能的測試。
1.2 WEB功能測試
1.2.1鏈接測試
什么是鏈接?
鏈接是Web 網(wǎng)站的一個主要特征,它是在頁面之間切換和引導(dǎo)用戶去一些未知地址頁面的主要手段。
鏈接測試的內(nèi)容:
測試所有鏈接是否按指示的那樣確實(shí)鏈接到了應(yīng)該鏈接的頁面;
測試所鏈接的頁面是否存在;
保證Web 網(wǎng)站上沒有孤立的頁面。所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL 地址才能訪問。
鏈接測試可以手動進(jìn)行,也可以自動進(jìn)行。
鏈接測試必須在集成測試階段完成,也就是說,在整個Web 網(wǎng)站的所有頁面開發(fā)完成之后進(jìn)行鏈接測試。
主要測試網(wǎng)站的鏈接是否正常,其中包括測試鏈接頁面的正確性、頁面是否存在、是否存在孤立頁面。
常用測試工具有Xenu(測試鏈接的正確性的工具)。
1.2.2表單測試
什么是表單?
表單就是一些需要在線顯示和填寫的表格。
表單有一些標(biāo)準(zhǔn)操作,如確認(rèn)、保存、提交等。
主要測試表單的正確性和規(guī)范性,是否適合常用表單的使用習(xí)慣。
主要測試方法為:邊界值測試、等價類測試,以及異常類測試。
1.2.3Cookies測試
什么是cookies?
Cookie是一個由網(wǎng)頁服務(wù)器放在您硬盤上的非常小的文本文件. 它本質(zhì)上就像您的身份證明一樣,并且不能像代碼那樣被執(zhí)行或被用來散布病毒。它只能被您使用并且只能由提供的服務(wù)器讀取。
使用cookies的目的:
幫您節(jié)約時間。如果您自定義頁面,或注冊產(chǎn)品或服務(wù)。cookie記住您的身份.當(dāng)下一次您再次訪問的時候,將顯示您需要的信息,將幫您填入任何您已經(jīng)回答過的問題。
Cookies測試
Cookies 通常用來存儲用戶信息和用戶在某些應(yīng)用系統(tǒng)上的操作序列,當(dāng)一個用戶使用Cookies訪問了某一個應(yīng)用系統(tǒng)時,Web 服務(wù)器將發(fā)送關(guān)于用戶的信息,并把該信息以Cookies 的形式存儲在客戶端計算機(jī)上,這可用來創(chuàng)建動態(tài)和自定義頁面或者存儲登錄等信息。
測試內(nèi)容
Cookies是否能正常工作;
Cookies是否按預(yù)定的時間進(jìn)行保存;
刷新對Cookies 有什么影響等。
1.2.4設(shè)計語言測試
測試WEB設(shè)計語言使用的版本是否規(guī)范、是否統(tǒng)一,使用的腳本語言是否規(guī)范、統(tǒng)一。
一般采用的時代碼查看法。
不同的Web 設(shè)計語言版本的差異可以引起客戶端或服務(wù)器端嚴(yán)重的問題;
尤其在分布式環(huán)境中開發(fā)時,開發(fā)人員都不在一起,這個問題就顯得尤為重要。
測試的語言,除了HTML 的版本問題外,不同的腳本語言,例如使用Java、JavaScript、ActiveX、VBScript或Perl 等開發(fā)的應(yīng)用程序也要在不同的版本上進(jìn)行驗(yàn)證。
1.2.5數(shù)據(jù)庫測試
數(shù)據(jù)校驗(yàn)
根據(jù)業(yè)務(wù)規(guī)則,需要對用戶輸入進(jìn)行校驗(yàn),則要保證這些校驗(yàn)功能正常工作。
一般測試數(shù)據(jù)的一致性錯誤和輸出錯誤。數(shù)據(jù)一致性錯誤主要是由于用戶提交的表單信息不正確而造成的,而輸出錯誤主要是由于網(wǎng)絡(luò)速度或程序設(shè)計問題等引起的,針對這兩種情況,可分別進(jìn)行測試。再就是數(shù)據(jù)的安全性測試,一般采用SQL注入的方法。
2.性能測試
網(wǎng)站的性能測試對于網(wǎng)站的運(yùn)行而言異常重要,網(wǎng)站的性能測試主要從三個方面進(jìn)行:連接速度測試、負(fù)載測試和壓力測試。
2.1連接速度測試
不管用戶使用那種方式的不同,系統(tǒng)都不能讓用戶可以等較長的時間。連接速度測試的目的,就是要保證在許可的時間內(nèi)響應(yīng)用戶的請求。
測試網(wǎng)站的鏈接速度,響應(yīng)用戶的反應(yīng)時間。
2.2負(fù)載測試
負(fù)載測試的目的:
負(fù)載測試是為了測量Web 系統(tǒng)在某一負(fù)載級別上的性能,以保證Web 系統(tǒng)在需求范圍內(nèi)能正常工作。負(fù)載測試指的是進(jìn)行一些邊界數(shù)據(jù)的測試,測量網(wǎng)站系統(tǒng)在某一負(fù)載級別上的性能,以保證網(wǎng)站系統(tǒng)在需求范圍內(nèi)能正常工作。負(fù)載級別是某個時刻同時訪問Web系統(tǒng)的用戶數(shù)量。
常用自動化測試工具:LoadRunner。
2.3壓力測試
壓力測試傾向應(yīng)該是致使整個系統(tǒng)崩潰測試出系統(tǒng)能承受的最大壓力而不會發(fā)生系統(tǒng)崩潰的現(xiàn)象。同時也是測試系統(tǒng)的限制和故障恢復(fù)能力,也就是測試網(wǎng)站系統(tǒng)會不會崩潰,在什么情況下會崩潰。
壓力測試的內(nèi)容:
壓力測試必須對 Web 服務(wù)應(yīng)用以下四個基本條件進(jìn)行有效的壓力測試:
重復(fù)(Repetition);
并發(fā)(Concurrency);
量級(Magnitude);
隨機(jī)變化。
常用自動化測試工具:LoadRunner。
3. 可用性測試
可用性/易用性方面的測試一般采用手工測試的方法進(jìn)行評判。
3.1導(dǎo)航測試
什么是導(dǎo)航測試?
在不同的用戶接口控制之間,例如按鈕、對話框、列表和窗口等;
或在不同的連接頁面之間,
導(dǎo)航描述了用戶在一個頁面內(nèi)操作的方式。
導(dǎo)航測試的內(nèi)容:
測試網(wǎng)站的導(dǎo)航能力是否良好,比如頁面結(jié)構(gòu)、導(dǎo)航、菜單、連接等是否良好。
常采用手工對網(wǎng)頁進(jìn)行瀏覽、根據(jù)一般用戶的瀏覽習(xí)慣來進(jìn)行評判。
一般此過程讓最終用戶參與這種測試,效果將更加明顯。
導(dǎo)航是否直觀?
Web 系統(tǒng)的主要部分是否可以通過主頁訪問?
Web系統(tǒng)是否需要站點(diǎn)地圖、搜索引擎或其他的導(dǎo)航器幫助?
測試Web 系統(tǒng)的頁面結(jié)構(gòu);
導(dǎo)航條、菜單、連接的風(fēng)格是否一致?
各種提示是否準(zhǔn)確,確保用戶憑直覺就知道是否還有內(nèi)容,內(nèi)容在什么地方。
最好讓最終用戶參與導(dǎo)航測試,效果將更加明顯。
3.2圖形測試
什么是圖形測試?
在Web 網(wǎng)站中,適當(dāng)?shù)膱D片和動畫既能起到廣告宣傳的作用,又能起到美化頁面的功能。一個Web 網(wǎng)站的圖形可以包括圖片、動畫、邊框、顏色、字體、背景、按鈕等。圖形測試是網(wǎng)頁美觀測試的一部分,一般測試圖形是否有明確的用途、是否與頁面風(fēng)格一致,還用圖片的大小與格式的測試。
圖形測試的內(nèi)容:
(1) 要確保圖形有明確的用途,圖片或動畫不要胡亂地堆在一起,以免浪費(fèi)傳輸時間。圖片尺寸要盡量地小,并且要能清楚地說明某件事情。
(2) 驗(yàn)證所有頁面字體的風(fēng)格是否一致。
(3) 背景顏色應(yīng)該與字體顏色和前景顏色相搭配。
(4) 圖片的大小和質(zhì)量也是一個很重要的因素,一般采用JPG 或GIF 壓縮。
常采用手工測試。
3.3內(nèi)容測試
內(nèi)容測試用來檢驗(yàn)web網(wǎng)站系統(tǒng)提供信息的正確性、準(zhǔn)確性和相關(guān)性。如文字標(biāo)題是否與文字內(nèi)容符合,是否存在不需要的文字。
常采用界面瀏覽的方式。
3.4整體界面測試
測試整個網(wǎng)站系統(tǒng)的頁面結(jié)構(gòu)設(shè)計是否符合用戶需求規(guī)范,是否給用戶的一個整體感。
一般常采用界面瀏覽的方式,最好是有最終用戶的參與。
例如,當(dāng)用戶瀏覽Web 網(wǎng)站時,應(yīng)考慮
是否感到舒適?
是否憑直覺就知道要找的信息在什么地方?
整個Web 應(yīng)用系統(tǒng)的設(shè)計風(fēng)格是否一致?
4. 安全性測試
4.1登錄驗(yàn)證
現(xiàn)在的網(wǎng)站系統(tǒng)基本采用先注冊,后登陸的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等。
4.2緩沖區(qū)溢出
溢出攻擊是通過溢出來控制計算機(jī)的指令序列,讓計算機(jī)執(zhí)行自己的惡意代碼,是利用緩沖區(qū)溢出漏洞所進(jìn)行的攻擊行動。緩沖區(qū)溢出是一種非常普遍、非常危險的漏洞。
4.3日志文件
為了保證網(wǎng)站系統(tǒng)的安全性,日志文件是至關(guān)重要的。需要測試相關(guān)信息是否寫進(jìn)了日志文件、是否可追蹤。
4.4安全漏洞
服務(wù)器端的腳本常常構(gòu)成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經(jīng)過授權(quán),就不能在服務(wù)器端放置和編輯腳本的問題。
4.5跨站式腳本攻擊(XSS)
跨站腳本攻擊是指攻擊者編寫惡意腳本利用網(wǎng)站漏洞從用戶那里惡意盜取信息。
4.6 目錄測試
4.7 SSL套接字測試
5. 配置和兼容性測試
5.1平臺測試
采用不同的操作系統(tǒng)平臺對網(wǎng)站進(jìn)行測試。
市場上有很多不同的操作系統(tǒng)類型,最常見的有Windows、Unix、Macintosh、Linux 等。Web 網(wǎng)站的最終用戶究竟使用哪一種操作系統(tǒng),取決于用戶系統(tǒng)的配置。
平臺測試就是要測試兼容性問題:
同一個應(yīng)用可能在某些操作系統(tǒng)下能正常運(yùn)行,但在另外的操作系統(tǒng)下可能會運(yùn)行失敗。
因此,在Web 系統(tǒng)發(fā)布之前,需要在各種操作系統(tǒng)下對Web 系統(tǒng)進(jìn)行兼容性測試。
5.2瀏覽器測試
使用不同的瀏覽器對網(wǎng)站進(jìn)行瀏覽測試,查看網(wǎng)站在不同瀏覽器中的兼容性問題。
瀏覽器是Web系統(tǒng)客戶端最核心的軟件,來自不同廠商的瀏覽器對Java,、JavaScript、ActiveX、plug-ins 或不同的HTML 有不同的支持。
另外,框架和層次結(jié)構(gòu)風(fēng)格在不同的瀏覽器中也有不同的顯示,甚至根本不能顯示。不同的瀏覽器對安全性和Java 的設(shè)置也不一樣。
5.3分辨率測試
對屏幕的分辨率進(jìn)行調(diào)節(jié)來查看網(wǎng)站在不同分辨率下的顯示效果,比如;分辨率低時界面文字顯示太大,而
分辨率高時又有些文字顯示時太小。
頁面版式在640x400、600x800 或1024x768 的
分辨率模式下是否顯示正常?
5.4 連接速率測試
是否有這種情況,用戶使用28.8k modem 下載一個頁面需要10 分鐘,但測試人員在測試的時候使用的是T1 專線?
用戶在下載文章或演示的時候,可能會等待比較長的時間,但卻不會耐心等待首頁的出現(xiàn)。
5.5 組合測試
600x800 的分辨率在MAC 機(jī)上可能不錯,但是在IBM 兼容機(jī)上卻很難看。
在IBM 機(jī)器上使用Netscape 能正常顯示,但卻無法使用Lynx 來瀏覽。
如果所有的人都使用T1 專線,可能不需要測試下載、上載。
有些內(nèi)部應(yīng)用程序,開發(fā)部門可能在系統(tǒng)需求中聲明不支持某些系統(tǒng)而只支持一些那些已設(shè)置的系統(tǒng)。
理想的情況,系統(tǒng)能在所有機(jī)器上運(yùn)行。
四.相關(guān)規(guī)范
1. 文檔管理規(guī)范
2.相關(guān)管理工具
(注:該文章是網(wǎng)上一篇測試流程的文章上補(bǔ)充完成,對某些部分給予了詳細(xì)的說明,在此謝謝該篇文章的初建者)