介紹
本文將 web 測試分為 6 個部分:
本文的目的是覆蓋 web 測試的各個方面,未就某一主題進行深入說明。
用戶界面
使用 Web 瀏覽器作為應用程序的前臺的一個原因就是它易于使用。用戶知道如何瀏覽一個構建良好的網站。如果你注重這方面的測試,那么驗證應用程序是否易于使用就非常重要了。很多人認為這是測試中最不重要的部分,但是如果你想通過網站賺錢,最好使你的網站使用起來更加方便。
使用說明
應該確認你的站點有使用說明。即使你認為你的網站很簡單,也可能有人在某些方面需要征實一下。測試人員需要測試說明文檔,驗證說明是正確的。還可以根據說明進行操作,確認出現預期的結果。
站點地圖和導航條
確認你測試的站點是否有地圖。有些網絡高手可以直接去自己要去的地方,而不必點擊一大堆頁面。另外新用戶在網站中可能會迷失方向。站點地圖和/或導航條可以引導用戶進行瀏覽。需要驗證站點地圖是否正確。確認地圖上的鏈接是否確實存。地圖有沒有包括站點上的所有鏈接。是否每個頁面都有導航條? 導航條是否一致? 每個頁面的鏈接是否正常? 導航條是否直觀?
內容
對于開發人員來說,可能先有功能然后才對這個功能進行描述。大家坐在一起討論一些新的功能,然后開始開發,在開發的時候,開發人員可能不注重文字表達,他們添加文字可能只是為了對齊頁面。不幸的是,這樣出來的產品可能產生嚴重的誤解。因此測試人員和公關部門一起檢查內容的文字表達是否恰當。否則,公司可能陷入麻煩之中,也可能引起法律方面的問題。測試人員應確保站點看起來更專業些。過分地使用粗體字、大字體和下劃線可能會讓用戶感到不舒服。在進行用戶可用性方面的測試時,最好先請圖形設計專家對站點進行評估。你可能不希望看到一篇到處是黑體字的文章,所以相信您也希望自己的站點能更專業一些。 最后,需要確定是否列出了相關站點的鏈接。很多站點希望用戶將郵件發到一個特定的地址,或者從某個站點下載瀏覽器。但是如果用戶無法點擊這些地址,他們可能會覺得很迷惑。
顏色/背景
由于 web 日益流行,很多人把它看作圖形設計作品。不幸的是,有些開發人員對新的背景顏色更感興趣,以至于忽略了這種背景顏色是否易于瀏覽。典型的站點是在紫色圖片的背景上顯示黃色的文本(如果你沒有見過這樣的站點,請瀏覽一下 GeoCities 或 AOL 上的個人主頁,有不少這樣的)。這種頁面顯得"非常高貴",但是看起來很費勁。通常來說,使用少許或盡量不使用背景是個不錯的選擇。如果您想用背景,那么最好使用單色的,和導航條一起放在頁面的左邊。另外,圖案和圖片可能會轉移用戶的注意力。
圖片
無論作為屏幕的聚焦點或作為指引的小圖標,一張圖片都勝過千言萬語。有時,告訴用戶一個東西的最好辦法就是將它展示給用戶。但是,帶寬對客戶端或服務器來說都是非常寶貴的,所以要注意節約使用內存。是否所有的圖片對所在的頁面都是有價值的,或者它們只是浪費帶寬? 使用其它的文件格式(.GIF, .JPG) 是否能使圖片的大小減小到 30k 以下? 通常來說,不要將大圖片放在首頁上,因為這樣可能會使用戶放棄下載首頁。如果用戶可以很快看到首頁,他可能會瀏覽站點,否則可能放棄。
表格
需要驗證表格是否設置正確。用戶是否需要向右滾動頁面才能看見產品的價格?把價格放在左邊,而把產品細節放在右邊是否更有效? 每一欄的寬度是否足夠寬,表格里的文字是否都有折行?是否有因為某一格的內容太多,而將整行的內容拉長?
回繞
最后,需要驗證的是文字回繞是否正確。如果說明文字指向右邊的圖片,應該確保該圖片出現在右邊。不要因為使用圖片而使窗口和段落排列古怪或者出現孤行!
功能測試
Web 站點的功能是貴公司雇傭開發人員而不只是藝術家的原因。就是這一部分與服務器通訊并且最終完成任務。
鏈接
鏈接是使用戶從一個頁面瀏覽到另一個頁面的重要手段。對于每個鏈接,需要驗證兩件事情: 一是該鏈接將用戶帶到它所說明的地方,另外就是被鏈接頁面是存在的。這句話聽起來有些問題,但是有很多多站點的內部鏈接都是空的。這實在是無法忍受。
表單
當用戶通過表單提交信息的時候,都希望表單能正常工作。如果使用表單來進行在線注冊,要確保提交按鈕能正常工作,當注冊完成后應返回注冊成功的消息。如果使用表單收集配送信息,應確保程序能夠正確處理這些數據,最后能讓顧客能讓客戶收到包裹。要測試這些程序,需要驗證服務器能正確保存這些數據,而且后臺運行的程序能正確解釋和使用這些信息。
數據校驗
如果系根據業務規則需要對用戶輸入進行校驗,需要保證這些校驗功能正常工作。例如,省份的字段可以用一個有效列表進行校驗。在這種情況下,需要驗證列表完整而且程序正確調用了該列表(例如在列表中添加一個測試值,確定系統能夠接受這個測試值)。
Cookies
很多用戶喜歡甜食,但是開發人員喜歡 web cookie (小甜餅)。如果系統使用了cookie,測試人員需要對它們進行檢測。如果在 cookies 中保存了注冊信息,請確認該 cookie能夠正常工作而且已對這些信息已經加密。如果使用 cookie 來統計次數,需要驗證次數累計正確。
應用程序特定的功能需求
最重要的是,測試人員需要對應用程序特定的功能需求進行驗證。嘗試用戶可能進行的所有操作:下訂單、更改訂單、取消訂單、核對訂單狀態、在貨物發送之前更改送貨信息、在線支付等等。這是用戶之所以使用網站的原因,一定要確認網站能像廣告宣傳的那樣神奇。
接口測試
在很多情況下,web 站點不是孤立。Web 站點可能會與外部服務器通訊,請求數據、驗證數據或提交訂單。
服務器接口
第一個需要測試的接口是瀏覽器與服務器的接口。測試人員提交事務,然后查看服務器記錄,并驗證在瀏覽器上看到的正好是服務器上發生的。測試人員還可以查詢數據庫,確認事務數據已正確保存。
外部接口
有些 web 系統有外部接口。例如,網上商店可能要實時驗證信用卡數據以減少欺詐行為的發生。測試的時候,要使用 web 接口發送一些事務數據,分別對有效信用卡、無效信用卡和被盜信用卡進行驗證。如果商店只使用 Visa 卡和 Mastercard 卡, 可以嘗試使用 Discover 卡的數據。(簡單的客戶端腳本能夠在提交事務之前對代碼進行識別,例如 3 表示 American Express,4 表示 Visa,5 表示 Mastercard,6 代表Discover。)通常,測試人員需要確認軟件能夠處理外部服務器返回的所有可能的消息。
錯誤處理
最容易被測試人員忽略的地方是接口錯誤處理。通常我們試圖確認系統能夠處理所有錯誤,但卻無法預期系統所有可能的錯誤。嘗試在處理過程中中斷事務,看看會發生什么情況?訂單是否完成?嘗試中斷用戶到服務器的網絡連接。嘗試中斷 web 服務器到信用卡驗證服務器的連接。在這些情況下,系統能否正確處理這些錯誤?是否已對信用卡進行收費?如果用戶自己中斷事務處理,在訂單已保存而用戶沒有返回網站確認的時候,需要由客戶代表致電用戶進行訂單確認!
兼容性測試
需要驗證應用程序可以在用戶使用的機器上運行。如果您用戶是全球范圍的,需要測試各種操作系統、瀏覽器、視頻設置和 modem 速度。最后,還要嘗試各種設置的組合。
操作系統
你的站點能否在 MAC 和IBM 兼容系統上瀏覽? 有些字體在某個系統上可能不存在,因此需要確認選擇了備用字體。如果用戶使用兩種操作系統,請確認站點未使用只能在其中一種操作系統上運行的插件。
瀏覽器
站點能否使用 Netscape、Internet Explorer 或Lynx 進行瀏覽? 有些 HTML 命令或腳本只能在某些特定的瀏覽器上運行。請確認有圖片的替代文字,因為可能會有用戶使用文本瀏覽器。如果您使用 SSL 安全特性,則只需對 3.0 以上版本的瀏覽器進行驗證,但是對于老版本的用戶應該有相關的消息提示。
視頻設置
頁面版式在 640x400、600x800 或 1024x768 的分辨率模式下是否顯示正常? 字體是否太小以至于無法瀏覽? 或者是太大? 文本和圖片是否對齊?
Modem/連接速率
是否有這種情況,用戶使用 28.8 modem下載一個頁面需要 10 分鐘,但測試人員在測試的時候使用的是 T1 專線? 用戶在下載文章或演示的時候,可能會等待比較長的時間,但卻不會耐心等待首頁的出現。最后,需要確認圖片不會太大。
打印機
用戶可能會將網頁打印下來。因此網也在設計的時候要考慮到打印問題,注意節約紙張和油墨。有不少用戶喜歡閱讀而不是盯著屏幕,因此需要驗證網頁打印是否正常。有時在屏幕上顯示的圖片和文本的對齊方式可能與打印出來的東西不一樣。測試人員至少需要驗證訂單確認頁面打印是正常的。
組合測試
最后需要進行組合測試。600x800 的分辨率在 MAC 機上可能不錯,但是在 IBM 兼容機上卻很難看。在 IBM 機器上使用 Netscape 能正常顯示,但卻無法使用 Lynx 來瀏覽。如果是內部使用的 web 站點,測試可能會輕松一些。如果公司指定使用某個類型的瀏覽器,那么只需在該瀏覽器上進行測試。如果所有的人都使用 T1 專線,可能不需要測試下載施加。(但需要注意的是,可能會有員工從家里撥號進入系統) 有些內部應用程序,開發部門可能在系統需求中聲明不支持某些系統而只支持一些那些已設置的系統。但是,理想的情況是,系統能在所有機器上運行,這樣就不會限制將來的發展和變動!
負載/壓力測試
測試需要驗證系統能否在同一時間響應大量的用戶,在用戶傳送大量數據的時候能否響應,系統能否長時間運行?稍L問性對用戶來說是極其重要的。如果用戶得到“系統忙”的信息,他們可能放棄,并轉向競爭對手。系統檢測不僅要使用戶能夠正常訪問站點,在很多情況下,可能會有黑客試圖通過發送大量數據包來攻擊服務器。出于安全的原因,測試人員應該知道當系統過載時,需要采取哪些措施,而不是簡單地提升系統性能。
瞬間訪問高峰
如果您的站點用于公布彩票的抽獎結果,最好使系統在中獎號碼公布后的一段時間內能夠響應上百萬的請求。負載測試工具能夠模擬 X 個用戶同時訪問測試站點。
每個用戶傳送大量數據
網上書店的多數用戶可能只訂購 1-5 書,但是大學書店可能會訂購 5000 本有關心理學介紹的課本? 或者一個祖母為她的 50 個兒孫購買圣誕禮物(當然每個孩子都有自己的郵件地址) 系統能處理單個用戶的大量數據嗎?
長時間的使用
如果站點用于處理鮮花訂單,那么至少希望它在母親節前的一周內能持續運行。如果站點提供基于 web 的 email 服務,那么點最好能持續運行幾個月,甚至幾年?赡苄枰褂自動測試工具來完成這種類型的測試,因為很難通過手工完成這些測試。你可以想象組織100 個人同時點擊某個站點。但是同時組織 100000 個人呢。通常,測試工具在第二次使用的時候,它創造的效益,就足以支付成本。而且,測試工具安裝完成之后,再次使用的時候,只要點擊幾下!
安全性測試
即使站點不接受信用卡支付,安全問題也是非常重要的。Web 站點收集的用戶資料只能在公司內部使用。如果用戶信息被黑客泄露,客戶在進行交易時,就不會有安全感。
目錄設置
Web 安全的第一步就是正確設置目錄。每個目錄下應該有 index.html 或 main.html 頁面,這樣就不會顯示該目錄下的所有內容。我服務的一個公司沒有執行這條規則。我選中一幅圖片,單擊鼠標右鍵,找到該圖片所在的路徑"…com/objects/images"。然后在瀏覽器地址欄中手工輸入該路徑,發現該站點所有圖片的列表。這可能沒什么關系。我進入下一級目錄 "…com/objects" ,點擊 jackpot。在該目錄下有很多資料,其中引起我注意的是已過期頁面。該公司每個月都要更改產品價格,并且保存過期頁面。我翻看了一下這些記錄,就可以估計他們的邊際利潤以及他們為了爭取一個合同還有多大的降價空間。如果某個客戶在談判之前查看了這些信息,他們在談判桌上肯定處于上風。
SSL
很多站點使用 SSL 進行安全傳送。你知道你進入一個 SSL 站點是因為瀏覽器出現了警告消息,而且在地址欄中的 HTTP 變成 HTTPS。如果開發部門使用了SSL,測試人員需要確定是否有相應的替代頁面(適用于3.0 以下版本的瀏覽器,這些瀏覽器不支持SSL。當用戶進入或離開安全站點的時候,請確認有相應的提示信息。是否有連接時間限制?超過限制時間后出現什么情況?
登錄
有些站點需要用戶進行登錄,以驗證他們的身份。這樣對用戶是方便的,他們不需要每次都輸入個人資料。你需要驗證系統阻止非法的用戶名/口令登錄,而能夠通過有效登錄。用戶登錄是否有次數限制? 是否限制從某些 IP 地址登錄? 如果允許登錄失敗的次數為3,你在第三次登錄的時候輸入正確的用戶名和口令,能通過驗證嗎? 口令選擇有規則限制嗎?
日志文件
在后臺,要注意驗證服務器日志工作正常。日志是否記所有的事務處理? 是否記錄失敗的注冊企圖? 是否記錄被盜信用卡的使用? 是否在每次事務完成的時候都進行保存? 記錄IP 地址嗎? 記錄用戶名嗎?
腳本語言
腳本語言是常見的安全隱患。每種語言的細節有所不同。有些腳本允許訪問根目錄。其他只允許訪問郵件服務器,但是經驗豐富的黑客可以將服務器用戶名和口令發送給他們自己。找出站點使用了哪些腳本語言,并研究該語言的缺陷。最好的辦法是訂閱一個討論站點使用的腳本語言安全性的新聞組!
結論
無論你在測試 internet、intranet 或者是 extranet 應用程序,web 測試相對于非 web 測試來說都是更具挑戰性的工作。用戶對 web 頁面質量有很高的期望。在很多情況下,就像業務功能一樣,頁面用于維護和發展公共關系,所以第一印象非常重要。
文章來源于領測軟件測試網 http://www.kjueaiud.com/