Performance Testing
Giảng viên hướng dẫn : Nguyễn Công Hoan
Sinh viên : 10520278 Nguyễn Hồng Phúc
10520349 Nguyễn Duy Vũ
Tổng quan
Định nghĩa kiểm thử hiệu năng
Tại sao phải kiểm thử hiệu năng ?
Các thành phần kiểm thử hiệu năng
Các loại kiểm thử hiệu năng
Quy trình thực hiện kiểm thử hiệu năng
•
Kiểm thử phi chức năng.
•
Kiểm tra hiệu quả thực thi của hệ thống
–
khả năng đáp ứng
–
độ tin cậy
–
tính ổn định
–
khả năng mở rộng
Kiểm thử hiệu năng
Ảnh hưởng của hiệu năng đến e-commerce:
Tổn thất doanh thu
Mất khách hàng
Giảm hiệu suất hoạt động
Tổn hại đến uy tín nhãn hiệu công ty
Tại sao phải kiểm thử hiệu năng ?
Hệ thống mới
Tăng lượng người dùng
Thêm chức năng mới
Nâng cấp phần mềm
Nâng cấp phần cứng
Nâng cấp /Thay đổi cơ sở hạ tầng
Thời gian đáp ứng chậm
Khi nào cần kiểm thử hiệu năng ?
Kỳ vọng của người dùng
– Trải nghiệm
– Tâm lý
– Cách sử dụng
Ràng buộc của hệ thống
– Phần cứng
– Mạng
– Phần mềm
Chi phí
– Tốc độ là quan trọng nhất
Tốc độ thực thi
Quan tâm tới số lượng người dùng
– trước khi hệ thống “chậm”
– trước khi hệ thống “dừng”
– có thể giữ vững
– mong đợi hiện tại
– mong dợi tương lai sau khi nâng cấp
Số lượng dữ liệu có thể chứa
– Sức chứa database
– Sức chứa file sever
– Sức chứa của back-up Server
– Tốc độ tăng trưởng dữ liệu
Khả năng mở rộng
Quan tâm đến các trường hợp
– số lượng người dùng hơn dự kiến
– tất cả người dùng đều thực hiện tác vụ như nhau
– khi người dùng bị mất kết nối
– DDoS attack
– máy chủ server sụp
– số lượng giao dịch quá lớn
Tính ổn định
Các loại kiểm thử hiệu năng
•
Load Testing
•
Stress Testing
•
Soak/Endurance Testing
•
Volume/Spike Testing
•
Scalability Testing
•
Configuration Testing
•
Load Testing
•
Stress Testing
•
Soak/Endurance Testing
•
Volume/Spike Testing
•
Scalability Testing
•
Configuration Testing
Kiểm tra hệ thống thực thi trong điều kiện nhiều người
dùng truy xuất đồng thời dưới nhiều điều kiện khác
nhau.
- Nhiều người cùng truy cập
- Nhiều giao dịch thực hiện cùng lúc
- Xử lý file dung lượng lớn
-
Xử lý cùng lúc nhiều file…
Mục đích kiểm tra hiệu năng, mức độ tin cậy và khả
năng mở rộng của hệ thống
Giúp phát hiện các vấn đề về hiệu năng của hệ thống
Load test
Quá tải (Stress test)
Chịu đựng (Endurance/Soak test)
Tăng đột ngột (Spike test)
Cấu hình (Configuration/Volume test)
Các biến thể của kiểm thử tải
Kiểm tra dựa trên việc tăng liên tục mức
độ chịu tải cho đến khi hệ thống ngưng
hoạt động
Mục tiêu xác định mức tới hạn của hệ
thống có thể đáp ứng
Stress Test
200 simulated users
550 simulated users
1000 simulated users
Kiểm tra dựa trên việc tăng đột ngột
số lượng người dùng hay tải trong
thời gian ngắn
Mục tiêu xác định hành vi của hệ
thống
Spike test
Một cuộc thử nghiệm kéo dài với tải
trọng dự kiến
Nhằm đảm bảo băng thông và thời
gian đáp ứng sau một khoảng thời
gian hoạt động dài là chấp nhận
được
Redurance test
Thử nghiệm với kích thước / khối
lượng dữ liệu khác nhau
Số lượng file xử lý, số dòng, kích thước csdl …
Thử nghiệm trên các tham số cấu
hình khác nhau
Số kết nối, số luồng, tần suất thu gom rác …
Volume & Configuration test
Biểu đồ các loại kiểm thử hiệu năng
Các thước đo hiệu năng
Application / Software Performance
Metrics
System / Resource Performance
Monitors
Percentage Error Percentage CPU Utilization
Average Transaction Response
Time (sec)
Percentage Network Bandwidth
Utilization
Concurrency Average Wait Queue Size
Hits / sec Connection Pools
Page Views /sec Disk Transfers I/O
Ramp Up Rate Free Memory (Mbytes)
Throughput (Bytes / sec) Page I/O
Transactions /sec Processes
Quy trình kiểm thử hiệu năng
Đánh giá
hệ thống
Thực hiện :
Dự đoán số lượng người dùng
Dự đoán hạn chế của hệ thống
Định nghĩa SLA
Quy trình kiểm thử hiệu năng
Đánh giá
hệ thống
Soạn thảo
ngữ cảnh
và sript test
Quy trình kiểm thử hiệu năng
Đánh giá
hệ thống
Thực thi
test hiệu
năng
Soạn thảo
ngữ cảnh
và sript test
Performance
test
Thực hiện kiểm thử ban đầu và
kết quả làm số liệu so sánh
cho những lần kiểm thử sau
Baseline
Load
Stress
Duration
Quy trình kiểm thử hiệu năng
Đánh giá
hệ thống
Thực thi
test hiệu
năng
Đánh giá
Soạn thảo
ngữ cảnh
và sript test
Tạo ra tiêu
chuẩn mới
SLA chấp nhận ?
Không /
Hiệu chỉnh
Có
Công cụ
-
Firebug ( />-
Loadimpact ( />-
RadView's WebLoad
( />-
…
Tham khảo
- How Website Performance impacts shopper
behavior ( />-
/>ate-page-load-performance-testing-with-firebug-
and-selenium/
-
/>fographics/web-performance-and-
ecommerce/impact-of-1-second-delay/
-
…
Mục tiêu của kiểm thử hiệu năng
– Đánh giá rủi ro
– Xác định khả năng của hệ thống
– Nâng cao hiệu suất hệ thống
– Xác định tài liệu hệ thống
Kết luận