Monkey Testing là khái niệm mới toanh với mình. Đã thực hành kiểm thử khá nhiều ứng dụng và nhiều lần phải kiểm thử không có kịch bản mà giờ mới biết đến kiểm thử có tên như này. Sau đây mình sẽ san sớt những gì mình tìm hiểu được về Monkey Testing.
ảnh minh họa - Đào tạo tester
Monkey Testing là một kỹ thuật trong thẩm tra phần mềm khi đó, người dùng rà vận dụng bằng cách đưa giá trị đầu vào bất kỳ và soát xem vận dụng xử lý ra sao (hoặc cố phá hủy chương trình).
Hầu hết kĩ thuật này được làm 1 cách tự động, người dùng nhập giá trị không hợp thức bất kỳ và thẩm tra xử lý. Với monkey test, không có qui tắc, kĩ thuật này không theo testcase hay chiến lược xác định trước. Nó làm việc theo tâm trạng và cảm tính của người kiểm thử.
Kỹ thuật này được tự động hóa hay nói đúng hơn là bạn có thể viết chương trình/ kịch bản để tạo ra đầu vào tình cờ rồi đưa vào ứng dụng và phân tích xử lý. Kĩ thuật này làm việc khá tốt khi thực hành load/stress testing hay khi bạn thế phá hủy chương trình bằng cách đưa không ngừng giá trị tình cờ vào.
Các loại Monkey:
Có 2 loại Monkey:
1. Monkey mau lẹ:
1 con khỉ mau lẹ được định nghĩa bởi các đặc tính bên dưới:
-Có ý tưởng ngắn gọn về áp dụng
-Biết các trang của áp dụng sẽ dẫn đến đâu
-Biết giá trị đầu vào là hợp lệ hay không hợp thức
-Làm việc hoặc tập trung để phá hỏng hệ thống
-Khi tìm thấy 1 lỗi, chúng đủ sáng ý để bắt lỗi
-Nhận thức được các menu và button
-Khá cừ với stress và load test
2. Monkey chậm chạp:
1 con khỉ chậm chạp được định nghĩa bởi các đặc tính bên dưới:
-Không có ý tưởng gì về áp dụng
-Không biết giá trị đầu vào là hợp lệ hay không hợp thức
-kiểm tra vận dụng 1 cách ngẫu nhiên và không nhận thức được điểm bắt đầu của ứng dụng hay điểm kết thúc của luồng
-mặc dầu không nhận thức được ứng dụng nhưng chúng vẫn có thể định nghĩa lỗi như lỗi môi trường hay lỗi phần cứng
-Không có ý kiến gì nhiều về UI và chức năng
Kết quả:
Lỗi bẩm từ Monkey test đòi hỏi phân tách chi tiết. Vì không rõ các bước tái tạo lỗi (hầu như là vậy) nên việc khôi phục bug sẽ khó.
Tôi nghĩ kĩ thuật này nên làm ở thời đoạn sau của việc kiểm thử khi quơ chức năng đã được kiểm thử và đã có một tí đang tin về hiệu quả của vận dụng. Nếu làm nó ở thời đoạn đầu của kiểm thử, chừng độ hiểm nguy sẽ cao hơn. Nếu chúng ta đang sử dụng 1 chương trình hay kịch bản để tạo ra đầu vào hợp thức và không hợp thức tình cờ thì phân tách sẽ trở lên dễ dàng hơn.
Lợi thế của Monkey Testing:
-Dễ dàng cài đặt và thực hành
-Có thể thực hiện bởi những người “không quá lão luyện”
-1 kĩ thuật tốt để soát độ tin cẩn của phần mềm
-Có thể phát hiện bug có ảnh hưởng lớn hơn
-Không tốn tiền
Bất lợi của Monkey Test:
-Có thể phải mất nhiều ngày mới phát hiện ra 1 lỗi
-Số lượng lỗi ít hơn
-Việc tái hiện 1 lỗi(nếu xảy ra) trở nên 1 thử thách
-Một số lỗi có thể có đầu ra không mong muốn của kịch bản test, nên việc phân tích trở thành khó khăn và mất thời gian
Lời kết
mặc dầu nói Test Monkeys hay Monkey Testing là sứ nhưng vẫn khuyến khích lên kế hoạch cho nó và tiến hành vào giai đoạn sau này. dù rằng ở thời đoạn đầu của kĩ thuật này có thể không tìm được lỗi tốt nhưng nó thậm chí vẫn có thế phát hiện ra những lỗi thực thụ tốt như rò rỉ bộ nhớ hay phá hỏng phần cứng.
Với kiến thức kiểm thử cơ bản, ta thường bỏ qua nhiều trường hợp do nghĩ rằng kịch bản này sẽ không bao giờ xảy ra tuy nhiên nếu xảy ra , chúng có thể dẫn đến ảnh hưởng nghiêm trọng (tỉ dụ bug độ ưu tiên thấp và chừng độ nghiêm trọng cao ). Việc làm monkey test hẳn nhiên có thể tìm thấy những kịch bản này. thỉnh thoảng do tình cờ mà ta lại gặp được tình huống như vậy và khi đó ta sẽ phân tách nó và cầm cố tìm ra giải pháp.
Theo quan điểm của tôi, cách tốt nhất là có cả “Horse” và “Monkey”. Với Horse, ta có thể đi theo phương pháp test với kế hoạch tốt, định nghĩa tốt và phương pháp tinh sảo. Với Monkey, ta bí ẩn bao quát được những cảnh huống thực tại khó chịu. Và nếu phối hợp với nhau, chúng sẽ góp phần tạo nên một phần mềm chất lượng và tin hơn.
0 nhận xét:
Đăng nhận xét