Performance testing là gì

  -  

Là một quy tình kiểm thử phần mềm, được dùng để kiểm thử tốc độ, phản ứng của hệ thống, tính ổn định, độ tin cậy của báo cáo, khả năng mở rộng và chịu tải của toàn bộ hệ thống. Mục đích chính của kiểm thử hiệu năng là để xác định & loại bỏ những điểm tắc nghẽn trong hiệu năng của ứng dụng phần mềm. Là một phần trong kĩ thuật kiểm thử hiệu suất hay còn gọi là kiểm thử hoàn hảo.

Bạn đang xem: Performance testing là gì

Kiểm thử hiệu năng tập trung vào kiểm tra 3 yếu tố cơ bản của chương trình phần mềm:

Speed (tốc độ): Xác định tốc độ phản ứng của ứng dụng là nhanh hay chậm.Scalability (khả năng chịu tải): Số lượng người dùng lớn nhất mà hệ thống có thể chịu tải, hoạt động bình thường.Stability (tính ổn định): Nhằm xác định ứng dụng có hoạt động bình thường ở các môi trường khác nhau hay không (DEV/ TEST/ LIVE – DEV/ STABLE/ PRODUCTION).

2. Tại sao kiểm thử hiệu năng là cần thiết ?

Những tính năng & hàm cần được đảm bảo chạy ổn định ở tất cả các môi trường khác nhau. Lỗi có thể không xuất hiện ở môi trường DEV/TEST vì số lượng data ít, nhưng với môi trường LIVE khi dữ liệu và lượng người dùng tương tác ứng dụng nhiều trong một thời gian ngắn dẫn đến hiện tượng thắt nút cổ chai, treo hệ thống, thời gian xử lý tác vụ quá lâu (VD: Chức năng xuất báo cáo người dùng chạy hờn 1giờ )… ect đều ảnh hưởng rất lớn đến trải nghiệm người dùng.

Kiểm thử hiệu năng là số liệu để báo cáo cho chủ sở hữu ứng dụng nắm được tốc độ xử lí, khả năng chịu tải và tính ổn định của ứng dụng, các ngưỡng ghi chú để có thể sử dụng ứng dụng được tối ưu và ổn định. Hay để xem xét đưa ra quyết định cải tiến cho ứng dụng trước khi phát hành sản phẩm ra cho người dùng cuối. Nếu thiếu kiểm thử hiệu năng dễ dẫn ứng dụng hoạt động thiếu tính đồng bộ ở các trình duyệt, phiên bản khác nhau.

Kiểm thử hiệu năng nhằm xác định tốc độ xử lý, khả năng chịu tải và tính ổn định của ứng dụng so với yêu cầu, chuỗi công việc và các quá trình kiểm thử tiếp theo.

Kiểm thử hiệu năng hoạt động của các ứng dụng (IOS/ Android …) khi gửi lên các gian hàng AppleStore/ PlayStore hay Amazon nên tiến hành trước khi các gian hàng review ứng dụng của bạn. Một ứng dụng được gửi và reject nhiều lần sẽ ảnh hưởng đến độ uy tín của tài khoản của bạn. Hoặc nếu phát hành được trên các gian hàng khả năng sẽ bị đánh giá sao thấp, tác động xấu đến mục tiêu kinh doanh của ứng dụng.

Kiểm thử hiệu năng còn phụ thuộc vào thiết bị kiểm thử, trình duyệt, phiên bản thiết bị.

Xem thêm: Đặt Các Tùy Chọn Phát Cho Video Trong Slide Trình Chiếu, Hướng Dẫn Phát Tự Động Video Trong Powerpoint

Đối với các ứng dụng, phần mềm đòi hỏi tính chính xác cao, các thiết bị không gian, y tế, việc đảm bảo ứng dụng hoạt động chính xác và ổn định trong thời gian dài của vòng đời sản phẩm.

Một ví dụ cho tính cấp thiết của kiểm thử hiệu năng: Theo như thống kê có tới 59% trong tổng số 500 công ty tham gia trải nghiệm cho thấy có trung bình 1,6 giờ downtime (sập hệ thống)/ tuần. Một công ty có tối thiểu 10.000 nhân viên cùng làm việc trên 1 hệ thống, trung bình phải trả $56/giờ, một tuần con số tổn thất lên đến $896.000 và tổn thất năm có thể lên đến $46.000.000.

Với 5 phút sập hệ thống, ông lớn Google mất đi doanh thu $545,000 từ tìm kiếm. Và với mỗi giây sập hệ thống Amazon sẽ tổn thất $1100.

3. Có mấy loại performance testing?

*

3.1 Load testing (Kiểm tra tải): Phổ biến, đo lường hiệu năng của sản phẩm, trên một thang chỉ số bình thường, giới hạn sản phẩm có thể hoạt động.

3.2 Stress testing (Kiểm thử áp lực): Kiểm tra độ mỏi, vượt quá giới hạn bình thường, kiểm tra sức chịu tải của sản phẩm. Độ ổn định sản phẩm và phản ứng hệ thống khi vượt ngưỡng cho phép

3.3 Volume testing (Kiểm thử dung lượng): Kiểm thử lưỡi lục, 1 lượng lớn data được đẩy hệ thống, insert lượng lớn data, đánh giá phản ứng của hệ thống, bất ngờ, phát hiện nút cổ chai. Kiểm tra phản ứng của ứng dụng, hệ thống với nhưng mức tải khác nhau.

3.4 Spike testing (Stress test đặc biệt): Số lượng giá trị tăng lên vượt ngưỡng trong thời gian ngắn, và lặp đi lặp lại

3.5 Endurance testing (Test nhanh): Test trong điều kiện bình thường trong thời gian dài, test độ bền của hệ thống trong một thời gian dài sử dụng.

Xem thêm: Sự Khác Nhau Giữa Shopper Marketing Là Gì ? Phân Loại 3 Khái Niệm Trên

3.6 Scalability testing: Mục đích xác định khả năng mở rộng của hệ thống. Để có kế hoạch cải thiện và tăng khả năng chịu tải từ người dùng lên hệ thống. Cả về mặt lượng người dùng và tương tác người dùng với hệ thống.

4. Các vấn đề thường gặp trong kiểm thử hiệu năng:

Các vấn đề về hiệu năng chủ yếu xoay quanh là tốc độ tải, thời gian phản hồi, thời gian tải và khả năng chịu tải thấp. Tốc độ tải là yếu tố quan trọng ảnh hưởng đến trải nghiệm người dùng. Một ứng dụng quá chậm sẽ đánh mất rất nhiều cơ hội tiếp cận với người dùng cuối. Kiểm thử hiệu năng nhằm mục đích đảm bảo ứng dụng tải đủ nhanh so với mức kỳ vọng và sở thích của người dùng

4.1 Thời gian tải dài: Trung bình 4.4 Nút thắt cổ chai (tắc nghẽn): là những cản chở hệ thống làm giảm hiệu năng hoạt động của hệ thống. Nguyên nhân có thể là lỗi code, lỗi phần cứng, tìm kiếm nguyên nhân qua mã lỗi và tiến hành sửa chữa, giải quyết điểm tắc nghẽn.

CPUBộ nhớMạng, đường truyềnDung lượng ổ đĩa

5. Công cụ test performance testing ?

5.1 Jmeter:

Open source, free, khá giống selenium, tiết kiệm chi phí chạy test.

Build trên nên tảng java, chạy tốt trên nhiều platform: Window, OS, Linux, …

Giao diện dễ sử dụng

Document riêng để dễ research, có forum và cộng đồng sự dung lớn, để tham khảo và học hỏi

5.2 Load runner

5.3 New load

5.4 LoadUI

5.5 Katalon Studio

5.6 Selenium

Đối tượng và yêu cầu kĩ năng thực hiện kiểm thử hiệu năng

+ Kĩ năng SQL để import một lượng lớn người dung , tạo môi trường giả lập để kiểm thử

+ Kĩ năng lập trình để sự dụng một số trình tự động như Katalon, Selenium hay Jmeter, làm những tác vụ kiểm thử khó, custom mà chức năng record tự động không đáp ứng được