Phân biệt giữa Load Testing và Stress Testing
Performance Testing là thử nghiệm được thực hiện để xác định các thành phần của hệ thống hoạt động như thế nào trong một tình huống nhất định.
Việc sử dụng tài nguyên, khả năng mở rộng và độ tin cậy của sản phẩm cũng được xác thực trong thử nghiệm này. Thử nghiệm này là một tập hợp con của kỹ thuật hiệu suất, tập trung vào việc giải quyết các vấn đề về hiệu suất trong thiết kế và kiến trúc của một sản phẩm phần mềm.
Hôm nay ta sẽ cùng tìm hiểu sự khác nhau giữa Load testing và Stress testing
- Load Testing
Load Testing là kiểm tra hệ thông cách tăng tải liên tục và đều đặn cho hệ thống cho đến khi đạt đến giới hạn ngưỡng. Kiểm tra tải giúp bạn hiểu được hệ thống hoạt động như thế nào khi chịu tải dự kiến. Nó là một tập hợp con của test hiệu năng( performance testing).
Kiểm tra tải có thể dễ dàng thực hiện bằng cách sử dụng bất kỳ công cụ tự động hóa phù hợp nào có sẵn trên thị trường. WAPT và LoadRunner là hai công cụ nổi tiếng hỗ trợ kiểm tra tải. Load Testing cũng nổi tiếng bởi các tên như: Kiểm tra khối lượng và kiểm tra độ bền.
Tuy nhiên, kiểm tra khối lượng chủ yếu tập trung vào cơ sở dữ liệu. Trong khi đó, kiểm tra độ bền thực hiện kiểm tra hệ thống bằng cách giữ nó dưới một tải trọng đáng kể trong một khoảng thời gian duy trì.
Mục đích duy nhất của kiểm tra tải (Load Testing) là gán cho hệ thống công việc lớn nhất mà nó có thể xử lý để kiểm tra độ bền của hệ thống và theo dõi kết quả. Một thực tế thú vị ở đây là đôi khi hệ thống được cung cấp một tác vụ trống để xác định hành vi của hệ thống trong tình huống không tải.
Các thuộc tính được theo dõi trong kiểm tra tải bao gồm hiệu suất cao nhất, thông lượng máy chủ, thời gian đáp ứng dưới các mức tải khác nhau (dưới ngưỡng ngắt), tính thỏa đáng của môi trường H/W, có bao nhiêu ứng dụng người dùng có thể xử lý mà không ảnh hưởng đến hiệu suất.
Ví dụ về Load testing:
Chúng ta hãy xem xét việc kiểm tra chức năng email của một ứng dụng, có thể bị tràn ngập với 1000 người dùng cùng một lúc. Hiện nay, 1000 người dùng có thể kích hoạt các giao dịch email (đọc, gửi, xóa, chuyển tiếp, trả lời) theo nhiều cách khác nhau.
Nếu chúng ta thực hiện một giao dịch cho mỗi người dùng mỗi giờ, thì đó sẽ là 1000 giao dịch mỗi giờ. Bằng cách mô phỏng 10 giao dịch / người dùng, chúng ta có thể tải thử nghiệm máy chủ email bằng cách chiếm 10000 giao dịch / giờ.
- Stress testing
Dưới Stress Testing, các hoạt động khác nhau để làm quá tải các tài nguyên hiện có với các công việc dư thừa khác nhau sẽ được thực hiện trong nỗ lực phá vỡ hệ thống. Thử nghiệm tiêu cực (negative testing), bao gồm loại bỏ các thành phần khỏi hệ thống cũng được thực hiện như một phần của Stress Testing.
Stress Testing còn được gọi là kiểm tra độ mỏi (fatigue testing), giúp bạn hiểu được giới hạn trên của khả năng hệ thống khi sử dụng tải vượt quá mức tối đa dự kiến.
Ví dụ về Stress Testing
Ví dụ, một trình xử lý văn bản như Writer 1.1.0 của OpenOffice.org được sử dụng để phát triển các chữ cái, bản trình bày, bảng tính, ... Mục đích của việc stress test của chúng ta là tải nó với các ký tự thừa. Để làm điều này, chúng tôi sẽ liên tục paste (dán) một dòng dữ liệu, cho đến khi nó đạt đến giới hạn ngưỡng của nó để xử lý một khối lượng lớn văn bản. Ngay khi kích thước ký tự đạt 65.535 ký tự, đơn giản là nó sẽ từ chối chấp nhận nhiều dữ liệu hơn.
Kết quả kiểm tra căng thẳng trên Writer 1.1.0 tạo ra kết quả rằng nó không bị sập dưới ứng suất và nó xử lý tình huống một cách nhẹ nhàng, đảm bảo rằng ứng dụng hoạt động chính xác ngay cả trong các điều kiện căng thẳng nghiêm ngặt.
- Sự khác biệt giữa Performance Testing, Load Testing và Stress Testing
*Phạm vi
- Load testing: Bao gồm kiểm tra khối lượng và kiểm tra độ bền
- Stres testing: Bao gồm kiểm tra ngâm và kiểm tra tăng đột biến
*Mục đích
- Load testing: Xác định giới hạn trên của hệ thống, xem cách hệ thống xử lý khối lượng tải nặng
- Stres testing: Xác định cách hệ thống hoạt động dưới tải trọng lớn và cách phục hồi từ thất bại. Về cơ bản để chuẩn bị ứng dụng của bạn cho lưu lượng truy cập tăng đột biến
*Giới hạn
- Load testing: Từ điểm dưới tới điểm giới hạn
- Stres testing: Trên điểm giới hạn
*Những vấn đề được chỉ ra sau khi thực hiện test hiệu năng
- Load testing: Vấn đề cân bằng tải, vấn đề băng thông, dung lượng hệ thống, thời gian đáp ứng, ...
- Stres testing: Các lỗ hổng bảo mật với tình trạng quá tải, vấn đề rò rỉ dữ liệu ở tình trạng quá tải, rõ rỉ bộ nhớ, ...
Tham khảo: https://www.softwaretestinghelp.com/what-is-performance-testing-load-testing-stress-testing/
#Phượng Nguyễn- QC