- vừa được xem lúc

So sánh và ví dụ về các loại Kiểm thử Phần mềm: Adhoc Testing, Exploratory Testing và Monkey Testing

0 0 27

Người đăng: Phương Anh Đỗ

Theo Viblo Asia

Trong quá trình phát triển phần mềm, kiểm thử đóng vai trò quan trọng để đảm bảo chất lượng và độ tin cậy của sản phẩm cuối cùng. Ngoài các phương pháp kiểm thử truyền thống, như kiểm thử chức năng và hiệu năng, còn tồn tại một số kỹ thuật kiểm thử đặc biệt như Adhoc Testing, Exploratory Testing và Monkey Testing. Trong bài viết này, chúng ta sẽ tìm hiểu về các kỹ thuật kiểm thử này và cách chúng có thể đóng góp vào quá trình kiểm thử phần mềm.

I. Ý NGHĨA VÀ CÁCH THỰC HIỆN

1. Adhoc Testing:

Định nghĩa: Adhoc Testing là một phương pháp kiểm thử không có kế hoạch trước, dựa trên sự sáng tạo và kinh nghiệm cá nhân của người kiểm thử.

Cách thực hiện: Trong Adhoc Testing, kiểm thử viên thực hiện các kiểm tra ngẫu nhiên và tuỳ ý, kiểm tra các chức năng, tính năng và tình huống không được định sẵn trong tài liệu kiểm thử.

Lợi ích: Adhoc Testing giúp phát hiện lỗi không mong đợi và các kịch bản kiểm thử không đúng đắn, từ đó nâng cao chất lượng phần mềm.

2. Exploratory Testing:

Định nghĩa: Exploratory Testing (Kiểm thử Khám phá) là một kỹ thuật kiểm thử linh hoạt, tập trung vào việc khám phá, khám phá sâu và tìm hiểu về phần mềm để tìm ra lỗi và vấn đề tiềm ẩn.

Cách thực hiện: Exploratory Testing không tuân thủ một kế hoạch kiểm thử cụ thể, mà cho phép kiểm thử viên tự do tạo ra các ca kiểm thử và tương tác với phần mềm theo cách của mình.

Lợi ích: Exploratory Testing giúp phát hiện các lỗi không dự đoán được và cung cấp thông tin quý giá về chất lượng và sự ổn định của phần mềm.

3. Monkey Testing:

Định nghĩa: Monkey Testing là một kỹ thuật kiểm thử tự động ngẫu nhiên, trong đó các hành động và sự tương tác với phần mềm được thực hiện một cách ngẫu nhiên.

Cách thực hiện: Monkey Testing tạo ra các sự kiện, giao diện người dùng và dữ liệu đầu vào ngẫu nhiên để kiểm tra tính ổn định và khả năng chịu tải của phần mềm.

Lợi ích: Monkey Testing giúp phát hiện các lỗi, phản ứng không mong muốn và lỗi xử lý không đúng trong phần mềm.

Các kỹ thuật kiểm thử như Adhoc Testing, Exploratory Testing và Monkey Testing là những phương pháp sáng tạo và linh hoạt để tìm ra lỗi và vấn đề trong phần mềm. Sử dụng chúng một cách cân nhắc và kết hợp với các kỹ thuật kiểm thử khác có thể giúp tăng cường chất lượng và độ tin cậy của sản phẩm phần mềm.

II. SO SÁNH

1. Sự giống nhau:

- Tự do và không theo kế hoạch: Cả Adhoc Testing, Exploratory Testing và Monkey Testing đều không tuân theo một kế hoạch kiểm thử cụ thể. Thay vào đó, các kiểm thử viên có tự do tạo ra các ca kiểm thử và tương tác với phần mềm theo ý muốn.

- Tính sáng tạo: Cả ba loại kiểm thử đều đòi hỏi sự sáng tạo từ phía kiểm thử viên. Những người thực hiện kiểm thử cần phải suy nghĩ ngoài khuôn khổ và tìm kiếm các kịch bản và tình huống không được định sẵn trong quy trình kiểm thử thông thường.

2. Sự khác nhau:

a. Mục tiêu kiểm thử:

  • Adhoc Testing: Kiểm thử này tập trung vào việc phát hiện lỗi không mong đợi và các kịch bản kiểm thử không đúng đắn.

  • Exploratory Testing: Kiểm thử này tập trung vào việc khám phá sâu và tìm hiểu về phần mềm để tìm ra lỗi và vấn đề tiềm ẩn.

  • Monkey Testing: Kiểm thử này tập trung vào việc tạo ra các sự kiện, giao diện người dùng và dữ liệu đầu vào ngẫu nhiên để kiểm tra tính ổn định và khả năng chịu tải của phần mềm.

b. Tính tự động hóa:

  • Adhoc Testing: Thường được thực hiện thủ công, không có tính tự động hóa cao.

  • Exploratory Testing: Thường được thực hiện một cách thủ công, tuy nhiên, có thể áp dụng tự động hóa cho một số phần của quá trình kiểm thử.

  • Monkey Testing: Thường được thực hiện bằng cách sử dụng công cụ và kịch bản tự động để tạo ra các sự kiện và tương tác ngẫu nhiên.

c. Tầm ảnh hưởng:

  • Adhoc Testing: Tầm ảnh hưởng hạn chế, thường chỉ liên quan đến các kịch bản và tình huống cụ thể được kiểm thử.

  • Exploratory Testing: Tầm ảnh hưởng rộng hơn, có thể tìm ra các lỗi và vấn đề tiềm ẩn không được định sẵn trong quy trình kiểm thử.

  • Monkey Testing: Tầm ảnh hưởng rộng nhất, có khả năng phát hiện các lỗi và phản ứng không mong muốn trên toàn bộ phần mềm.

Tóm lại, Adhoc Testing, Exploratory Testing và Monkey Testing đều có tính sáng tạo và không theo kế hoạch cụ thể. Tuy nhiên, mục tiêu, mức độ tự động hóa và tầm ảnh hưởng của từng loại kiểm thử có sự khác biệt. Việc lựa chọn phương pháp kiểm thử phù hợp phụ thuộc vào yêu cầu và mục tiêu của dự án phần mềm.

Cả ba loại kiểm thử, Adhoc Testing, Exploratory Testing và Monkey Testing, đều có thể được thực hiện với hoặc không cần viết testcase cụ thể. Tuy nhiên, việc ghi lại các kịch bản kiểm thử và kết quả có thể hữu ích để theo dõi và báo cáo về quá trình và kết quả kiểm thử.

III. VÍ DỤ KHI THỰC HIỆN 3 LOẠI KIỂM THỬ TRÊN VỚI YOUTUBE

1. Adhoc Testing trên ứng dụng YouTube

a. Kiểm tra tính năng phát video:

  • Kiểm thử viên chọn một video ngẫu nhiên trên ứng dụng YouTube và kiểm tra tính năng phát video.
  • Thử nhấn vào nút play để bắt đầu phát video và kiểm tra xem video có phát hay không.
  • Thử các chức năng khác như tạm dừng (pause), tua trước (seek forward), tua sau (seek backward) và kiểm tra tính năng này hoạt động đúng hay không.

b. Tương tác với giao diện người dùng:

  • Kiểm thử viên tìm hiểu và tương tác với các phần của giao diện người dùng trên ứng dụng YouTube.
  • Thử nhấn vào các nút chức năng như nút tìm kiếm, nút đăng nhập, nút menu và kiểm tra tính năng chuyển hướng đúng đắn.
  • Tìm hiểu và thử các tính năng bổ sung như xem các tab khác nhau (Trang chủ, Video đang xem, Kênh cá nhân) và kiểm tra tính năng chuyển đổi giữa các tab.

c. Kiểm tra tính năng tương tác xã hội:

  • Kiểm thử viên thử tương tác với các tính năng xã hội trên YouTube như bình luận, đánh giá, chia sẻ và kiểm tra tính năng này hoạt động như mong đợi.
  • Thử bình luận và đánh giá video để kiểm tra tính năng gửi và hiển thị bình luận, đánh giá.
  • Thử chia sẻ video qua các kênh mạng xã hội khác và kiểm tra tính năng chia sẻ thành công.

Trong quá trình Adhoc Testing, kiểm thử viên thực hiện các kiểm tra ngẫu nhiên và tuỳ ý trên ứng dụng YouTube. Việc này giúp kiểm thử viên phát hiện các lỗi, sự cố và đảm bảo tính ổn định, tính năng hoạt động đúng và trải nghiệm người dùng tốt trên ứng dụng.

2. Exploratory Testing trên ứng dụng YouTube

a. Tìm hiểu về tính năng tìm kiếm:

  • Kiểm thử viên khám phá các tùy chọn tìm kiếm nâng cao trên YouTube như lọc theo thời gian, sắp xếp theo độ phổ biến, danh mục, v.v.
  • Thử tìm kiếm các từ khóa khác nhau và kiểm tra kết quả tìm kiếm, xem liệu kết quả có phù hợp và chính xác hay không.
  • Khám phá tính năng gợi ý và khám phá mới: Kiểm thử viên xem các video gợi ý trong phần "Đề xuất cho bạn" hoặc "Video liên quan" để tìm hiểu xem có những video phù hợp và hấp dẫn không.
  • Thử nhấp vào các video gợi ý để kiểm tra xem các video liên quan có đáng tin cậy và phù hợp với nội dung đang xem hay không.

b. Khám phá tính năng tương tác:

  • Kiểm thử viên tìm hiểu và thử các tính năng tương tác trên YouTube như bình luận, đánh giá, chia sẻ, và thêm vào danh sách phát.
  • Xem xét xem các tính năng này hoạt động như mong đợi và có phản ứng đúng đắn hay không.

c. Kiểm tra tính năng chơi video:

  • Kiểm thử viên khám phá và kiểm tra các tính năng chơi video như play, pause, tua nhanh, tua chậm, và chất lượng video.
  • Thử các tình huống khác nhau như chuyển đổi chất lượng video, thay đổi âm lượng, và tắt/mở phụ đề để kiểm tra tính ổn định và độ phản ứng của tính năng này.

Trong quá trình Exploratory Testing, kiểm thử viên ghi lại các vấn đề tiềm ẩn, như kết quả tìm kiếm không chính xác, gợi ý không phù hợp, hoặc tính năng tương tác không hoạt động như mong đợi. Điều này giúp cải thiện chất lượng và trải nghiệm người dùng trên ứng dụng YouTube.

3. Monkey Testing trên ứng dụng YouTube

a. Tạo sự kiện ngẫu nhiên:

  • Sử dụng công cụ kiểm thử tự động tạo ra các sự kiện và tương tác ngẫu nhiên trên giao diện người dùng của ứng dụng YouTube.
  • Công cụ này có thể tự động nhấp vào các nút, cuộn trang, thay đổi chế độ xem, chạm vào các vùng khác nhau trên giao diện, v.v.

b. Tạo tình huống phức tạp:

  • Dùng công cụ kiểm thử tạo ra các tình huống phức tạp và không thường xuyên, ví dụ: chuyển đổi giữa các tab (Trang chủ, Video đang xem, Kênh cá nhân), thực hiện nhiều thao tác cùng một lúc (chạm vào nút play, sau đó cuộn xuống dưới), chuyển đổi ngôn ngữ hiển thị, v.v.

c. Ghi lại lỗi và phản ứng không mong muốn:

  • Trong quá trình Monkey Testing, công cụ kiểm thử ghi lại các lỗi và phản ứng không mong muốn của ứng dụng YouTube.
  • Ví dụ: ứng dụng bị treo, giao diện không phản ứng sau một số tương tác ngẫu nhiên, video không phát, các nút chức năng không hoạt động đúng.

Monkey Testing giúp kiểm thử viên tìm ra các lỗi và phản ứng không mong muốn mà người dùng có thể gặp phải khi sử dụng ứng dụng YouTube. Công cụ kiểm thử tự động tạo ra các tương tác ngẫu nhiên để kiểm tra tính ổn định và khả năng phản ứng của ứng dụng. Kết quả từ Monkey Testing sẽ giúp cải thiện hiệu suất và độ tin cậy của ứng dụng YouTube.

Như vậy, qua các ví dụ trên, bạn có thể thấy sự khác nhau giữa các loại kiểm thử (Adhoc Testing, Exploratory Testing và Monkey Testing) trong cách tiếp cận và mục tiêu kiểm thử trên các ứng dụng phổ biến như YouTube.

Hi vọng bài viết này sẽ giúp bạn có thêm kiến thức và hiểu thêm về ba loại kiểm thử này, cám ơn các bạn đã đọc bài viết.

Bình luận

Bài viết tương tự

- vừa được xem lúc

テストカバレッジの概念の紹介(C0/C1/C2)

C0/C1/C2カバレッジとは. テストカバレッジがどんなものかは、他の記事を読んでください。. その上で、テストケースの分類―C0,C1,C2について説明します。. 以下のようなコードのテストケースを考えて見ます。.

0 0 266

- vừa được xem lúc

Testing trong Javascript với Jest (Phần 1)

Hello 500 anh em, lại là mình đây. Chú bé coder yêu màu tím thích màu hồng và ghét sự giả dối đây .

0 0 270

- vừa được xem lúc

Làm sao để lựa chọn kỹ thuật test hiệu quả nhất cho từng dự án?

1. Làm thế nào để chọn đó là kỹ thuật tốt nhất.

0 0 281

- vừa được xem lúc

Cách kiểm thử ứng dụng dành cho thiết bị di động

Với việc điện thoại thông minh đang dần trở thành thứ ai cũng phải có, các nhà phát triển đã và đang tìm kiếm sự nghiệp tốt trong việc phát triển ứng dụng di động. Các thị trường cũng đang tràn ngập với hàng triệu ứng dụng.

0 0 702

- vừa được xem lúc

The Road Map - Software Testing

Đây là một bài viết khá hay mình muốn chia sẻ lại với mọi người để có thể trở thành 1 QA giỏi, bài viết chỉ giới thiệu chung chứ không đi sâu vào bất kỳ kỹ năng gì nên mọi người có thể tự tìm hiểu sâu về từng kỹ năng trong road map trên mạng sau nhé . Giới thiệu.

0 0 284

- vừa được xem lúc

Mức độ nghiêm trọng và độ ưu tiên trong kiểm thử phần mềm

1. Khái niệm. Bug severity - mức độ nghiêm trọng của bug. Mức độ nghiêm trọng của bug là mức độ ảnh hưởng của lỗi đó trên phần mềm mà chúng ta test.

0 0 320