HomeOur Team
Giới thiệu và phân biệt giữa Sanity Testing & Smoke Testing
Testing
Giới thiệu và phân biệt giữa Sanity Testing & Smoke Testing
kieu.tran
kieu.tran
March 25, 2021
3 min

OVERVIEW

Smoke Testing và Sanity Testing: Chìa khóa khác biệt

sanity smoke testing
Smoke Testing và Sanity Testing

1.1. Smoke Testing

beb0551da64ce1435e6851adbe4a98e6
Smoke Testing

  • Là một kỹ thuật test giúp verify được các chức năng(function) quan trọng của hệ thống làm việc đúng theo requirement. Kỹ thuật này được thực hiện trước khi việc test chi tiết từng function hay là test hồi quy.

  • Mục đích chính của Smoke Testing là reject những phần mềm mà có quá nhiều lỗi nghiêm trọng, giúp Tester/QA team không lãng phí thời gian và công sức cho một phần mềm “tệ”.

  • Trong Smoke Testing, Testcase sẽ được chọn lọc để có thể cover được những function hoặc component quan trọng của hệ thống. Mục đích không phải là test toàn diện(tìm bugs) mà là đảm bảo rằng các function đang hoạt động đúng. Ví dụ, các testcase đặc trưng của Smoke Testing sẽ là: Verify hệ thống chạy thành công, Check responsive của GUI,..v.v

    Ưu điểm của Smoke Testing

    • Dễ dàng thực hiện
    • Giảm thiểu rủi ro
    • Các lỗi nghiêm trọng được phát hiện sớm
    • Tiết kiệm được effort, thời gian và chi phí
    • Rủi ro trong việc tích hợp các function được giảm thiểu một cách tối đa
    • Cải thiện chất lượng toàn bộ hệ thống
    • Nếu áp dụng được auto test thì rất tiết kiệm được effort và thời gian

    Nhược điểm của Smoke Testing

    • Smoke Testing không thể thay thế cho kiểm thử chi tiết(Sanity Testing)
    • Ngay cả sau khi thực hiện Smoke Testing pass, thì bạn vẫn có thể tìm ra được rất nhiều bug
    • Hình thức test này phù hợp nhất là có thể tự động hóa, đặc biệt là đối với project lớn có >500 testcase

1.2. Sanity Testing

sanity testing

  • Là một kỹ thuật test ngay sau khi thực hiện build/deploy phần mềm, test đến những thay đổi nhỏ của code hoặc function, hay verify rằng bugs đã được fix hoặc không có vấn đề gì bị thay đổi sau khi thực hiện fix bug.

  • Mục đích của Sanity Testing là detect rằng các chức năng của hệ thống hoạt động như mong đợi. Nếu Sanity testcase là Fail/NG, thì chức năng đó sẽ bị reject để tiết kiệm thời gian và chi phí, đồng thời để cải tiến và chỉnh sửa sản phẩm.

  • Đối với Sanity Testing, mục tiêu không phải là việc verify một cách kỹ lưỡng các function mới mà là xác định rằng việc Developer đã áp dụng các tính hợp lí trong xây dựng phần mềm.

    Ưu điểm của Sanity Testing

    • Tìm ra được những lỗi nhỏ nhất của function, giúp đảm bảo tối đa tính đúng đắn của function sau khi thực hiện fix bug
    • Không mất thời gian chuẩn bị tài liệu, hoặc ghi chép
    • Kiểm tra được điểm hợp lý của function và có thể đề xuất nếu cảm thấy có phương án hợp lý hơn

    Nhược điểm của Sanity Testing

    • Sanity Testing chỉ focus vào các function
    • Thường không được ghi chép lại nên việc tham khảo cho tương lai thường không có sẵn
    • Những case trong Sanity thường không có trong testcase, nên việc bug tìm thấy trong hình thức này thường khó fix, hoặc phải thao tác không theo 1 “chiều thuận”

SỰ KHÁC NHAU GIỮA SMOKE TESTING VÀ SANITY TESTING

maxresdefault
SỰ KHÁC NHAU GIỮA SMOKE TESTING VÀ SANITY TESTING

Smoke TestingSanity Testing
Smoke Testing là kỹ thuật test để verify rằng các function chính của hệ thống đang hoạt động đúngSanity Testing được thực hiện để check new function hoặc bugs đã được fix
Mục đích của kỹ thuật test này là để verify tính “ổn định” của hệ thống để tiến hành các kiểm thử mang tính nghiêm ngặt hơnMục đích của kỹ thuật test này là để verify tính”hợp lý” của hệ thống để tiến hành các kiểm thử mang tính nghiêm ngặt hơn
Được thực hiện bởi Developer và TesterThường được thực hiện bởi Tester
Thường có tài liệu và scriptThường không có tài liệu và script
Smoke Testing là subset của Acceptance TestingSanity Testing là subset của Regression Testing
Kiểm tra hệ thống từ đầu đến cuốiKiểm tra các phần cụ thể của hệ thống
Smoke Testing giống như Khám Sức khỏe tổng quátSanity Testing giống như Khám Sức khỏe chuyên khoa

Chú ý:

  • Cả Sanity TestingSmoke Testing là những cách để tránh lãng phí thời gian và công sức bằng cách nhanh chóng xác định xem một ứng dụng có quá sai sót để thực hiện bất kỳ thử nghiệm nghiêm ngặt nào hay không.
  • Cả 2 kỹ thuật đều có thể chạy Manually Testing hoặc Automation Tool. Khi sử dụng Automation Tool, việc test thường được bắt đầu bởi cùng một quá trình tạo ra chính bản build/deploy
  • Tùy theo nhu cầu kiểm thử, bạn có thể chạy cả Smoke lẫn Sanity. Trong trường hợp này, bạn sẽ chạy Smoke trước, sau đó tiếp tục với Sanity.Testcase của Smoke và Sanity thường được kết hợp để làm tăng tốc độ kiểm thử.

Tags

202103testingsmokesanity
kieu.tran

kieu.tran

Tester, BA

Related Posts

Bài 3: Làm quen với những câu lệnh cơ bản nhất trong Selenium WebDriver
Bài 3: Làm quen với những câu lệnh cơ bản nhất trong Selenium WebDriver
May 09, 2021
1 min
System operator: Những câu chuyện chưa từng được kể (Phần 1)
Others
System operator: Những câu chuyện chưa từng được kể (Phần 1)
March 31, 2021
5 min
Why Protocol-Oriented Programming?
Articles
Why Protocol-Oriented Programming?
March 31, 2021
2 min
© 2021, All Rights Reserved.

Quick Links

HomeOur Team

Social Media