12/08/2018, 15:50
Monkey Testing
Monkey testing được định nghĩa rất ngắn gọn: là một phương pháp kiểm thử với đầu vào ngẫu nhiên, không theo testcase hay một chiến lược test nào. Chắc hẳn bạn đang tò mò với cái tên Monkey, sau đây là một số lý do giải thích cho cái tên này: Trong Monkey testing các tester (đôi khi cả ...
Monkey testing được định nghĩa rất ngắn gọn: là một phương pháp kiểm thử với đầu vào ngẫu nhiên, không theo testcase hay một chiến lược test nào. Chắc hẳn bạn đang tò mò với cái tên Monkey, sau đây là một số lý do giải thích cho cái tên này:
- Trong Monkey testing các tester (đôi khi cả Developer) được coi là một con khỉ.
- Nếu một con khỉ sử dụng máy tính, nó sẽ thực hiện hành động bất kì trên hệ thống, điều mà chính nó cũng không hiểu.
- Giống như việc tester áp dụng các testcase ngẫu nhiên trên hệ thống để tìm Bug mà không cần xác định trước.
- Trong một số trường hợp Monkey testing chỉ dành cho Unit Testing hoặc GUI Testing
Ưu điểm
- Tìm thấy loại Bug mới: Tester có thể thực hiện những testcase ngoài kịch bản đã nêu, do đó có thể cung cấp loại Bug mới đang tồn tại trên hệ thống.
- Dễ dàng thực hiện: Việc test hệ thống được thực hiện dễ dàng với dữ liệu test ngẫu nhiên.
- Không đòi hỏi kỹ năng cao: Công việc tương đối đơn giản nên Monkey testing không đòi hỏi tester có kinh nghiệm, nói cách khác tester nào cũng có thể thực hiện.
- Ít tốn kém: Monkey testing bỏ qua bước thiết kế testcase mà chỉ tập trung vào thực hiện tetscase nên tiết kiệm được chi phí.
Nhược điểm
- Khó tái hiện bug: Với test case ngẫu nhiên thì, dữ liệu test ngẫu nhiên thì khi có bug việc tái hiện là một thách thức lớn.
- Độ chính xác thấp: Tester không thể đảm bảo tính chính xác của testcase ngẫu nhiên.
- Ít lỗi và tốn thời gian: Vì không có testcase nên sẽ mất nhiều thời gian hơn để nghĩ testcase ngẫu nhiên cũng như dữ liệu ngẫu nhiên để test. Số bug cũng giảm vì số lượng testcase ngẫu nhiên là không nhiều và dễ trùng lặp.
Monkey Testing Vs Gorilla Testing:
Monkey Testing | Gorilla Testing |
---|---|
Test ngẫu nhiên, không xác định testcase sẽ thực hiện | - Testcase không được xác định trước nhưng cũng không là ngẫn nhiên |
Được thực hiện trên toàn bộ hệ thống, nhiều testcase được thực hiện | Chọn lọc một số testcase và thực hiện trên vài modul có chọn lọc |
Kiểm tra hệ thống có bị crash hay không | Kiểm tra modul có hoạt động tốt hay không |
Monkey Testing Vs Ad-hoc Testing:
Monkey Testing | Ad-hoc Testing |
---|---|
Test ngẫu nhiên, không xác định testcase sẽ thực hiện | Được thực hiện mà không cần lập kế hoạch và tài liệu |
Tester không biết gì về hệ thống | Tester phải hiểu hệ thống |
Text | Text |
Kiểm tra hệ thống có bị crash hay không | Chia hệ thống thành những phần nhỏ một cách ngẫu nhiên và kiểm tra chúng có thực hiện đúng chức năng hay không |
Phân loại theo cách thực hiện ta có những loại sau:
- Dumb Monkey: Tester không có hiểu biết về hệ thống và chức năng của nó, cũng không có sự đảm bảo về tính hợp lệ của testcase.
- Smart Monkey: Tester có hiểu biết về hệ thống, hiểu rõ mục đích và chức năng của nó, đầu vào của testcase là hợp lệ.
- Brilliant Monkey: Tester thực hiện test theo hành vi của người dùng, một số bug đặc biệt có thể xảy ra. Monkey Testing là test ngẫu nhiên nhưng không thể bỏ qua việc ghi lại kết quả test. Monkey Testing sẽ hiệu quả hơn nếu kết hợp với việc sử dụng các công cụ. Thậm chí nó có thể được sử dụng để tìm thêm bug như các testing types khác. Đừng quên chọn một công cụ để ghi lại kết quả test, báo cáo với các bên liên quan, lưu trữ và sử dụng trong tương lai.
Tóm lược
- Monkey Testing là một phương pháp tương đối mới.
- Nó có sự khác biệt đáng kể với Gorilla Testing và Ad-hoc Testing.
- Monkey Testing có nhiều ưu điểm.
- Có 3 loại chính: Dumb Monkey, Smart Monkey và Brilliant Monkey.
Nguồn tham khảo: https://www.guru99.com/monkey-testing.html http://istqbexamcertification.com/what-is-monkey-testing-advantages-and-disadvantages/