網路一堆資料,到底內容是做為什麼角色在測,都沒寫清楚,很容易混淆。
測試路徑: 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。換句話說,測試項目名稱一樣,可是因為測試對象不同,所用的手法與結果判別方法也不同。
從底層網上層走,約略整理測試範圍:
- Server 端 - 硬體主機:
- 基本上只討論 Compatibility test / Performance
- Compatibility test:
- 確認哪種 OS 可以正確 run 在此主機上
- Performance test: 跟基本的 PC / NB 測試一樣,各種 performance / benchmark 測項都可以拿來測試
- 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: 安全性測試
- 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~
沒有留言:
張貼留言