Performance testing

[Performance testing] Phần 1: Tổng quan

Phong Do Phong Do · 09/04/2025 · 10 phút đọc

Xin chào, xin chào. Chúng mình là Better Bytes Academy đây!

Trong một survey gần nhất, performance testing là chủ đề được cộng đồng Playwright Việt Nam – học automation test từ chưa biết gì dành nhiều sự quan tâm. Do vậy, series tìm hiểu về performance testing chính thức được khởi động.

Trong bài này, chúng ta sẽ tìm hiểu các khái niệm cơ bản nhất trong performance testing:

  • Performance testing là gì?
  • Tại sao cần performance testing?
  • Các loại performance testing.
  • Các công cụ dùng trong performance testing.
  • Quy trình thực hiện performance testing.

Let’s goo

Bạn đã bao giờ tự hỏi tại sao một trang web đôi khi load chậm như rùa, hoặc một ứng dụng đột nhiên “đơ” khi có quá nhiều người dùng cùng lúc? Đó chính là lúc mà performance testing bước vào cuộc chơi, đóng vai trò như một “siêu anh hùng” âm thầm đảm bảo mọi thứ hoạt động mượt mà. Vậy performance testing là gì? Hãy cùng khám phá trong bài viết ngắn này nhé!

Performance testing là gì?

Nói một cách đơn giản, performance testing là quá trình kiểm tra hiệu suất của một hệ thống, ứng dụng hoặc website để xem nó hoạt động ra sao dưới các điều kiện khác nhau. Mục tiêu chính? Đảm bảo rằng hệ thống không chỉ chạy được mà còn chạy nhanh, ổn định và đáp ứng tốt nhu cầu người dùng. Đây là một phần không thể thiếu trong thế giới QA (Quality Assurance), giúp các tester đánh giá xem ứng dụng có “đủ sức” đối mặt với thực tế hay không.

Khác với functional testing – nơi bạn kiểm tra xem nút “Đăng nhập” có hoạt động không – performance testing tập trung vào câu hỏi: “Nút đó hoạt động nhanh đến đâu khi 1.000 người nhấn cùng lúc?” Nó giống như kiểm tra sức bền của một vận động viên trước ngày thi đấu lớn vậy!

Tại sao cần performance testing

Hãy tưởng tượng bạn đang mua sắm online trong một đợt sale lớn. Website bỗng nhiên crash, giỏ hàng không load nổi, và bạn đành bỏ cuộc. Kết quả? Công ty mất khách, mất doanh thu. Đó là lý do performance testing xuất hiện – để ngăn những “thảm họa” như vậy xảy ra.

Performance Testing mang lại vô vàn lợi ích, có thể kể đến như:

  • Nâng cao trải nghiệm người dùng (User Experience – UX): Không ai muốn dùng một ứng dụng “rùa bò” cả. Performance Testing giúp đảm bảo ứng dụng hoạt động nhanh chóng, mượt mà, mang lại trải nghiệm tốt nhất cho người dùng.
  • Phát hiện sớm “điểm yếu” (Performance Bottleneck): Performance Testing giúp “soi” ra những “lỗ hổng” trong hệ thống, những chỗ “thắt cổ chai” khiến ứng dụng bị chậm, hoạt động không hiệu quả. Từ đó, đội ngũ phát triển có thể “vá” lại những “lỗ hổng” này trước khi sản phẩm đến tay người dùng.
  • Đảm bảo khả năng mở rộng (Scalability): Khi số lượng người dùng tăng lên, Performance Testing giúp đảm bảo ứng dụng vẫn có thể “gồng gánh” được, không bị “quá tải”.
  • Tiết kiệm chi phí: Phát hiện và sửa lỗi Performance ở giai đoạn sớm sẽ giúp tiết kiệm chi phí hơn rất nhiều so với việc sửa lỗi khi sản phẩm đã “lên sóng” và gặp sự cố.
  • Tăng uy tín và độ tin cậy: Một ứng dụng hoạt động “ngon lành” sẽ tạo dựng được uy tín và độ tin cậy với người dùng, giúp doanh nghiệp “ăn nên làm ra”.

Ví dụ thực tế: Netflix hay Amazon luôn đầu tư mạnh vào performance testing để đảm bảo hàng triệu người xem phim hay mua sắm cùng lúc mà không gặp vấn đề gì.

Các loại performance testing

Performance testing không phải là một khái niệm chung chung, mà được chia thành nhiều loại tùy mục đích. Dưới đây là vài “ngôi sao” nổi bật:

  1. Load Testing: Kiểm tra xem hệ thống xử lý được bao nhiêu người dùng bình thường mà vẫn ổn. Ví dụ: Website chịu được 500 users cùng truy cập không?
  2. Stress Testing: Đẩy hệ thống đến giới hạn để xem nó “gục” ở đâu. Như kiểu: Điều gì xảy ra nếu 10.000 users bất ngờ ùa vào?
  3. Endurance Testing (hay Soak Testing):: Chạy hệ thống liên tục trong thời gian dài để kiểm tra độ bền. Hệ thống có “mệt” sau 24 giờ không ngừng nghỉ không?
  4. Spike Testing: Thử xem hệ thống phản ứng thế nào khi có đột biến người dùng (như lúc flash sale).
  5. Volume Testing: Kiểm tra hiệu năng khi xử lý lượng lớn dữ liệu.
  6. Scalability Testing: Đánh giá khả năng mở rộng của hệ thống khi tăng tải.

Mỗi loại đều có vai trò riêng, giống như các bài tập khác nhau trong phòng gym để rèn luyện toàn diện vậy.

Một ví dụ thực tế

Tưởng tượng bạn mở một quán cà phê mới. Bạn muốn biết quán của mình có thể phục vụ bao nhiêu khách hàng cùng lúc mà vẫn đảm bảo chất lượng phục vụ tốt, cà phê ngon, nhân viên nhanh nhẹn. Performance Testing cũng giống như việc bạn “thử nghiệm” quán cà phê của mình bằng cách:

  • Load Testing: Xem quán cà phê có thể phục vụ bao nhiêu khách hàng vào giờ cao điểm (ví dụ giờ ăn trưa) mà không bị “sập tiệm” (ứng dụng bị treo, chậm).
  • Stress Testing: Thử thách quán cà phê bằng cách “đổ” vào một lượng khách hàng “khủng” hơn bình thường để xem quán có “chịu đựng” được không, và điểm “yếu” của quán là gì (ví dụ thiếu nhân viên pha chế, máy pha cà phê không đủ công suất).
  • Endurance Testing: Xem quán cà phê có thể duy trì chất lượng phục vụ tốt trong một thời gian dài (ví dụ cả ngày) mà không bị “đuối sức”.

Công cụ dùng trong performance testing

Để làm performance testing, tester không thể “đấu tay không”. Họ cần đến những công cụ mạnh mẽ như:

  • JMeter: Miễn phí, dễ dùng, lý tưởng cho beginner và chuyên gia.
  • LoadRunner: “Ông lớn” trong ngành, thường được doanh nghiệp lớn tin dùng.
  • Gatling: Nhẹ, nhanh, phù hợp cho hệ thống phức tạp.

Những công cụ này giúp tạo virtual users, mô phỏng tải, và đưa ra báo cáo chi tiết để bạn biết hệ thống đang “khỏe” hay “yếu”.

Quy trình thực hiện performance testing

Quy trình cơ bản thường gồm 4 bước:

  1. Lập kế hoạch: Xác định mục tiêu (VD: response time dưới 2 giây) và kịch bản (VD: 1.000 users đăng nhập).
  2. Thiết kế: Tạo test scenarios dựa trên hành vi người dùng thực tế.
  3. Thực thi: Chạy thử nghiệm bằng công cụ và ghi lại kết quả.
  4. Phân tích: Xem báo cáo, tìm bottleneck, và đề xuất cải tiến.

Nghe có vẻ khô khan, nhưng thực tế thì rất thú vị – như chơi một trò chơi mà bạn vừa là người chơi vừa là người thiết kế!

Lời kết

Performance testing không chỉ là một công việc kỹ thuật, mà còn là nghệ thuật đảm bảo trải nghiệm người dùng luôn ở mức tuyệt vời. Từ những trang web nhỏ đến các hệ thống khổng lồ như Google hay Facebook, tất cả đều cần nó để “sống sót” trong thế giới số đầy cạnh tranh. Nếu bạn yêu thích công nghệ và muốn thử sức với một lĩnh vực vừa thách thức vừa hấp dẫn, hãy theo dõi series về performance test của Better Bytes Academy nhé ^^

Cảm ơn bạn, vì đã đọc bài. Chúc bạn một ngày mới vui vẻ, và làm việc hiệu quả <3

Phong Do
Tác giả
Phong Do