⏲ Một phần mềm không chỉ cần đúng chức năng, mà còn cần đáp ứng tốt khi có nhiều người dùng, nhiều giao dịch hoặc lượng dữ liệu lớn. Hệ thống phản hồi chậm, quá tải hoặc không ổn định đều có thể ảnh hưởng trực tiếp đến trải nghiệm người dùng và hoạt động của doanh nghiệp.
Kiểm thử hiệu năng (Performance Testing) giúp đánh giá khả năng đáp ứng, độ ổn định và khả năng chịu tải của hệ thống trong những điều kiện sử dụng khác nhau. Đây là một lĩnh vực mà Tester nên biết, đặc biệt khi làm việc với các hệ thống web có nhiều người dùng, API, microservices hoặc yêu cầu cao về hiệu năng.
Tester không nhất thiết phải trở thành chuyên gia kiểm thử hiệu năng, nhưng có kiến thức và khả năng thực hành kiểm thử hiệu năng sẽ giúp bạn có thêm một kỹ năng quan trọng để đánh giá hệ thống toàn diện hơn, phát hiện các vấn đề về hiệu năng sớm hơn và trao đổi hiệu quả hơn với Developer, DevOps và các thành viên kỹ thuật khác trong quá trình phát triển phần mềm.
Khóa học Kiểm thử hiệu năng tại Testing VN
Từ nhu cầu thực tế đó, Testing VN đã thiết kế khóa học Kiểm thử hiệu năng với JMeter và k6, tập trung vào việc giúp bạn hiểu cách kiểm thử hiệu năng và có thể trực tiếp xây dựng, thực hiện và phân tích các kịch bản kiểm thử.
Học viên được thực hành với hai công cụ phổ biến và miễn phí là Apache JMeter và Grafana k6, từ việc xây dựng workload (lượng tải), xử lý dữ liệu kiểm thử đến thực thi và phân tích kết quả để báo cáo cho các bên liên quan.
Khóa học hướng đến kỹ năng thực hành, giúp học viên không chỉ biết sử dụng công cụ mà còn hiểu cách áp dụng kiểm thử hiệu năng vào công việc thực tế.
Nội dung khóa học
Khóa học tập trung vào kiểm thử hiệu năng thực tế và hướng dẫn học viên sử dụng hai công cụ phổ biến, miễn phí là Apache JMeter và Grafana k6.
1. Kiểm thử hiệu năng với Apache JMeter
- Làm quen với JMeter và cấu trúc một Test Plan.
- Xây dựng kịch bản kiểm thử với Thread Group, HTTP Request, Controllers, Timers và Assertions.
- Thiết lập các loại workload khác nhau để mô phỏng số lượng người dùng và hành vi sử dụng hệ thống.
- Sử dụng Variables, Parameters và CSV Data Set để tạo dữ liệu kiểm thử linh hoạt.
- Thực hiện correlation và xử lý dữ liệu động trong kịch bản kiểm thử.
- Thu thập, đọc và phân tích các chỉ số như response time, throughput và error rate, cũng như kết quả của từng request.
- Thực hành xây dựng và chạy các kịch bản kiểm thử hiệu năng từ cơ bản đến nâng cao.
JMeter cung cấp nhiều thành phần để xây dựng Test Plan như Thread Group, Sampler, Controller, Timer, Assertion và Listener, giúp Tester xây dựng và thực thi các kịch bản kiểm thử hiệu năng.
2. Kiểm thử hiệu năng với Grafana k6
- Làm quen với k6 và cách xây dựng test script bằng JavaScript.
- Kiểm thử API, microservices và các hệ thống web theo hướng tests as code.
- Sử dụng Executors để xây dựng các workload khác nhau, chẳng hạn như shared-iterations, ramping-vus, constant-arrival-rate và ramping-arrival-rate.
- Xử lý parameterization và correlation để mô phỏng dữ liệu và hành vi người dùng thực tế.
- Sử dụng Checks, Thresholds, Tags và Groups để kiểm tra, tổ chức và phân tích kết quả kiểm thử.
- Thiết lập Thresholds làm tiêu chí pass/fail cho các chỉ số hiệu năng như response time và error rate.
- Tổ chức test script theo hướng có thể tái sử dụng, quản lý bằng source control và tích hợp vào CI/CD.
k6 sử dụng JavaScript để xây dựng test script và cung cấp nhiều cơ chế để thiết kế workload, kiểm tra kết quả và tổ chức dữ liệu kiểm thử, phù hợp với cách tiếp cận performance testing theo hướng code và tự động hóa.
3. k6 Studio
k6 Studio cung cấp giao diện trực quan giúp học viên dễ dàng bắt đầu xây dựng k6 test script từ các thao tác của người dùng trên trình duyệt.
Trong khóa học, học viên sẽ:
- Record user flow trực tiếp từ trình duyệt.
- Sinh HAR file từ phiên ghi nhận.
- Tạo k6 test script từ recording thay vì phải viết toàn bộ script từ đầu.
- Thực hành xử lý correlation, parameterization và dynamic data trong quá trình tạo script.
- Làm quen với việc tạo HTTP test và browser test từ recording.
- Kiểm tra và debug test script bằng giao diện trực quan.
k6 Studio là ứng dụng desktop mã nguồn mở giúp ghi lại user flow và tạo k6 test script từ recording. Công cụ cũng hỗ trợ tạo HTTP test và browser test, đồng thời cung cấp giao diện để kiểm tra và debug script.
Đối tượng nên tham gia
Khóa học không yêu cầu đầu vào bắt buộc. Tuy nhiên, để tiếp thu và thực hành hiệu quả, học viên nên có kiến thức cơ bản về kiểm thử phần mềm, HTTP, API, và JSON.
Khóa học phù hợp với:
- Tester muốn bắt đầu với kiểm thử hiệu năng và xây dựng kỹ năng thực hành với JMeter và k6.
- Tester có kinh nghiệm muốn nâng cao kỹ năng xây dựng workload, correlation, parameterization và phân tích kết quả kiểm thử hiệu năng.
- Automation Tester / Technical Tester muốn mở rộng sang performance testing và làm quen với cách viết test bằng code.
- Developer / DevOps / SRE cần hiểu và thực hành kiểm thử tải đối với API, service và hệ thống web.
- QA Lead / Test Lead / Engineering Leader muốn hiểu cách xây dựng chiến lược và đánh giá kết quả kiểm thử hiệu năng.
Kết quả sau khóa học
Sau khi hoàn thành khóa học, học viên có thể:
- Hiểu các khái niệm và quy trình cơ bản của kiểm thử hiệu năng.
- Xây dựng và thực hiện các kịch bản kiểm thử hiệu năng cho API và hệ thống web.
- Sử dụng JMeter để xây dựng, chạy và phân tích các kịch bản kiểm thử hiệu năng.
- Sử dụng k6 để viết và thực thi performance test bằng JavaScript.
- Xây dựng workload phù hợp với mục tiêu kiểm thử và điều kiện thực tế của hệ thống.
- Xử lý test data, correlation và dynamic data trong kịch bản kiểm thử.
- Đọc và phân tích các chỉ số quan trọng như response time, throughput và error rate.
- Thiết lập tiêu chí đánh giá kết quả thông qua Assertions, Checks và Thresholds.
- Biết cách sử dụng kết quả kiểm thử để đánh giá khả năng đáp ứng của hệ thống và xác định các vấn đề về hiệu năng.
- Có nền tảng để tiếp tục tìm hiểu performance testing automation và CI/CD.
Lưu ý: Khóa học được thiết kế để học viên thực hành trực tiếp trên máy tính. Học viên cần chuẩn bị máy tính cá nhân trong suốt quá trình học. Các bạn sẽ được cung cấp phần mềm và môi trường thực hành để tự dựng trên máy tính cá nhân.


