Web界面應用常用的測試方法:
一、輸入框:
1、字符型輸入框:
(1)字符型輸入框:英文全角、英文半角、數字、空或者空格、特殊字符“~!@#¥%……&*?[]{}”特別要注意單引號和&符號。禁止直接輸入特殊字符時,使用“粘貼、拷貝”功能嘗試輸入。
(2)長度檢查:最小長度、最大長度、最小長度-1、最大長度+1、輸入超工字符比如把整個文章拷貝過去。
(3)空格檢查:輸入的字符間有空格、字符前有空格、字符後有空格、字符前後有空格
(4)多行文本框輸入:允許回車換行、保存後再顯示能夠保存輸入的格式、僅輸入回車換行,檢查能否正確保存(若能,檢查保存結果,若不能,查看是否有正常提示)、
(5)安全性檢查:輸入特殊字符串(null,NULL, ,javascript,<script>,</script>,<title>,<html>,<td>)、輸入腳本函數(<script>alert("abc")</script>)、doucment.write("abc")、<b>hello</b>)
2、數值型輸入框:
(1)邊界值:最大值、最小值、最大值+1、最小值-1
(2)位數:最小位數、最大位數、最小位數-1最大位數+1、輸入超長值、輸入整數
(3)異常值、特殊字符:輸入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能導致系統錯誤的字符、禁止直接輸入特殊字符時,嘗試使用粘貼拷貝查看是否能正常提交、word中的特殊功能,通過剪貼板拷貝到輸入框,分頁符,分節符類似公式的上下標等、數值的特殊符號如∑,㏒,㏑,∏,+,-等、
輸入負整數、負小數、分數、輸入字母或漢字、小數(小數前0點捨去的情況,多個小數點的情況)、首位爲0的數字如01、02、科學計數法是否支持1.0E2、全角數字與半角數字、數字與字母混合、16進制,8進制數值、貨幣型輸入(允許小數點後面幾位)、
(4)安全性檢查:不能直接輸入就copy
3、日期型輸入框:
(1)合法性檢查:(輸入0日、1日、32日)、月輸入[1、3、5、7、8、10、12]、日輸入[31]、月輸入[4、6、9、11]、日輸入[30][31]、輸入非閏年,月輸入[2],日期輸入[28、29]、輸入閏年,月輸入[2]、日期輸入[29、30]、月輸入[0、1、12、13]
(2)異常值、特殊字符:輸入空白或NULL、輸入~!@#¥%……&*(){}[]等可能導致系統錯誤的字符
(3)安全性檢查:不能直接輸入,就copy,是否數據檢驗出錯?
(4)信息重複:在一些需要命名,且名字應該唯一的信息輸入重複的名字或ID,看系統有沒有處理,會否報錯,重名包括是否區分大小寫,以及在輸入內容的前後輸入空格,系統是否作出正確處理.
二、搜索功能
若查詢條件爲輸入框,則參考輸入框對應類型的測試方法
(1)如果支持模糊查詢,搜索名稱中任意一個字符是否能搜索到
(2)比較長的名稱是否能查到
(3)輸入系統中不存在的與之匹配的條件
(4)用戶進行查詢操作時,一般情況是不進行查詢條件的清空,除非需求特殊說明。
2、組合測試:
(1)不同查詢條件之間來回選擇,是否出現頁面錯誤(單選框和多選框最容易出錯)
(2)測試多個查詢條件時,要注意查詢條件的組合測試,可能不同組合的測試會報錯。
三、添加、修改功能
1、特殊鍵:(1)是否支持Tab鍵 (2)是否支持回車鍵
2、提示信息:(1)不符合要求的地方是否有錯誤提示
3、唯一性:(1)字段唯一的,是否可以重複添加,添加後是否能修改爲已存在的字段(字
段包括區分大小寫以及在輸入的內容前後輸入空格,保存後,數據是否真的插入到數據庫中,注意保存後數據的正確性)
4、數據 正確性:
(1)對編輯頁的每個編輯項進行修改,點擊保存,是否可以保存成功,檢查想關聯的數據是否得到更新。
(2)進行必填項檢查(即是否給出提示以及提示後是否依然把數據存到數據庫中;是否提示後出現頁碼錯亂等)
(3)是否能夠連續添加(針對特殊情況)
(4)在編輯的時候,注意編輯項的長度限制,有時在添加的時候有,在編輯的時候卻沒有(注意要添加和修改規則是否一致)
(5)對於有圖片上傳功能的編輯框,若不上傳圖片,查看編輯頁面時是否顯示有默認的圖片,若上傳圖片,查看是否顯示爲上傳圖片
(6)修改後增加數據後,特別要注意查詢頁面的數據是否及時更新,特別是在首頁時要注意數據的更新。
(7)提交數據時,連續多次點擊,查看系統會不會連續增加幾條相同的數據或報錯。
(8)若結果列表中沒有記錄或者沒選擇某條記錄,點擊修改按鈕,系統會拋異常。
四、刪除功能
1、特殊鍵:(1)是否支持Tab鍵 (2)是否支持回車鍵
2、提示信息:(1)不選擇任何信息,直接點擊刪除按鈕,是否有提示(2)刪除某條信息時,應該有確認提示
3、數據 實現:(1)是否能連續刪除多個產品(2)當只有一條數據時,是否可以刪除成功 (3)刪除一條數據後,是否可以添加相同的數據(4)如系統支持批量刪除,注意刪除的信息是否正確 (5)如有全選,注意是否把所有的數據刪除(6)刪除數據時,要注意相應查詢頁面的數據是否及時更新 (7)如刪除的數據與其他業務數據關聯,要注意其關聯性(如刪除部門信息時,部門下游員工,則應該給出提示)(8)如果結果列表中沒有記錄或沒有選擇任何一條記錄,點擊刪除按鈕系統會報錯。
五、登陸 功能:
(1)輸入正確的用戶名和正確的密碼
(2)輸入正確的用戶名和錯誤的密碼
(3)輸入錯誤的用戶名和正確的密碼
(4)輸入錯誤的用戶名和錯誤的密碼
(5)不輸入用戶名和密碼(均爲空格)
(6)只輸入用戶名,密碼爲空
(7)用戶名爲空,只輸入密碼
(8)輸入正確的用戶名和密碼,但是不區分大小寫
(9)用戶名和密碼包括特殊字符
(10)用戶名和密碼輸入超長值
(11)已刪除的用戶名和密碼
(12)登錄時,當頁面刷新或重新輸入數據時,驗證碼是否更新
六、上傳圖片測試
1、功能 實現:
(1)文件類型正確、大小合適
(2)文件類型正確,大小不合適
(3)文件類型錯誤,大小合適
(4)文件類型和大小都合適,上傳一個正在使用中的圖片
(5)文件類型大小都合適,手動輸入存在的圖片地址來上傳
(6)文件類型和大小都合適,輸入不存在的圖片地址來上傳
(7)文件類型和大小都合適,輸入圖片名稱來上傳
(8)不選擇文件直接點擊上傳,查看是否給出提示
(9)連續多次選擇不同的文件,查看是否上傳最後一次選擇的文件
七、返回鍵的使用
1、檢查多次使用返回鍵的情況,在有返回鍵的地方,返回到原來的頁面多次,查看是否會出錯
2、在輸入結果後,直接按回車鍵,看系統如何處理,是否會報錯
3、在Web系統中,使用刷新鍵,看系統如何處理,是否會報錯
八、界面和易用性測試
1、風格、樣式、顏色是否協調
2、界面佈局是否整齊、協調(保證全部顯示出來的,儘量不要使用滾動條
3、界面操作、標題描述是否恰當(描述有歧義、注意是否有錯別字) |
4、操作是否符合人們的常規習慣(有沒有把相似的功能的控件放在一起,方便操作)
5、提示界面是否符合規範(不應該顯示英文的cancel、ok,應該顯示中文的確定等)
6、界面中各個控件是否對齊
7、日期控件是否可編輯
8、日期控件的長度是否合理,以修改時可以把時間全部顯示出來爲準
9、查詢結果列表列寬是否合理、標籤描述是否合理
10、查詢結果列表太寬沒有橫向滾動提示
11、對於信息比較長的文本,文本框有沒有提供自動豎直滾動條
12、數據錄入控件是否方便
13、有沒有支持Tab鍵,鍵的順序要有條理,不亂跳
14、有沒有提供相關的熱鍵
15、控件的提示語描述是否正確
16、模塊調用是否統一,相同的模塊是否調用同一個界面
17、用滾動條移動頁面時,頁面的控件是否顯示正常
18、日期的正確格式應該是XXXX-XX-XX或XXXX-XX-XX XX:XX:XX
19、頁面是否有多餘按鈕或標籤
20、窗口標題或圖標是否與菜單欄的統一
21、窗口的最大化、最小化是否能正確切換
22、對於正常的功能,用戶可以不必閱讀用戶手冊就能使用
23、執行風險操作時,有確認、刪除等提示嗎
24、操作順序是否合理
25、正確性檢查:檢查頁面上的form, button, table, header, footer,提示信息,還有其他文字拼寫,句子的語法等是否正確。
26、系統應該在用戶執行錯誤的操作之前提出警告,提示信息.
27、頁面分辨率檢查,在各種分辨率瀏覽系統檢查系統界面友好性。
28、合理性檢查:做delete, update, add, cancel, back等操作後,查看信息回到的頁面是否合理。
29、檢查本地化是否通過:英文版不應該有中文信息,英文翻譯準確,專業。
功能測試:
1、鏈接測試
鏈接是Web應用系統的一個主要特徵,它是在頁面之間切換和指導用戶去一些不知道地址的頁面的主要手段。鏈接測試可分爲三個方面。
首先,測試所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面;
其次,測試所鏈接的頁面是否存在;
最後,保證Web應用系統上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。
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)服務器端的腳本常常構成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經過授權,就不能在服務器端放置和編輯腳本的問題。
備註:
1、負載/壓力測試應該關注什麼
測試需要驗證系統能否在同一時間響應大量的用戶,在用戶傳送大量數據的時候能否響應,系統能否長時間運行。可訪問性對用戶來說是極其重要的。如果用戶得到“系統忙”的信息,他們可能放棄,並轉向競爭對手。系統檢測不僅要使用戶能夠正常訪問站點,在很多情況下,可能會有黑客試圖通過發送大量數據包來攻擊服務器。出於安全的原因,測試人員應該知道當系統過載時,需要採取哪些措施,而不是簡單地提升系統性能。
1)瞬間訪問高峯
如果您的站點用於公佈彩票的抽獎結果,最好使系統在中獎號碼公佈後的一段時間內能夠響應上百萬的請求。負載測試工具能夠模擬X個用戶同時訪問測試站點。
2)每個用戶傳送大量數據
網上書店的多數用戶可能只訂購1-5書,但是大學書店可能會訂購5000本有關心理學介紹的課本?或者一個祖母爲她的50個兒孫購買聖誕禮物(當然每個孩子都有自己的郵件地址)系統能處理單個用戶的大量數據嗎?
3)長時間的使用
如果站點用於處理鮮花訂單,那麼至少希望它在母親節前的一週內能持續運行。如果站點提供基於web的email服務,那麼點最好能持續運行幾個月,甚至幾年。可能需要使用自動測試工具來完成這種類型的測試,因爲很難通過手工完成這些測試。你可以想象組織100個人同時點擊某個站點。但是同時組織100000個人呢。通常,測試工具在第二次使用的時候,它創造的效益,就足以支付成本。而且,測試工具安裝完成之後,再次使用的時候,只要點擊幾下。
採取措施:採用性能測試工具WAS、ACT,LR等協助進行測試
十三、測試中應該注意的其他情況
1、在測試時,與網絡有關的步驟或者模塊必須考慮到斷網的情況
2、每個頁面都有相應的Title,不能爲空,或者顯示“無標題頁”
3、在測試的時候要考慮到頁面出現滾動條時,滾動條上下滾動時,頁面是否正常
4、URL不區分大小寫,大小寫不敏感
5、、對於電子商務網站,當用戶併發購買數量大於庫存的數量時,系統如何處理
6、測試數據避免單純輸入“123”、“abc“之類的,讓測試數據儘量接近實際
7、進行測試時,儘量不要用超級管理員進行測試,用新建的用戶進行測試。測試人員儘量不要使用同一個用戶進行測試
8、提示信息:提示信息是否完整、正確、詳細
9、幫助信息:是否提供幫助信息,幫助信息的表現形式(頁面文字、提示信息、幫助文件),幫助信息是否正確、詳細
10、可擴展性:是否由升級的餘地,是否保留了接口
11、穩定性:運行所需的軟硬件配置,佔用資源情況,出現問題時的容錯性,對數據的保護
12、運行速度:運行的快慢,帶寬佔用情況
十四、基本驗證
1.頁面鏈接檢查:每一個鏈接是否都有對應的頁面,並且頁面之間切換正確。
2.功能相關性檢查:刪除/增加一項會不會對其他項產生影響,如果產生影響,這些影響是否都正確,常見的情況,增加某個數據記錄以後,如果該數據記錄某個字段內容較長,可能會在查詢的時候讓數據列表變形。
3.數據相關性:下拉列表默認值檢查,下拉列表值檢查,如果某個列表的數據項依賴於其他模塊中的數據,同樣需要檢查,比如,某個數據如果被禁用了,可能在引用該數據項的列表中不可見。
4.檢查按鈕的功能是否正確:如新建,編輯,刪除,關閉,返回,保存,導入,上一頁,下一頁,頁面跳轉,重置等功能是否正確。常見的錯誤會出現在重置按鈕上,表現爲功能失效。
5.字符串長度檢查:輸入超出需求所說明的字符串長度的內容,看系統是否檢查字符串長度。