Performance Testing là gì

0
41
Performance Testing là gì
Performance Testing là gì

Trong thế giới công nghệ phần mềm như hiện nay, 1 sản phẩm được tạo ra trên thế giới này đều không phải chỉ được dùng bởi 1-2 người dùng mà còn sẽ là của 100,1000,1 vạn người dùng. Theo nhu cầu đó, phương pháp Testing căn bản sẽ không thể bao quát hết những yếu tố cần test cho việc chịu tải của 1 hệ thóng. Vì vậy, Performance Testing được tạo ra.

I. Performance Testing là gì?

Performance Testing là một phương pháp testing được dùng để kiểm định tốc độ phản hồi, độ ổn định, độ mở rộng của một hệ thống trong một sức chịu tải nhất định.

Mục tiêu chính của Performance Testing chính là:

  • Đảm bảo cho hệ thống có thể hoạt động một cách ổn định trong một chu trình chịu tải nhất định. (Ví dụ: 500 Concurrent User* trong một giờ chạy, hệ thống vẫn ổn định, CPU/Memory/Database không vượt quá mức quy đinh, thời gian phản hồi vãn trong con số đã định từ đầu)
  • Tìm ra được “điểm tắt nghẽn” (bottle neck) mà hệ thống đang mắc phải.
  • Hạn chế được số lần downtime có thể xảy ra khi hệ thống đã onlaunch cho khách hàng sử dụng

II. Các loại của hình của Performance Testing

Vì performance testing khá rộng so với những gì mà 1 phương pháp test có thể bao hàm hết, nên nó được tạo ra cùng với nhiều loại hình khác nhau:

  • Load Testing: Mục tiêu của load test đơn giản vẫn là đảm bảo cho hệ thống có thể chạy được với một sức chịu tải nhất đinh (low to peak), và đồng thời là có thể dò xét các bottleneck mà hệ thống có thể mắc phải trước khia on launch ra thị trường sử dụng
  • Stress Testing: Nếu load test là việc ta chạy dưới giới hạn chịu tải của hệ thống, thì stress test sẽ là phương pháp test vượt qua mức hạn định đó nhầm mục tiêu đánh giá rằng hệ thống sẽ hoạt động như thế nào khi ở tình trạng quá tải.
  • Volumne Test: Nếu hệ thống bao gồm FE. BE thì có một hình thức sẽ được dùng để chuyên đo cho Database, với tên Volumne Test, phương pháp test này sẽ focus nhiều vào lượng data được “boom” vào database và xem hệ thống sẽ hoạt động như thế nào trong tình trạng trên.

Và cùng với nhiều phương pháp khác để giúp cân đo đong đếm được đa dạng sức chịu tải của một hệ thống.

III. Các testing tool dùng để hỗ trợ trong Performance Testing

Khác với testing bình thường 1 chút là chúng ta sẽ không hoạt động chính trên giao diện hay hệ thống mà sẽ hoạt động thông qua các tool hỗ trợ.

Các tool này có công việc sẽ record lại các request của hệ thống theo 1 sceanrio nhất đinh (do mình tạo ra) và thực thi lại các request đó theo 1 sức chịu tải nhất đinh cho mình điều chỉnh. Và đương nhiên chúng sẽ thường đi kèm các report để chúng ta theo dõi dễ hàng

Lưu ý rằng: Report không phải thứ duy nhất chúng ta cần theo dõi, mà còn phải là các thông số trong hệ thống bao gồm CPU/Memory/Database mới có thể đưa ra được kết luận cuối cùng tốt nhất.

Sau đây là 2 trong những công cụ dùng để hỗ trợ trong Perfomance Testing tốt nhất mà DTH Share đã từng sử dụng qua:

JMeter

Apache JMeter

JMeter là một công cụ đắc lực trong Performance Testing, và hoàn toàn là một open source tool 100%. Được sử dụng phổ biến bởi nhiều performance tester với ngôn ngữ được sử dụng sẽ là Groovy.

HP LoadRunner

HP LoadRunner là cũng là một công cụ dùng cho Performance Testing, nhưng khác với JMeter, ngôn ngữ chính được dùng ở HP LoadRunner sẽ là C. Với một thế lực hùng mạnh là MicroFocus phía sau, nên HP LoadRunner khá chuộn được người dùng bởi UI/UX thân thiện, và hệ thống support hùng mạnh

 

Và các thông tin chính là sơ bộ nhất cho các bạn đọc về Perfomance Testing, mong là bài viết này đã có thể giúp các bạn có những kiến thức mở đầu cho công cuộc tìm hiểu Performance Testing.