Nội dung bài học

Smoke và Sanity  testing là những chủ đề bị hiểu lầm nhất trong Kiểm thử phần mềm. Có rất nhiều tài liệu về chủ đề này, nhưng hầu hết chúng có thể khó hiểu với nhiều bạn. Và thậm chí là đôi khi theo công việc không cần quan tâm nó là cái gì trong khi trong quá trình làm đã trải qua nó.

Bài viết này Anh Tester sẽ phần nào giúp các bạn giải quyết được sự nhầm lẫn này.

Sơ đồ dưới đây sẽ giúp bạn phần nào hiểu rõ hơn về sự khác biệt chính giữa Smoke test và Sanity test

Sanity Testing và Smoke Testing | Anh Tester

Để đánh giá sơ đồ trên, đầu tiên hiểu chúng ta hãy cùng tìm hiểu

Software Build là gì?

Nếu bạn đang phát triển một chương trình máy tính đơn giản chỉ bao gồm một tệp mã nguồn, bạn chỉ cần biên dịch và liên kết một tệp này, để tạo một tệp thi hành. Một dự án phần mềm điển hình bao gồm hàng trăm hoặc thậm chí hàng ngàn tệp mã nguồn. Tạo một chương trình thực thi từ các tệp nguồn này là một nhiệm vụ phức tạp và tốn thời gian. Bạn cần sử dụng phần mềm "build" để tạo một chương trình thực thi và quá trình này được gọi là "Software Build"

Smoke Testing là gì?

Smoke test là một loại Kiểm thử phần mềm được thực hiện sau khi xây dựng phần mềm để xác định rằng các chức năng quan trọng của chương trình đang hoạt động tốt. Nó được thực hiện "trước" bất kỳ kiểm tra chức năng hoặc hồi quy chi tiết nào được thực thi trên bản dựng phần mềm. Mục đích là để từ chối một ứng dụng bị hỏng nặng, vì vậy mà nhóm QA sẽ không mất nhiều thời gian cài đặt và thử nghiệm ứng dụng phần mềm.

Trong Smoke test, các trường hợp thử nghiệm được chọn bao gồm chức năng quan trọng nhất hoặc thành phần của hệ thống. Mục tiêu không phải là để thực hiện kiểm tra toàn diện, nhưng để xác minh rằng các chức năng quan trọng của hệ thống đang hoạt động tốt. Ví dụ một Smoke test điển hình sẽ là - Xác minh rằng ứng dụng chạy thành công, Kiểm tra xem GUI có đáp ứng không... v.v.

Sanity testing là gì?

Sanity testing là một loại Kiểm thử phần mềm được thực hiện sau khi nhận được một bản build phần mềm, với những thay đổi nhỏ về mã, hoặc chức năng, để xác định rằng các lỗi đã được sửa và không có vấn đề gì khác xảy ra do những thay đổi này. Mục đích là để xác định rằng chức năng được đề xuất hoạt động gần như mong đợi. Nếu kiểm tra sanity không thành công, bản build bị từ chối để tiết kiệm thời gian và chi phí liên quan đến một thử nghiệm nghiêm ngặt hơn.

Mục tiêu là "không" để xác minh triệt để chức năng mới, nhưng để xác định rằng nhà phát triển đã áp dụng một số tính hợp lý (sanity) trong khi sản xuất phần mềm. Ví dụ, nếu máy tính khoa học của bạn cho kết quả của 2 + 2 = 5! Sau đó, không có điểm kiểm tra các chức năng nâng cao như sin 30 + cos 50.

Bảng so sánh Smoke Testing và Sanity Testing

Sanity Testing và Smoke Testing | Anh Tester


Điểm cần lưu ý

  • Smoke và sanity tesing đều là những cách để tránh lãng phí thời gian và cố gắng nhanh chóng xác định xem ứng dụng đủ điều kiện cho các giai đoạn tiếp theo không.
  • Sanity testing cũng được gọi là Acceptance testing.
  • Smoke testing được thực hiện trên một bản build cụ thể còn được gọi là kiểm tra xác minh xây dựng.
  • Một trong những thói quen tốt nhất là tiến hành build hàng ngày và smoke test trong các dự án phần mềm.
  • Cả hai thử nghiệm smoke và sanity có thể được thực hiện bằng tay hoặc sử dụng một công cụ tự động hóa. Khi các công cụ tự động được sử dụng, các bài kiểm tra thường được khởi tạo bởi cùng một quá trình tạo bản dựng.
  • Theo nhu cầu của thử nghiệm, bạn có thể phải thực hiện cả hai Sanity và Smoke Tests trên bản build phần mềm. Trong những trường hợp như vậy, trước tiên bạn sẽ thực hiện các thử nghiệm Smoke và sau đó tiến hành kiểm tra Sanity. Trong ngành công nghiệp, các trường hợp sanity testing để kiểm tra tính thân thiện thường được kết hợp với smoke testing, để tăng tốc độ thử nghiệm. Do đó, thông thường các thuật ngữ thường bị nhầm lẫn và được sử dụng thay thế cho nhau.


Trên đây là những nội dung mà Anh Tester đã trải nghiệm, tham khảo và phân tích làm rõ hơn về Smoke Testing và Sanity Testing, mong giúp ích cho các bạn hiểu hơn về cả hai loại kiểm thử. Chúc các bạn vui khỏe !!!


Tham khảo:


Cộng đồng Automation Testing Việt Nam

🌱 Facebook Fanpage: Anh Tester
🌱 Telegram
Automation Testing:   Cộng đồng Automation Testing
🌱 
Facebook Group Automation: Cộng đồng Automation Testing Việt Nam
🌱 Telegram
Manual Testing:   Cộng đồng Manual Testing
🌱 
Facebook Group Manual: Cộng đồng Manual Testing Việt Nam

  • Anh Tester

    Đường dẫu khó chân vẫn cần bước đi
    Đời dẫu khổ tâm vẫn cần nghĩ thấu


Cộng đồng Automation Testing Việt Nam:

🌱 Telegram Automation Testing:   Cộng đồng Automation Testing
🌱 
Facebook Group Automation: Cộng đồng Automation Testing Việt Nam
🌱 
Facebook Fanpage: Cộng đồng Automation Testing Việt Nam - Selenium
🌱 Telegram
Manual Testing:   Cộng đồng Manual Testing
🌱 
Facebook Group Manual: Cộng đồng Manual Testing Việt Nam

Chia sẻ kiến thức lên trang

Bạn có thể đăng bài để chia sẻ kiến thức, bài viết của chính bạn lên trang Anh Tester Blog

Danh sách bài học