Kiểm tra STRESS trong kiểm thử phần mềm là gì?
Bài kiểm tra về áp lực
Bài kiểm tra về áp lực là một loại kiểm thử phần mềm nhằm xác minh tính ổn định và độ tin cậy của ứng dụng phần mềm. Mục tiêu của Stress testing là đo lường phần mềm về độ bền và khả năng xử lý lỗi trong điều kiện tải cực nặng và đảm bảo rằng phần mềm không gặp sự cố trong các tình huống khủng hoảng. Nó thậm chí còn kiểm tra ngoài các điểm vận hành thông thường và đánh giá cách phần mềm hoạt động trong các điều kiện khắc nghiệt.
Trong Kỹ thuật phần mềm, Stress testing còn được gọi là Kiểm tra độ bền. Trong Kiểm tra sức chịu đựng, AUT được chịu sức căng trong một khoảng thời gian ngắn để biết khả năng chịu đựng của nó. Công dụng nổi bật nhất của stress testing là xác định giới hạn mà tại đó hệ thống, phần mềm hoặc phần cứng bị hỏng. Nó cũng kiểm tra xem hệ thống có thể hiện khả năng quản lý lỗi hiệu quả trong các điều kiện khắc nghiệt hay không.
Ứng dụng đang thử nghiệm sẽ bị stress khi 5GB dữ liệu được sao chép từ trang web và dán vào notepad. Notepad đang bị căng thẳng và đưa ra thông báo lỗi 'Không phản hồi'.
Cần kiểm tra căng thẳng
Hãy xem xét các ví dụ thực tế sau đây, trong đó chúng ta có thể khám phá cách sử dụng Kiểm tra ứng suất-
- Trong thời gian lễ hội, một trang web mua sắm trực tuyến có thể chứng kiến lưu lượng truy cập tăng đột biến hoặc khi thông báo giảm giá.
- Khi một blog được đề cập trên một tờ báo hàng đầu, lượng truy cập vào blog đó sẽ tăng đột ngột.
Bắt buộc phải thực hiện Kiểm tra sức chịu đựng để thích ứng với mức tăng đột biến lưu lượng truy cập bất thường như vậy. Việc không đáp ứng được lưu lượng truy cập đột ngột này có thể dẫn đến mất doanh thu và danh tiếng.
Kiểm tra ứng suất cũng cực kỳ có giá trị vì những lý do sau:
- Để kiểm tra xem hệ thống có hoạt động trong điều kiện bất thường hay không.
- Hiển thị thông báo lỗi thích hợp khi hệ thống đang bị căng thẳng.
- Lỗi hệ thống trong điều kiện khắc nghiệt có thể dẫn đến tổn thất doanh thu rất lớn
- Tốt hơn là nên chuẩn bị cho những điều kiện khắc nghiệt bằng cách thực hiện Kiểm tra sức chịu đựng.
Mục tiêu của Kiểm tra sức chịu đựng
Mục tiêu của stress testing là phân tích hành vi của hệ thống sau khi xảy ra lỗi. Để stress testing thành công, hệ thống phải hiển thị thông báo lỗi thích hợp khi nó ở trong điều kiện khắc nghiệt.
Để tiến hành Kiểm tra sức chịu đựng, đôi khi, các tập dữ liệu lớn có thể được sử dụng và có thể bị mất trong quá trình Kiểm tra sức chịu đựng. Người kiểm tra không nên đánh mất dữ liệu liên quan đến bảo mật này khi thực hiện kiểm tra căng thẳng.
Mục đích chính của stress testing là đảm bảo hệ thống phục hồi sau lỗi, được gọi là khả năng phục hồi.
Kiểm tra tải và kiểm tra căng thẳng
Kiểm tra Tải | Bài kiểm tra về áp lực |
---|---|
Kiểm tra Tải là để kiểm tra hoạt động của hệ thống trong điều kiện khối lượng công việc bình thường và chỉ là kiểm tra hoặc mô phỏng với khối lượng công việc thực tế | Kiểm tra sức chịu đựng là để kiểm tra hoạt động của hệ thống trong các điều kiện khắc nghiệt và được thực hiện cho đến khi hệ thống gặp lỗi. |
Kiểm tra tải không phá vỡ hệ thống | stress testing cố gắng phá vỡ hệ thống bằng cách thử nghiệm với lượng dữ liệu hoặc tài nguyên quá lớn. |
Các loại thử nghiệm căng thẳng
Sau đây là các loại thử nghiệm ứng suất và được giải thích như sau:
Kiểm tra căng thẳng phân phối:
Trong các hệ thống máy khách-máy chủ phân tán, việc kiểm tra được thực hiện trên tất cả các máy khách từ máy chủ. Vai trò của máy chủ căng thẳng là phân phối một bộ bài kiểm tra căng thẳng cho tất cả các máy khách căng thẳng và theo dõi trạng thái của máy khách. Sau khi máy khách liên hệ với máy chủ, máy chủ sẽ thêm tên của máy khách và bắt đầu gửi dữ liệu để kiểm tra.
Trong khi đó, máy khách gửi tín hiệu hoặc nhịp tim rằng nó được kết nối với máy chủ. Nếu máy chủ không nhận được bất kỳ tín hiệu nào từ máy khách thì cần phải điều tra thêm để gỡ lỗi. Trong hình, một máy chủ có thể kết nối với 2 máy khách (Client1 và Client2), nhưng nó không thể gửi hoặc nhận tín hiệu từ Client 3 & 4.
Chạy ban đêm là lựa chọn tốt nhất để chạy các kịch bản kiểm tra căng thẳng này. Các trang trại máy chủ lớn cần một phương pháp hiệu quả hơn để xác định máy tính nào gặp sự cố nghiêm trọng cần được điều tra.
Kiểm tra căng thẳng ứng dụng:
Thử nghiệm này tập trung vào việc tìm kiếm các lỗi liên quan đến khóa và chặn dữ liệu, các sự cố mạng và tắc nghẽn hiệu suất trong một ứng dụng.
Kiểm tra căng thẳng giao dịch:
Nó thực hiện kiểm tra căng thẳng trên một hoặc nhiều giao dịch giữa hai hoặc nhiều ứng dụng. Nó được sử dụng để tinh chỉnh và tối ưu hóa hệ thống.
Kiểm tra căng thẳng hệ thống:
Đây là thử nghiệm căng thẳng tích hợp có thể được thử nghiệm trên nhiều hệ thống chạy trên cùng một máy chủ. Nó được sử dụng để tìm các lỗi trong đó dữ liệu ứng dụng chặn ứng dụng khác.
Kiểm tra căng thẳng thăm dò:
Đây là một trong những loại stress testing được sử dụng để kiểm tra hệ thống với các thông số hoặc điều kiện bất thường khó có thể xảy ra trong tình huống thực tế. Nó được sử dụng để tìm lỗi trong các tình huống không mong muốn như
- Một số lượng lớn người dùng đăng nhập cùng một lúc
- Nếu một trình quét vi-rút bắt đầu ở tất cả các máy cùng một lúc
- Nếu Cơ sở dữ liệu ngoại tuyến khi được truy cập từ một trang web,
- Khi một khối lượng lớn dữ liệu được chèn vào cơ sở dữ liệu cùng một lúc
Làm thế nào để thực hiện Kiểm tra căng thẳng?
Quá trình Stress Test có thể được thực hiện theo 5 bước chính:
Bước 1) Lập kế hoạch cho bài kiểm tra căng thẳng: Tại đây bạn thu thập dữ liệu hệ thống, phân tích hệ thống, xác định mục tiêu stress test
Bước 2) Tạo tập lệnh tự động hóa: Trong giai đoạn này, bạn tạo các tập lệnh tự động hóa kiểm tra căng thẳng, tạo dữ liệu kiểm tra cho các tình huống căng thẳng.
Bước 3) Thực thi tập lệnh: Ở giai đoạn này, bạn chạy các tập lệnh tự động hóa kiểm tra căng thẳng và lưu trữ kết quả căng thẳng.
Bước 4) Phân tích kết quả: Trong giai đoạn này, bạn phân tích kết quả Kiểm tra căng thẳng và xác định các điểm nghẽn.
Bước 5) Tinh chỉnh và tối ưu hóa: Ở giai đoạn này, bạn tinh chỉnh hệ thống, thay đổi cấu hình, tối ưu code với mục tiêu đạt benchmark mong muốn.
Cuối cùng, bạn chạy lại toàn bộ chu trình để xác định rằng các chỉnh sửa đã mang lại kết quả mong muốn. Ví dụ: không có gì lạ khi phải thực hiện tới 3 đến 4 chu kỳ của quy trình Kiểm tra sức chịu đựng để đạt được mục tiêu hiệu suất
Các công cụ được đề xuất để kiểm tra mức độ căng thẳng
LoadRunner
LoadRunner của HP là một công cụ Kiểm tra tải được sử dụng rộng rãi. Kết quả Load Test được định hình bởi Loadrunner được coi là điểm chuẩn.
máy đo
Jmeter là một công cụ kiểm tra mã nguồn mở. Nó là sự tinh khiết Java ứng dụng cho sự căng thẳng và Kiểm tra năng suất. Jmeter nhằm mục đích bao gồm các loại thử nghiệm như tải, chức năng, mức độ căng thẳng, v.v. Nó cần JDK 5 trở lên để hoạt động.
Máy kiểm tra sức căng
Công cụ này cung cấp phân tích sâu rộng về hiệu suất ứng dụng web, cung cấp kết quả ở định dạng đồ họa và cực kỳ dễ sử dụng. Không cần viết kịch bản cấp cao và mang lại lợi tức đầu tư tốt.
Neo tải
Đây là một công cụ phổ biến hiện có trên thị trường để kiểm tra web và di động các ứng dụng. Công cụ này có thể mô phỏng hàng nghìn người dùng để đánh giá hiệu suất ứng dụng khi tải và phân tích thời gian phản hồi. Nó cũng hỗ trợ tích hợp Đám mây – kiểm tra hiệu suất, tải và căng thẳng. Nó dễ sử dụng, tiết kiệm chi phí và cung cấp khả năng mở rộng tốt.
Số liệu để kiểm tra căng thẳng
Các số liệu giúp đánh giá hiệu suất của Hệ thống và thường được nghiên cứu khi kết thúc Kiểm tra sức chịu đựng. Các số liệu thường được sử dụng là -
Đo lường khả năng mở rộng và hiệu suất
- Số trang trên giây: Đo số lượng trang được yêu cầu / Giây
- Thông lượng: Số liệu cơ bản - Kích thước dữ liệu phản hồi/Giây
- Vòng: Số lần kịch bản thử nghiệm đã được lên kế hoạch so với Số lần khách hàng đã thực hiện
Phản hồi ứng dụng
- Thời gian truy cập: Thời gian trung bình để truy xuất hình ảnh hoặc trang
- Thời gian đến byte đầu tiên: Thời gian được tính để trả về byte dữ liệu hoặc thông tin đầu tiên
- Thời gian trang: Thời gian được thực hiện để lấy tất cả thông tin trong một trang
Thất bại
- Kết nối không thành công: Số lượng kết nối không thành công bị máy khách từ chối (Yếu Signal)
- Vòng thất bại: Số vòng thất bại
- Failed Hits: Số lần thử thất bại của hệ thống (Liên kết bị hỏng hoặc hình ảnh không nhìn thấy được)
Kết luận
Mục tiêu của stress testing là kiểm tra hệ thống trong các điều kiện khắc nghiệt. Nó giám sát các tài nguyên hệ thống như Bộ nhớ, bộ xử lý, mạng, v.v. và kiểm tra khả năng hệ thống phục hồi trở lại trạng thái bình thường. Nó kiểm tra xem hệ thống có hiển thị các thông báo lỗi thích hợp khi bị căng thẳng hay không.
Ví dụ về kiểm tra căng thẳng
- Website thương mại điện tử thông báo giảm giá dịp lễ hội
- Trang web tin tức vào thời điểm diễn ra một số sự kiện lớn
- Trang web kết quả của Hội đồng Giáo dục
- Các trang mạng xã hội hoặc blog, ứng dụng, v.v.