面向Web應用系統的測試與傳統的軟件測試不同,不僅需要檢查和驗證是否按照需求規格說明書的要求運行,而且還要測試Web應用系統在不同瀏覽器上顯示是否符合要求,與不同的數據庫連接是否有效、更重要的是在性能、安全性、可用性等方面
安全性測試
配置和兼容性測試
可用性測試
鏈接測試
鏈接是Web應用系統用戶界面的主要特征,它指引著Web用戶在頁面之間切換,以完成Web應用系統的功能
測試重點
鏈接是否正確
鏈接頁面是否存在
是否有孤立的頁面(沒有鏈接指向的頁面)
表單測試
表單(Form)是指網頁上用于輸入和選擇信息的文本框、列表框和其他域,實現用戶和Web應用系統的交互,當用戶給Web應用系統管理員提交信息時,需要使用表單操作,如用戶注冊、登錄、信息提交、查詢等
測試重點
表單控件的正確性
提交信息的完整性、正確性
是否有錯誤處理
Cookie測試
Cookie通常標識用戶信息,記錄用戶狀態 。
使用Cookie技術,當用戶使用Web應用系統時,能夠在訪問者的機器上創立一個叫做Cookie的文件,把部分信息(訪問過的頁面、登錄用戶名、密碼等)寫進去,來標識用戶狀態。如果該用戶下次再訪問這個Web應用系統,就能夠讀出這個文件里面的內容,正確標識用戶信息
如果Web應用系統使用了Cookie,必須檢查Cookie是否能正常工作,是否按預定的時間進行保存內容
設計語言測試
在Web應用系統開發初始,根據軟件工程的要求用文檔的形式確定Web應用系統使用哪個版本的HTML標準,允許使用何種腳本語言及版本,允許使用何種控件,這樣可以有效的避免Web應用系統開發過程中出現設計語言問題。
其他測試
數據庫測試
面向任務、業務邏輯的測試
探查性測試
速度測試:
對于最終的Web應用系統用戶而言,最關心的性能問題是訪問Web應用系統頁面時,多長時間才能顯示出來所需要的頁面
通常情況下,響應時間不超過5秒
有些Web應用系統有超時限制,如果響應時間太慢,用戶可能還沒來得及瀏覽內容,就需要重新登錄了
影響響應時間的原因有很多
應用程序服務器需要從數據庫的大量數據中檢索信息
服務器硬件影響(CPU、內存)
所訪問頁面文件大小
網絡連接帶寬
負載測試
負載測試是為了測量Web應用系統在一定負載情況下的系統性能,通常得出的結論是Web應用系統在一定的硬件條件下可以支持的并發用戶數目或者單位時間數據(或事件)的吞吐量。
在進行負載測試前,需要定義標準用戶(活動用戶)的概念,定義執行典型的系統流程,定義負載測試執行總時間,定義抓取哪些事務的平均響應時間,定義用戶可以接受的平均響應時間(通常為5秒)
測試時,增加用戶數量,平均響應時間就會增加,當達到用戶可以接受的平均響應時間這個臨界點,即是此系統可以支持的并發用戶數
對Web系統進行壓力測試,類似于普通機械、電子產品進行的破壞性試驗。方法是實際破壞Web應用系統,測試系統的反應
壓力測試是測試系統的限制和故障恢復能力,也就是測試Web應用系統會不會崩潰,在什么情況下會崩潰,崩潰以后會怎么樣。
在Web應用系統性能測試過程中,常常將壓力測試和負載測試結合起來。在負載測試的基礎上,增大負載量,直到系統崩潰
實施性能測試需要注意
測試工具靈活使用
性能測試計劃的制定
由于數據庫安全性導致的Web應用系統安全性問題
用戶重要信息沒有經過加密而存于數據庫中
確認操作系統安全性 ,避免因操作系統漏洞導致Web應用程序的安全性問題
Web應用系統多采用登錄的方式,產品發布時提供默認的管理員用戶名和密碼
確保應用系統實際應用中可修改默認管理員帳號和密碼
用戶名和密碼設置要求(長度、大小寫敏感、復雜度)
允許錯誤登錄的次數
是否可以不登錄而直接瀏覽某個頁面
保證日志文件記錄了Web應用系統的主要操作過程,并可根據日志文件追查到系統使用情況;同時還需要保證日志文件本身的安全性、完整性,防止被入侵者刪除、獲得
當Web應用系統采用了SSL等加密技術之后,需要確認加密、解密后信息傳遞的正確性和完整性
需要確認Web應用系統是否有超時設置,如有,則保證在超時設置時間內,如果未操作Web應用系統,當再次訪問系統,需要重新登錄
了解安全漏洞信息,避免Web應用系統中出現的漏洞被入侵者利用;及時升級補丁程序,提高系統安全性
Web應用系統多采用分布式體系結構,服務器端通常包括Web服務器組件、數據庫服務器組件等。服務器還可能運行在不同的操作系統上,并且這些組件、操作系統等還可以有不同的配置方法,所以針對服務器的兼容性測試往往工作量較大
針對客戶端瀏覽器的配置和兼容性測試是必不可少的,并且占據了Web應用系統客戶端配置和兼容性測試的大部分時間
典型的應用服務器:
Web服務器:
通過MS IIS、BEA Weblogic、IBM Websphere、Tomcat、Sun J2EE Application、Apache等中間件、插件,提供Internet/Intranet Web服務,實現與眾多客戶之間的數據交換和共享
數據庫服務器
主要提供數據庫查詢、處理的平臺,通過Oracle、SQLServer、Informix、DB2、Sybase、MySQL等中大型的數據庫管理系統來構建
實時通信服務器
提供數據實時通信、消息傳遞等服務,如MSN、Yahoo message和ICQ等專用服務器