Performance testing là một thuật ngữ rất thường gặp trong ngành công nghệ thông tin và được đánh giá là một trong những kiểu test khó, dễ nhầm lẫn trong đánh giá. Tìm hiểu Performance testing là gì và những vấn đề xoay quanh phương pháp kiểm thử phần mềm này trong bài viết sau.
Performance testing là gì
Performance testing hay Kiểm thử hiệu năng là một phần mềm kiểm thử về sử dụng có ý nghĩa đảm bảo cho các ứng dụng hoặc phần mềm có thể hoạt động hiệu quả trong khoảng chức năng dự kiến của ứng dụng.
Trong một hệ thống phần mềm, tính năng – chức năng không phải là những điều duy nhất cần quan tâm mà các hiệu năng như thời gian phản hồi, tính tin cậy, việc tiêu hao – sử dụng tài nguyên cùng khả năng mở rộng cũng là những vấn đề cần được quan tâm.
Trọng tâm của việc kiểm thử hiệu năng tập trung vào 3 yếu tố:
- Thời gian phản hồi nhanh hay chậm của ứng dụng.
- Khả năng mở rộng hay khả năng tải số người dùng tối đa mà ứng dụng có thể xử lý được.
- Tính ổn định dưới các tải khác nhau như thế nào.
Tóm lại, kiểm thử hiệu năng – Performance testing không đơn thuần là tìm lỗi mà đây là việc làm cần thiết trong phát triển các giải pháp nhằm tối ưu hiệu năng của phần mềm. Đồng thời, hoạt động này cũng có ý nghĩa giúp hạn chế các tình huống khó lường khi bắt đầu triển khai ứng dụng trong thực tế.
Performance testing gồm những loại nào?
- Load test: Là cách giúp các định mức độ tắc nghẽn hiệu suất trước khi ứng dụng/phần mềm đó được phát hành ra ngoài thực tế.
- Stress test: Là phương pháp giúp xác định giới hạn của ứng dụng đó bằng cách thử nghiệm trên khối lượng công việc lớn để xem ứng dụng có thể xử lý lượng truy cập cao như thế nào.
- Capacity Test: Là phương pháp giúp xác định số lượng user, giao dịch hoặc lượt truy cập trên một đơn vị thời gian có thể đáp ứng các thỏa thuận hoặc hợp đồng đã được thiết lập giữa khách hàng và nhà cung cấp dịch vụ.
- Endurance test: Là phương pháp nhằm đảm bảo cho phần mềm/ứng dụng có thể xử lý một tải dự kiến ở trong một khoảng thời gian dài.
- Spike test: Là phương pháp nhằm kiểm tra phản ứng của phần mềm trước các thay đổi lớn hoặc đột ngột khi tải do người dùng sinh ra.
- Volume test: Là phương pháp nhằm kiểm tra hiệu suất của phần mềm, ứng dụng theo các khối lượng của các loại cơ sở dữ liệu.
- Scalability test: Là phương pháp giúp xác định khả năng mở rộng của ứng dụng, hiệu quả của nó khi mở rộng phần mềm nhằm hỗ trợ tăng tải người dùng, và việc lập kế hoạch để bổ sung năng lượng cho hệ thống.
- Reliability Test: Là phương pháp giúp xác minh khả năng thực hiện một hoạt động không có lỗi trong khoảng thời gian và môi trường xác định. Ngoài ra đây cũng là phương pháp giúp kiểm thử tính tin cậy của hệ thống.
Một số vấn đề về hiệu năng của hệ thống:
Ngoài yếu tố tốc độ chạy của ứng dụng thì còn một số yếu tố khác về hiệu năng chung cần được quan tâm là:
- Thời gian tải quá dài
- Thời gian phản hồi chậm
- Khả năng mở rộng kém
- Tình trạng tắc nghẽn cổ chai hay những vật cản trong hệ thống khiến hiệu năng của toàn bộ hệ thống bị suy giảm.
Quy trình thực hiện Performance testing
Quy trình kiểm thử hiệu năng cơ bản sẽ diễn ra với các bước sau:
- Bước 1: Xác định môi trường kiểm thử
Môi trường kiểm thử bao gồm các yếu tố: Môi trường kiểm thử vật lý cùng môi trường sản xuất cũng như các công cụ kiểm tra có sẵn. Ngoài ra, yếu tố cấu hình của phần cứng, phần mềm và internet dùng cho quá trình kiểm thử cũng được quan tâm. Đây là tất cả các yếu tố quyết định quá trình kiểm thử hiệu quả nhất và xác định được những khó khăn sẽ gặp phải trong quá trình kiểm thử hiệu năng sản phẩm.
- Bước 2: Xác định các tiêu chí về tính chấp nhận hiệu năng có thể chấp nhận được của hệ thống.
Các yếu tố cần quan tâm gồm có: Các mục tiêu, ràng buộc cho thông lượng, yếu tố phân bổ nguồn lực và thời gian phản hồi. Tại giai đoạn này, người tester cần phải xác định được những tiêu chí cùng mục tiêu về hiệu năng tối thiểu cần đạt của hệ thống. Điều này có ý nghĩa quan trọng trong công đoạn thiết lập các tiêu chí về hiệu năng.
- Bước 3: Lập kế hoạch, thiết kế kiểm thử hiệu năng
Ở công đoạn này, ta cần phải xác định được các cách sử dụng ở những khả năng khác nhau giữa các người dùng cuối đồng thời xác định những tình huống chính nhằm giúp cho việc kiểm tra toàn bộ các trường hợp sử dụng có thể. Đây là quá trình cần thiết nhằm mô phỏng lại một loạt người dùng cuối cũng như kế hoạch về dữ liệu thử nghiệm hiệu xuất, sau cùng là nhằm phác thảo lại các số liệu khi thu thập.
- Bước 4: Cài đặt môi trường cho kiểm thử
Trước khi tiến hành Performance testing, cần phải sẵn sàng về việc cài đặt môi trường, tài nguyên và các công cụ cần thiết.
- Bước 5: Tiến hành test design
Đây là quá trình tạo các trường hợp test để kiểm thử hiệu năng theo test design.
- Bước 6: Thực hiện test
Ngoài thực thi thì cần phải theo dõi kết quả của quá trình thực hiện test.
- Bước 7: Phân tích, điều chỉnh và kiểm tra lại
Đây là khâu quan trọng nhằm tinh chỉnh, kiểm tra lại xem có cần điều chỉnh về hiệu suất (tăng tốc độ xử lý CPU) hay không.
Một số công cụ dùng trong Performance testing
Một số công cụ phổ biến nhất được dùng cho quá trình kiểm thử hiệu năng được lựa chọn dựa trên các yếu tố từ chi phí, trình duyệt, phương thức hỗ trợ, ngôn ngữ phát triển phần mềm và phần cứng:
- Jmeter: Là phần mềm dùng để kiểm thử tải cho web và app máy chủ.
- LoadRunner: Là một công cụ dùng để tìm ra các lỗi trong khả năng thực thi, tìm ra nguyên nhân làm cho phần mềm chạy chậm hoặc sai.
- Load View – testing: Dùng để thiết lập đường cơ sở thời gian phản hồi dựa vào số người dùng tải xác định và tìm ra điểm tắc nghẽn hiệu suất nếu lượng người dùng tăng lên. Đồng thời, công cụ này cho phép xác định giới hạn trên của hệ thống nhằm thiết lập kế hoạch về hiệu năng cho tương lai.
- LoadStorm: Dùng để kiểm tra hiệu năng của app bằng dựa trên lượng traffic và user.
Trên đây là những thông tin xoay quanh Performance testing là gì. Hy vọng bạn đã có cho mình những thông tin hữu ích!