搜尋此網誌

2011年2月11日

網頁、網站、主機、瀏覽器測試 - Browser / Web site / Web server test

目的: 出發點是要測試手機或手持裝置的瀏覽器,想定義出測試的範圍,意外發覺很多文章,可是都沒有把界線和對象定義清楚,所以想把關於測試的範圍定義出來。

網路一堆資料,到底內容是做為什麼角色在測,都沒寫清楚,很容易混淆。

測試路徑: Web server (HW) -> OS -> Web server (SW) -> Web site -> Browser
(橘色: Server 端 / 藍色: Client 端)

其實老話一句,坐什麼位置裝什麼腦袋。你要測 Web Server,那到底是要測硬體主機,還是要測軟體 Web Server,先搞清楚在什麼位置,再決定要進行什麼測試、以及如何定義 KPI。當然測到最後,什麼都會一起測到,這就是所謂的系統整合測試 - SIT (System Integrated Test),就算是 SIT 黑盒子測試,總還是會有一個"測試目的"和"測試對象"。所以搞清楚在哪個位置是很重要的。



為什麼要釐清測試的角色?舉一個例子,當有一個購物網站,第101個人無法連線,那問題出在哪邊? 是主機 OS 的 QoS 限制、還是 Web Server Session 數量限制、還是 Web Site 程式為了保障存取速度而採取的限制、還是 Browser 無法提供此站的連線? 這變成 Debug path 上,很重要的策略之一。

主機,提供多個 Web server; Web server 提供多個 Web site 和 Web service; Web site 提供特定服務讓多個人存取; Browser 服務一個人去存取多個 Web site / Web server。

先來看測試分類表: (由底層往上看,類似網路協定 Layer 概念)

測試分類表


  • Debug path 可以從底層往上走,每一層都有各自的測試項目,為簡化內容,其通用項目為以下四種,客官可以依據測試理論與經驗,增加相對應的 group
    • Compatibility test
    • Functionality test
    • Performance test
    • Security test
  • 底下會約略整理 test guide
  • 測試時一定會互為調用,所以只要搞清楚自己站在什麼角色,想測什麼東西,這樣比較容易思考 test coverage。換句話說,測試項目名稱一樣,可是因為測試對象不同,所用的手法與結果判別方法也不同。

從底層網上層走,約略整理測試範圍:
  1. Server 端 - 硬體主機:
    • 基本上只討論 Compatibility test / Performance
    • Compatibility test: 
      • 確認哪種 OS 可以正確 run 在此主機上
    • Performance test: 跟基本的 PC / NB 測試一樣,各種 performance / benchmark 測項都可以拿來測試
  2. Server 端 - Web server:
    • Web server 也跟 OS 是什麼有關,四大 test group 都要涵蓋
    • 網路是很大的影響因素,應該將此變因放入設計路徑
    • Compatibility test:
      • 哪些 Web server 可以裝在哪些 OS 上
      • Web service 相容性
      • Web site / package 相容性
    • Functionality test:
      • Footprint
      • Site alive
      • Web server 軟體功能 (與 Web service 無關者)
      • 相容與支援哪些 Web service
      • 開發環境
    • Performance test:
      • 各種 KPI 皆可定義到此 group (效能 & 穩定)
      • 支援 Site 數量、連線能力 (負載)、Session 處理能力、連線速度、穩定度、服務能、壓力測試、反應時間、斷線率、bottleneck factor、系統資源占用等 (此項目會跟 Web site 的 performance test 有很大的重疊)
    • Security test: 安全性測試
  3. Server 端 - Web site:
    • 網路是很大的影響因素,應該將此變因放入設計路徑
    • Compatibility test: 
      • 哪些 Web site 可以運行在哪些 Web server 上
      • Web service 相容性 / 語法相容性 (ex. W3C / Flash / ...) 
      • Browser 相容性
      • Functionality test:
        • Footprint
        • Site analysis
        • Site alive
        • Web site 功能 (與 Web service 無關者)
        • 相容與支援哪些 Web service
        • Site travel
      • Performance test:
        • 各種 KPI 皆可定義到此 group (效能 & 穩定)
        • 連線能力 (負載)、Session 處理能力、連線速度、穩定度、服務能力、壓力測試、反應時間、斷線率、bottleneck factor、Rating、系統資源占用、服務的效能、Popularity 等 (此項目會跟 Web server 的 performance test 有很大的重疊)
      • Security test: 安全性測試
    • Client 端 - Browser:
      • Compatibility test: 
        • 跟 Web site 的相容性
        • Web service 相容性 / 語法相容性 (ex. W3C / Flash / ...)
      • Functionality test:
        • Footprint
        • Browser 功能 (與 Web service 無關者)
        • 相容與支援哪些 Web service
      • Performance test:
        • 各種 KPI 皆可定義到此 group (效能 & 穩定)
        • 連線能力、連線速度、穩定度、壓力測試、反應時間、bottleneck factor、系統資源占用、特定服務效能 (CSS / Flash / HTML / Dynamic HTML / Javascript / ...) 等 (此項目會跟 Web server 的 performance test 有很大的重疊)
      • Security test: 安全性測試

    每一項都有很多資料或網頁可供測試,就請各位看官各自努力了...
    蒐集別人的測試 report 也有很大的幫助D~

    沒有留言:

    張貼留言