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