測試前置條件及測試點
一、引言
本文檔根據(jù)目前公司的實際情況,規(guī)范了軟件產(chǎn)品提交測試的前置條件以及需提交的文檔資料,避免造成測試的反復(fù)和資源的浪費(fèi)。另外,文檔還明確了各測試階段需要關(guān)注的一些測試點,為我們的軟件測試工作明確了目的和方向。
二、測試前置條件
當(dāng)研發(fā)部門完成了軟件項目的開發(fā)任務(wù)之后,軟件產(chǎn)品開始進(jìn)入測試環(huán)節(jié)。在開發(fā)人員提交測試之前,需要遵守測試的前提條件,如果沒有限定測試前的前提條件,測試人員需要花費(fèi)大量的時間去完成一些簡單的并且很容易發(fā)現(xiàn)的錯誤,這樣會造成很大的人員浪費(fèi)。因此,對于開發(fā)部門提交給測試部門的軟件產(chǎn)品,除領(lǐng)導(dǎo)親自特批外,均必須滿足以下條件才允許提交:
1、 開發(fā)部門完成軟件的白盒測試。
2、 開發(fā)部門完成軟件的冒煙測試。
3、 對于新增功能,必須提供功能列表、功能詳細(xì)說明、流程明細(xì)以及關(guān)聯(lián)的模塊;對于修改功能,必須提供修改功能列表、具體修改內(nèi)容以及影響的模塊。
4、 對于沒有完成的功能,不能提交測試,希望在代碼中注釋掉。
5、 對于需要與其他系統(tǒng)進(jìn)行集成測試的軟件,需要明確測試環(huán)境以及參數(shù)的配置,并且詳細(xì)說明系統(tǒng)間具體是如何集成的。
6、 對于需要進(jìn)行性能測試的部分,提供詳細(xì)說明以及需要達(dá)到的各項性能指標(biāo)。
三、測試點設(shè)計
1、系統(tǒng)功能測試
1.1 鏈接測試
鏈接是Web應(yīng)用系統(tǒng)的一個主要特征,它是在頁面之間切換和指導(dǎo)用戶去一些不知道地址的頁面的主要手段。鏈接測試可分為三個方面。首先,測試所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面;其次,測試所鏈接的頁面是否存在;最后,測試web應(yīng)用系統(tǒng)上是否有孤立的頁面。
1.2 表單測試
當(dāng)用戶給Web應(yīng)用系統(tǒng)管理員提交信息時,就需要使用表單操作,例如:用戶注冊、登陸、信息提交等。在這種情況下,我們必須測試提交操作的完整性,以校驗提交給服務(wù)器的信息的正確性,例如:用戶填寫的出生日期與職業(yè)是否恰當(dāng),填寫的所屬省份與所在的城市是否匹配等。如果使用了默認(rèn)值,還要校驗?zāi)J(rèn)值得正確性。如果表單只能接受指定的某些值,則也要進(jìn)行測試。如:只能接受某些字符,測試時可以跳過這些字符,看系統(tǒng)是否會報錯。
1.3 cookie測試
如果Web應(yīng)用系統(tǒng)使用了Cookies,就必須檢查Cookies是否能正常工作。測試的內(nèi)容可包括Cookies是否起作用,是否按預(yù)定的時間進(jìn)行保存,刷新對Cookies有什么影響等。
1.4 數(shù)據(jù)校驗測試
如果系統(tǒng)中根據(jù)業(yè)務(wù)規(guī)則需要對用戶的輸入進(jìn)行校驗,那么就必須要保證這些校驗功能正常工作。例如,省份的字段可以用一個有效列表進(jìn)行校驗。在這種情況下,需要驗證列表完整而且程序正確調(diào)用了該列表(例如在列表中添加一個測試值,確定系統(tǒng)能夠接受這個測試值)。
1.5 應(yīng)用程序特定的功能需求
嘗試用戶的所有操作,這是用戶之所以使用網(wǎng)站的原因,必須確保:1、功能點是否能正確使用;2、流程是否能正常運(yùn)轉(zhuǎn)。
2、系統(tǒng)性能測試
性能測試是測試過程中不可或缺的一個環(huán)節(jié),它是通過自動化的測試工具模擬多種正常、峰值以及異常條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試。
性能測試主要包含負(fù)載測試和壓力測試。
2.1負(fù)載測試
負(fù)載測試是為了測量Web系統(tǒng)在某一負(fù)載級別上的性能,以保證Web系統(tǒng)在需求范圍內(nèi)能正常工作。負(fù)載級別可以是某個時刻同時訪問Web系統(tǒng)的用戶數(shù)量,也可以是在線數(shù)據(jù)處理的數(shù)量。例如:Web應(yīng)用系統(tǒng)能允許多少個用戶同時在線?如果超過了這個數(shù)量,會出現(xiàn)什么現(xiàn)象?Web應(yīng)用系統(tǒng)能否處理大量用戶對同一個頁面的請求?
通過負(fù)載測試,確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負(fù)載增加時,系統(tǒng)各項性能指標(biāo)的變化情況。
2.2壓力測試
壓力測試是測試系統(tǒng)的限制和故障恢復(fù)能力,也就是測試Web應(yīng)用系統(tǒng)會不會崩潰,在什么情況下會崩潰。黑客常常提供錯誤的數(shù)據(jù)負(fù)載,直到Web應(yīng)用系統(tǒng)崩潰,接著當(dāng)系統(tǒng)重新啟動時獲得存取權(quán)。
壓力測試是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。
性能測試主要指標(biāo):
(1)響應(yīng)時間(RT):反映在完成某個業(yè)務(wù)所需要的時間。
(2)吞吐量(TPS):反映單位時間內(nèi)能夠處理的事務(wù)數(shù)目。
(3)服務(wù)器資源占用。
3、用戶界面測試
3.1 站點地圖和導(dǎo)航條
確認(rèn)測試的站點是否有地圖。有些網(wǎng)絡(luò)高手可以直接去自己要去的地方,而不必點擊一大堆頁面,另外新用戶在網(wǎng)站中可能會迷失方向。站點地圖和導(dǎo)航條可以引導(dǎo)用戶進(jìn)行瀏覽。需要驗證站點地圖是否正確?確認(rèn)地圖上的鏈接是否確實存在?地圖有沒有包括站點上的所有鏈接?是否每個頁面都有導(dǎo)航條?導(dǎo)航條是否一致?每個頁面的鏈接是否正常?導(dǎo)航條是否直觀?
3.2 顏色和背景
由于web日益流行,很多人把它看作圖形設(shè)計作品。而有些開發(fā)人員對新的背景顏色更感興趣,以至于忽略了這種背景顏色是否易于瀏覽。通常來說,使用少許或盡量不使用背景是個不錯的選擇。如果您想用背景,那么最好使用單色的,和導(dǎo)航條一起放在頁面的左邊。否則,圖案和圖片可能會轉(zhuǎn)移用戶的注意力。
3.3 圖形測試
在Web應(yīng)用系統(tǒng)中,適當(dāng)?shù)膱D片和動畫既能起到廣告宣傳的作用,又能起到美化頁面的功能。一個Web應(yīng)用系統(tǒng)的圖形可以包括圖片、動畫、邊框、顏色、字體、背景、按鈕等。圖形測試的內(nèi)容有:
(1)要確保圖形有明確的用途,圖片或動畫不要胡亂地堆在一起,以免浪費(fèi)傳輸時間。Web應(yīng)用系統(tǒng)的圖片尺寸要盡量地小,并且要能清楚地說明某件事情,一般都鏈接到某個具體的頁面。
(2)驗證所有頁面字體的風(fēng)格是否一致。
(3)背景顏色應(yīng)該與字體顏色和前景顏色相搭配。
(4)圖片的大小和質(zhì)量也是一個很重要的因素,一般采用JPG或GIF壓縮。
3.4 內(nèi)容測試
內(nèi)容測試用來檢驗Web應(yīng)用系統(tǒng)提供信息的正確性、準(zhǔn)確性和相關(guān)性。信息的正確性是指信息是可靠的還是誤傳的。例如,在商品價格列表中,錯誤的價格可能引起財政問題甚至導(dǎo)致法律糾紛;信息的準(zhǔn)確性是指是否有語法或拼寫錯誤。這種測試通常使用一些文字處理軟件來進(jìn)行,例如使用Microsoft Word的“拼音與語法檢查”功能;信息的相關(guān)性是指是否在當(dāng)前頁面可以找到與當(dāng)前瀏覽信息相關(guān)的鏈接或入口。
3.5 表格測試
需要驗證表格是否設(shè)置正確。用戶是否需要向右滾動頁面才能看見產(chǎn)品的價格?把價格放在左邊,而把產(chǎn)品細(xì)節(jié)放在右邊是否更有效?每一欄的寬度是否足夠?qū)挘砀窭锏奈淖质欠穸加姓坌校渴欠裼幸驗槟骋粋€的內(nèi)容太多,而將整行的內(nèi)容拉長?
3.6 整體界面測試
整體界面是指整個Web應(yīng)用系統(tǒng)的頁面結(jié)構(gòu)設(shè)計,是給用戶的一個整體感。例如:當(dāng)用戶瀏覽Web應(yīng)用系統(tǒng)時是否感到舒適,是否憑直覺就知道要找的信息在什么地方?整個Web應(yīng)用系統(tǒng)的設(shè)計風(fēng)格是否一致?對整體界面的測試過程,其實是一個對最終用戶進(jìn)行調(diào)查的過程。一般Web應(yīng)用系統(tǒng)采取在主頁上做一個調(diào)查問卷的形式,來得到最終用戶的反饋信息。對所有的可用性測試來說,都需要有外部人員(與Web應(yīng)用系統(tǒng)開發(fā)沒有聯(lián)系或聯(lián)系很少的人員)的參與,最好是最終用戶的參與。
4、系統(tǒng)兼容性測試
兼容性測試主要考慮到以下幾個方面的兼容:
4.1平臺的兼容性
需要測試在不同操作系統(tǒng)下(例如windows/Linux/Unix等)以及在同一操作系統(tǒng)不同版本下(例如winxp/win2003server/vista/win7等)的運(yùn)行情況,避免軟件在某一操作系統(tǒng)下能正常運(yùn)行,但在另外的操作系統(tǒng)下就會運(yùn)行失敗。
4.2瀏覽器的兼容性
由于瀏覽器是web客戶端的核心,而不同廠商的瀏覽器對Java、JavaScript、ActiveX、plug-ins或不同的HTML規(guī)格有不同的支持,所以需要對不同的瀏覽器進(jìn)行測試,確保軟件在不同瀏覽器下的運(yùn)行都是沒問題的。
4.3分辨率的兼容性
測試主流分辨率下的頁面顯示是否正常?字體大小是否合適?文本圖片是否對齊等?
4.4打印機(jī)的兼容性
4.5組合測試
5、系統(tǒng)安全性測試
對于網(wǎng)站系統(tǒng),安全性測試非常重要,如果用戶信息被黑客泄露,客戶在交易時,就不會有安全感。
安全性測試主要關(guān)注以下幾點:
(1)現(xiàn)在的Web應(yīng)用系統(tǒng)基本采用先注冊,后登陸的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等。
(2)Web應(yīng)用系統(tǒng)是否有超時的限制,也就是說,用戶登陸后在一定時間內(nèi)(例如15分鐘)沒有點擊任何頁面,是否需要重新登陸才能正常使用。
(3)為了保證Web應(yīng)用系統(tǒng)的安全性,日志文件是至關(guān)重要的。需要測試相關(guān)信息是否寫進(jìn)了日志文件、是否可追蹤。
(4)當(dāng)使用了安全通信協(xié)議SSL時,還要測試加密是否正確,檢查信息的完整性。
(5)服務(wù)器端的腳本常常構(gòu)成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經(jīng)過授權(quán),就不能在服務(wù)器端放置和編輯腳本的問題。
6、系統(tǒng)接口測試
在很多情況下,系統(tǒng)都不是孤立的,往往會有很多外部系統(tǒng)與之對接。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點。測試的重點是要檢查數(shù)據(jù)的交換,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
6.1服務(wù)器接口
第一個需要測試的接口是瀏覽器與服務(wù)器的接口。測試人員提交事務(wù),然后查看服務(wù)器記錄,并驗證在瀏覽器上看到的正好是服務(wù)器上發(fā)生的。測試人員還可以查詢數(shù)據(jù)庫,確認(rèn)事務(wù)數(shù)據(jù)已正確保存。
6.2外部接口
有些web系統(tǒng)有外部接口。例如,網(wǎng)上商店可能要實時驗證信用卡數(shù)據(jù)以減少欺詐行為的發(fā)生。測試的時候,要使用web接口發(fā)送一些事務(wù)數(shù)據(jù),分別對有效信用卡、無效信用卡和被盜信用卡進(jìn)行驗證。也就是說,測試人員需要確認(rèn)軟件能夠處理外部服務(wù)器返回的所有可能的消息。
6.3錯誤處理
接口的錯誤處理是最容易被忽略的地方。通常我們試圖確認(rèn)系統(tǒng)能夠處理所有錯誤,但卻無法預(yù)期系統(tǒng)所有可能的錯誤。嘗試在處理過程中中斷事務(wù),嘗試中斷用戶到服務(wù)器的網(wǎng)絡(luò)連接,嘗試中斷web服務(wù)器到信用卡驗證服務(wù)器的連接。在這些情況下,看看會發(fā)生什么情況?系統(tǒng)能否正確處理這些錯誤?
版權(quán)聲明:本文出自 Giant321 的51Testing軟件測試博客:http://www.51testing.com/?506499
原創(chuàng)作品,轉(zhuǎn)載時請務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。
posted on 2014-01-02 09:36 順其自然EVO 閱讀(704) 評論(0) 編輯 收藏 所屬分類: web 前端性能測試