達暉資訊 - 2014 教育訓練 - 如何進行負載測試
DESCRIPTION
如何進行負載測試TRANSCRIPT
2014 教育訓練系列課程 如何進⾏行負載測試
!達暉資訊 Allen Hsieh
在過去的⼯工作經驗中,你做過或聽過哪些軟體測試?
效能測試 Performance Testing
負載測試 Load Testing
壓力測試 Stress Testing
功能測試
Functional Testing
非功能測試 Non-Functional Testing
安全測試
Security Testing
相容性測試 Compatibility Testing
復原測試 Recover Testing
備源測試 Recover Testing
擴充性測試 Scalability Testing
可用性測試
Availability Testing
單元測試 Unit Testing
整合性測試 Integration Testing
使用者接受測試
User Acceptance Testing
效能測試 Performance Testing
負載測試 Load Testing
壓⼒力測試 Stress Testing
這三種測試有什麼差異?
效能測試 Performance Testing
⺫⽬目的:
1. 消除效能瓶頸,讓系統達到允許的回應時間。
2. 透過謹慎控制的量測,從不同⾓角度取得系統效
能數據。
負載測試 Load Testing
⺫⽬目的:
1. 透過「增加」或「持續」系統負擔,來強迫系
統暴露潛在的問題。
2. 「驗證」並「建⽴立」系統效能數據標準(容量、
壽命、耐⼒力)。
壓⼒力測試 Stress Testing
⺫⽬目的:
1. 透過「超出負荷」或「移除資源」,來嘗試使
系統失效,並觀察系統如何反應失效狀況。
2. 排除狀況或復原資源後,系統是否能正常復原。
效能測試 Performance Testing
負載測試 Load Testing
壓⼒力測試 Stress Testing
應該先做哪⼀一個測試 理由為何?
計劃 Planning
準備 Preparation
執⾏行 Execution
教調 Tuning
提出報告建議事項
Test Team
Develop Team
What is JMeter• A load and performance testing tool from
Apache. • Open source software. • 100% pure Java desktop application. • The Protocols supported by JMeter are:
• HTTP, HTTPS • SOAP • FTP • JDBC • LDAP • JMS • SMTP(S), POP3(S) and IMAP(S) • TCP
Live Demo
負載測試 Load Testing
⺫⽬目的:
1. 透過「增加」或「持續」系統負擔,來強迫系統暴露潛在的
問題。
2. 「驗證」並「建⽴立」系統效能數據標準(容量、壽命、耐
⼒力)。
範例:
1. 模擬⼤大量的使⽤用者存取系統。 2. 資料庫模擬⼤大量資料查詢或存取。 3. 上傳⼤大量或⼤大容量檔案。
效能測試 Performance Testing
⺫⽬目的:
1. 消除效能瓶頸,讓系統達到允許的回應時間。
2. 透過謹慎控制的量測,從不同⾓角度取得系統效能數據。
範例:
1. 透過 Profiler ⼯工具查出程式效能瓶頸。 2. 透過資料庫監控與教調⼯工具來優化sql指令。 3. 透過OS 指令或程式來監控硬體資源(like CPU, RAM,
swap, I/O) 4. 透過軟體或指令進⾏行網路封包探測或狀況監控。
壓⼒力測試 Stress Testing
⺫⽬目的:
1. 透過「超出負荷」或「移除資源」,來嘗試使系統失效,並
觀察系統如何反應失效狀況。
2. 排除狀況或復原資源後,系統是否能正常復原。
範例:
1. 加倍線上使⽤用者數量。 2. 隨機關閉網路設備。 3. 關閉資料庫後再開啟。 4. 執⾏行耗盡資源的程序。 5. 在系統執⾏行時重建硬碟陣列。