Performance Testing Thought Flow
Duy Văn | 08/04/2025
Bài viết này sinh ra là để chúng ta lướt qua tổng quan về performance test theo một hướng đi dễ tiếp cận hơn, đó chính là trả lời các câu hỏi. Vì bản chất mà nói, tôi là tester, bạn cũng là tester, chúng ta vốn đã có sẵn nền tảng kiến thức kiểm thử rồi, vậy thì hãy đừng đi từ “What”, mà hãy đi từ “Why”, đương nhiên, sẽ có một chút “What” ở đây vì dù sao cũng có những khái niệm chúng ta cần lướt qua
Performance Testing là gì?
Performance Testing là hoạt động kiểm thử có hệ thống nhằm tìm ra các vấn đề hiệu suất của sản phẩm khi chịu tải.
Về cơ bản nó là kiểm thử phì chức năng và hướng đến mô hình tải thực tế - tức là tải khi lên production và phản hồi của sản phẩm với tải đó
Performance Testing có những loại nào?
Mình sẽ đi vào cả 8 loại thường có nhất:
- Load Test: Xác định hiệu năng của hệ thống với tải người dùng xác định hoặc tối đa (trong mức thiết kế)
- Stress Test: Xác định hiệu năng của hệ thống với tải người dùng vượt quá mức thiết kế và quan sát các vấn đề phát sinh và cách hệ thống khôi phục
- Soak Test or Endurance Test: Xác định hiệu năng của hệ thống với tải người dùng trong một khoảng thời gian dài, chủ yếu nhắm đến các vấn đề liên quan đến bộ nhớ, tài nguyên và suy giảm hiệu suất
- Spike Test: Xác định hiệu năng của hệ thống với tải người dùng tăng đột ngột và giảm đột ngột
- Breakpoint Test: Xác định điểm thất bại của hệ thống hoặc điểm mà hiệu suất giảm quá mức chấp nhận được
- Step-up Test: Xác định hiệu năng của hệ thống tăng dần và duy trì trong một khoảng thời gian ở từng mức, mục tiêu là quan sát toàn bộ quá trình tăng tải ở các mức tải thay vì làm từng lần test riêng với load test
- Volume Test: Xác định hiệu năng của hệ thống với một lượng dữ liệu lớn, thường là để kiểm tra khả năng mở rộng của hệ thống
- Failover Test: Xác định khả năng khôi phục của hệ thống khi một hoặc nhiều thành phần bị lỗi, thường là để kiểm tra khả năng chịu lỗi của hệ thống
Chi tiết thì mình sẽ viết ở từng bài tương ứng
Performance Testing Tools
Các công cụ dùng để thực hiện performance test là các công cụ đi theo hướng vận hành GUI chứ không đi theo hướng framework code như Playwright, Selenium,… Nó là các tool như LoadRunner, Jmeter, Gatling, K6,…
Các tool này sẽ có 3 tác vụ chính:
- Cấu thành các script kiểm thử
- Chạy các script kiểm thử với tải
- Tổng hợp kết quả kiểm thử