Kiểm tra độ bền trong kiểm thử phần mềm là gì? (có ví dụ)

⚡ Tóm tắt thông minh

Kiểm thử độ bền (Endurance Testing) chạy ứng dụng dưới tải trọng bình thường dự kiến ​​trong một khoảng thời gian dài để phát hiện xem hiệu năng có suy giảm theo thời gian hay không. Đây là bài kiểm tra giúp phát hiện các lỗi mà bài kiểm tra chạy tải trong một giờ không thể tìm ra.

  • 🕒 Tải trọng duy trì: Lưu lượng truy cập sản xuất dự kiến ​​sẽ bị giữ lại trong nhiều giờ hoặc nhiều ngày thay vì chỉ vài phút.
  • 📉 Trọng tâm suy thoái: Câu hỏi đặt ra là liệu thời gian phản hồi có tăng lên hay không, chứ không phải là liệu mục tiêu có được đáp ứng một lần hay không.
  • 💧 Những phát hiện phổ biến: Rò rỉ bộ nhớ, cạn kiệt nhóm kết nối và sự tăng trưởng không giới hạn của nhật ký hoặc bộ nhớ đệm.
  • 📊 Bộ giám sát: Bộ nhớ, CPU, thời gian phản hồi, thông lượng và kết nối cơ sở dữ liệu trong suốt quá trình hoạt động.
  • 🛠️ dụng cụ: Các công cụ đo tải tiêu chuẩn điều khiển lưu lượng truy cập trong khi các công cụ APM ghi lại đường cong tài nguyên.
  • ⚖️ Sự đánh đổi: Kết quả có giá trị cao nhưng thời gian thu được chậm, điều này hạn chế tần suất thực hiện xét nghiệm.

Kiểm tra độ bền là gì?

Kiểm tra độ bền là gì?

Kiểm tra độ bền là loại kiểm thử phần mềm phi chức năng, trong đó phần mềm được kiểm thử với tải trọng cao kéo dài trong một khoảng thời gian đáng kể để đánh giá hành vi của ứng dụng phần mềm khi sử dụng lâu dài. Mục đích chính của kiểm tra độ bền là đảm bảo rằng ứng dụng có đủ khả năng để xử lý tải kéo dài mà không làm giảm thời gian phản hồi.

Loại thử nghiệm này được thực hiện ở giai đoạn cuối của chu trình chạy hiệu suất. Kiểm tra độ bền là một quá trình lâu dài và đôi khi kéo dài đến một năm. Điều này có thể bao gồm việc áp dụng các tải bên ngoài như lưu lượng truy cập Internet hoặc hành động của người dùng. Điều này làm cho việc kiểm tra độ bền khác với Kiểm tra Tải, thường kết thúc sau vài giờ hoặc lâu hơn.

Độ bền có nghĩa là năng lực nên nói cách khác bạn có thể gọi Kiểm tra độ bền là Kiểm tra năng lực.

Mục tiêu của việc kiểm tra độ bền

  • Mục tiêu chính của thử nghiệm Độ bền là kiểm tra rò rỉ bộ nhớ.
  • Để khám phá cách hệ thống hoạt động trong điều kiện sử dụng liên tục.
  • Để đảm bảo sau một thời gian dài, thời gian phản hồi của hệ thống sẽ giữ nguyên hoặc tốt hơn so với lúc bắt đầu kiểm thử.
  • Để xác định số lượng người dùng và/hoặc giao dịch mà một hệ thống nhất định sẽ hỗ trợ và đáp ứng các mục tiêu về hiệu suất.
  • Để quản lý tải trong tương lai, chúng ta cần hiểu cần có bao nhiêu tài nguyên bổ sung (như dung lượng bộ xử lý, dung lượng ổ đĩa, mức sử dụng bộ nhớ hoặc băng thông mạng) để hỗ trợ việc sử dụng trong tương lai.
  • Kiểm tra độ bền thường được thực hiện bằng cách làm hệ thống quá tải hoặc bằng cách giảm một số tài nguyên hệ thống nhất định và đánh giá hậu quả.
  • Nó được thực hiện để đảm bảo rằng các lỗi hoặc rò rỉ bộ nhớ không xảy ra sau khoảng thời gian được coi là sử dụng tương đối “bình thường”.

Những điều cần theo dõi trong thử nghiệm sức bền

Kiểm tra độ bền

Trong thử nghiệm độ bền, những điều sau đây sẽ được thử nghiệm.

  • Kiểm tra rò rỉ bộ nhớ– Kiểm tra được thực hiện để xác minh xem có bất kỳ rò rỉ bộ nhớ nào trong ứng dụng hay không, điều này có thể gây ra sự cố cho hệ thống hoặc HĐH
  • Kiểm tra khả năng đóng kết nối giữa các lớp của hệ thống – Nếu kết nối giữa các lớp của hệ thống không được đóng thành công, nó có thể làm ngừng hoạt động một số hoặc tất cả các mô-đun của hệ thống.
  • Kiểm tra kết nối cơ sở dữ liệu đóng thành công– Nếu kết nối cơ sở dữ liệu không được đóng thành công, có thể dẫn đến sự cố hệ thống
  • Kiểm tra thời gian phản hồi – Hệ thống được kiểm tra thời gian phản hồi của hệ thống khi ứng dụng trở nên kém hiệu quả hơn do việc sử dụng hệ thống kéo dài.

Cách thực hiện kiểm tra sức bền

Dưới đây là phương pháp kiểm tra cơ bản cho Kiểm tra độ bền

  • Môi trường thử nghiệm – Xác định yêu cầu phần cứng, phần mềm, hệ điều hành để kiểm tra độ bền, phân công vai trò và trách nhiệm trong nhóm, v.v. Môi trường phải sẵn sàng trước khi thực hiện kiểm tra. Bạn cũng cần ước tính quy mô sản xuất cơ sở dữ liệu chung và mức tăng trưởng hàng năm. Điều này là bắt buộc vì vậy bạn cần kiểm tra xem ứng dụng của bạn sẽ phản hồi như thế nào sau một, hai hoặc năm năm.
  • Tạo kế hoạch, kịch bản kiểm thử – Dựa trên bản chất của thử nghiệm – thủ công hoặc tự động hóa hoặc kết hợp cả hai, Trường hợp thử nghiệm thiết kế, đánh giá và thực hiện phải được lập kế hoạch. Kiểm tra để gây căng thẳng cho hệ thống, kiểm tra điểm dừng, v.v. cũng phải là một phần của kế hoạch kiểm tra. Kiểm thử để nhấn mạnh hệ thống sẽ xác định điểm dừng trong ứng dụng.
  • Ước tính thử nghiệm – Cung cấp ước tính về việc sẽ mất bao lâu để hoàn thành giai đoạn thử nghiệm. Nó cần được phân tích trên cơ sở số lượng người thử nghiệm tham gia và số lượng chu kỳ thử nghiệm cần thiết.
  • Phân tích rủi ro – Phân tích rủi ro và thực hiện hành động thích hợp để phòng ngừa. Ưu tiên các trường hợp kiểm thử theo Hệ số rủi ro và xác định các rủi ro và vấn đề dưới đây mà người kiểm tra có thể thực hiện trong quá trình kiểm tra độ bền.
  • Hiệu suất sẽ vẫn nhất quán theo thời gian?
  • Có vấn đề nhỏ nào khác chưa được phát hiện?
  • Có sự can thiệp nào từ bên ngoài mà chưa được giải quyết?
  • Lịch kiểm tra - Xác định ngân sách, sản phẩm bàn giao trong khung thời gian. BẰNG Kiểm tra độ bền áp dụng cách sắp xếp tải giao dịch lớn nhưng tự nhiên cho hệ thống/ứng dụng trong một khoảng thời gian liên tục.

Ví dụ về kiểm tra độ bền

Trong khi Bài kiểm tra về áp lực đưa hệ thống được thử nghiệm đến giới hạn của nó, kiểm tra độ bền đưa ứng dụng đến giới hạn của nó tăng ca.

Ví dụ, các vấn đề phức tạp nhất – rò rỉ bộ nhớ, sử dụng máy chủ cơ sở dữ liệu và hệ thống không phản hồi – xảy ra khi phần mềm chạy trong thời gian dài. Nếu bạn bỏ qua các bài kiểm tra độ bền, khả năng phát hiện ra các lỗi như vậy trước khi triển khai sẽ rất thấp.

Công cụ kiểm tra độ bền

Ưu điểm của thử nghiệm độ bền

  • Nó giúp xác định khối lượng công việc mà Hệ thống đang tải có thể xử lý như thế nào.
  • Cung cấp dữ liệu chính xác mà khách hàng có thể sử dụng để xác thực hoặc nâng cao nhu cầu cơ sở hạ tầng của họ.
  • Xác định các vấn đề về hiệu suất có thể xảy ra sau khi hệ thống chạy ở mức cao trong thời gian dài
  • Các vấn đề điển hình được xác định trong các thử nghiệm hiệu suất có mục tiêu nhỏ hơn, có nghĩa là nó đảm bảo ứng dụng vẫn khả dụng ngay cả khi có lượng tải lớn trong khoảng thời gian rất ngắn.
  • Kiểm tra độ bền cũng được sử dụng để kiểm tra xem có bất kỳ sự suy giảm hiệu suất nào sau một thời gian dài thực hiện hay không

Nhược điểm của việc kiểm tra độ bền

  • Thường rất khó để xác định mức độ căng thẳng đáng áp dụng.
  • Kiểm tra độ bền có thể gây ra lỗi ứng dụng và/hoặc mạng, dẫn đến gián đoạn đáng kể nếu Môi trường thử nghiệm không bị cô lập.
  • Mất hoặc hỏng dữ liệu vĩnh viễn có thể xảy ra do hệ thống bị quá tải.
  • Việc sử dụng tài nguyên vẫn ở mức rất cao sau khi loại bỏ căng thẳng.
  • Một số thành phần ứng dụng không phản hồi.
  • Người dùng cuối sẽ quan sát thấy các trường hợp ngoại lệ chưa được xử lý.

Bài kiểm tra này phù hợp với nhóm kiểm thử hiệu năng như thế nào?

Kiểm thử hiệu năng là một thuật ngữ chung. Các biến thể dưới đây chỉ khác nhau ở dạng tải trọng tác dụng và thời gian duy trì tải trọng đó, đó là lý do tại sao chúng thường bị nhầm lẫn với nhau.

Loại thử nghiệm Mẫu tải Câu hỏi nó trả lời
Kiểm tra tải Dự kiến ​​tải trọng cao điểm, thời gian ngắn. Hệ thống có đạt được mục tiêu đề ra trong điều kiện lưu lượng giao thông cao điểm bình thường không?
Bài kiểm tra về áp lực Tăng công suất vượt quá khả năng cho đến khi hỏng hóc Nó bị hỏng ở đâu, và liệu nó có bị hỏng một cách êm ái không?
thử nghiệm tăng đột biến Sự tăng vọt đột ngột, sau đó là sự rút lui. Liệu nó có thể tồn tại và phục hồi sau cú sốc giao thông?
kiểm tra độ bền Tải trọng bình thường được duy trì trong nhiều giờ. Hiệu năng có giảm dần theo thời gian không?
thử nghiệm ngâm Tải trọng duy trì trong một thời gian dài Có hiện tượng rò rỉ bộ nhớ hoặc cạn kiệt tài nguyên không?
Kiểm tra độ ổn định Tải trọng thay đổi tùy theo điều kiện Hệ thống có duy trì được độ tin cậy khi điều kiện thay đổi không?
Kiểm tra khối lượng Người dùng thông thường, dung lượng dữ liệu rất lớn. Liệu hệ thống có đáp ứng được khi cơ sở dữ liệu phát triển?

Thử nghiệm độ bền và thử nghiệm ngâm thường được coi là đồng nghĩa. Trong cách sử dụng thông thường, cả hai đều duy trì tải trọng ổn định trong thời gian dài. Ở những nơi các nhóm phân biệt chúng, kiểm thử độ bền tập trung vào việc liệu thời gian phản hồi có tăng lên hay không, trong khi kiểm thử độ bền lâu tập trung vào mức tiêu thụ tài nguyên như bộ nhớ, xử lý tập tin và nhóm kết nối. Chạy một trong hai thường cung cấp bằng chứng cho cả hai.

Các chỉ số quan trọng cần thu thập trong quá trình thử nghiệm

Một lần chạy thử nghiệm hiệu năng chỉ tốt khi bạn ghi lại được những gì cần thiết trong quá trình thực thi. Hãy ghi lại sáu thông số này ở cả phía máy chủ và phía máy khách, sau đó so sánh chúng với mức cơ bản thay vì chỉ dựa vào cảm tính.

metric Nó nói với bạn điều gì Dấu hiệu cảnh báo
Thời gian phản hồi trung bình Trải nghiệm người dùng điển hình Bất kỳ sự dịch chuyển hướng lên nào trong suốt quá trình chạy
thời gian phản hồi ở phân vị thứ 95 Trải nghiệm của những người dùng chậm nhất Cao hơn mức trung bình rất nhiều, nghĩa là không nhất quán.
Thông lượng Số yêu cầu được xử lý mỗi giây Giảm dần trong khi tải trọng không đổi
Tỷ lệ lỗi Tỷ lệ yêu cầu thất bại hoặc hết thời gian chờ Bất kỳ sự tăng nào vượt quá ngưỡng đã thỏa thuận
Sử dụng CPU và bộ nhớ Khả năng dự trữ tài nguyên máy chủ Ký ức leo lên và không bao giờ trở lại
Kết nối cơ sở dữ liệu và luồng Kiệt sức ở hồ bơi Số lượng tăng đều đặn mà không cần phát hành

Hãy đọc giá trị trung bình và phần trăm cùng nhau. Mức trung bình 800 ms với phân vị thứ 95 là 900 ms mô tả một hệ thống hoạt động ổn định. Cùng mức trung bình đó nhưng với phân vị thứ 95 là 9 giây có nghĩa là cứ 20 người dùng thì có một người gặp sự cố, và mức trung bình đang che giấu điều đó.

Hãy quan sát hình dạng, chứ không chỉ giá trị. Trong bất kỳ bài kiểm tra kéo dài nào, đường biểu diễn tài nguyên nằm ngang là dấu hiệu đạt yêu cầu, còn đường biểu diễn tăng lên là dấu hiệu rò rỉ, ngay cả khi con số tuyệt đối vẫn nằm trong giới hạn cho phép tại thời điểm kết thúc quá trình kiểm tra.

Kiểm tra độ bền: Những điểm chính cần lưu ý

  • In Kỹ thuật phần mềm, Kiểm tra độ bền là một tập hợp con của kiểm tra tải.
  • Kiểm tra độ bền là một quá trình lâu dài và đôi khi kéo dài đến một năm
  • Kiểm tra được thực hiện để xác minh
  • Kiểm tra rò rỉ bộ nhớ
  • Kiểm tra thời gian phản hồi
  • Kiểm tra kết nối cơ sở dữ liệu, v.v.

Câu Hỏi Thường Gặp

Kiểm tra tải giúp xác minh hệ thống đáp ứng các mục tiêu đề ra ở tải trọng tối đa trong thời gian ngắn. Kiểm tra độ bền duy trì tải trọng bình thường trong nhiều giờ để xem liệu các mục tiêu đó có còn được duy trì đến cuối quá trình kiểm tra hay không.

Bất kỳ xu hướng tăng liên tục nào về thời gian phản hồi hoặc mức sử dụng tài nguyên, ngay cả khi không vượt quá ngưỡng nào. Lỗi nằm ở chính sự sai lệch đó, bởi vì cuối cùng nó sẽ vượt quá giới hạn trong quá trình sản xuất.

Sau khi vượt qua các bài kiểm tra chức năng và tải, và đủ sớm để vẫn có thể khắc phục lỗi rò rỉ được phát hiện. Việc chạy thử nghiệm vào đêm trước khi phát hành sẽ không còn thời gian để xử lý kết quả.

Công nghệ giám sát dựa trên AI phát hiện điểm mà tại đó một chỉ số thay đổi xu hướng và liên hệ nó với các triển khai hoặc các tác vụ theo lịch trình, biến hàng giờ dữ liệu biểu đồ thành một đối tượng khả nghi cụ thể.

Nó có thể giúp ưu tiên. Các mô hình rủi ro làm nổi bật những bản phát hành nào có mã dễ bị rò rỉ, do đó, các lần chạy đầy đủ sẽ được dành cho những thay đổi có khả năng cần đến chúng nhất.

Tóm tắt bài viết này với: