TESTING FUNDAMENTALS
TYPES OF TESTING
TESTCASE DEVELOPMENT
TESTING TECHNIQUES
TEST MANAGEMENT & CONTROL
DEFECTS
AGILE
TESTING DIFFERENT DOMAINS
WHITEBOX TESTING
PERFORMANCE TESTING
ADVANCE TESTING TOPICS
FAQ
TESTING TYPES - MEGA LIST
TOOLS
CHECK!
CERTIFICATION
LIVE TESTING PROJECT
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Phân biệt Smoke Testing và Sanity Testing

Smoke TestingSanity Testing là những dạng kiểm thử bị hiểu sai nhiều nhất trong kiểm thử phần mềm. Có một lượng lớn tài liệu về chủ đề này, nhưng hầu hết chúng đều khó hiểu. Bài viết sau này sẽ giúp bạn phân biệt được 2 khái niệm này.

1. Software Build là gì?

Nếu bạn đang phát triển một phần mềm đơ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 tệp này và tạo một chương trình thực thi tệp. Quá trình này rất đơn giản. Nhưng trong thực tế, trường hợp này không xảy ra. Một dự án phần mềm thông thường 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.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Bạn cần build phần mềm để tạo chương trình thực thi và quá trình này được gọi là Software Build.

2. Smoke Testing là gì?

Smoke Testing 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 thi trên bản build, trước kiểm thử chức năng hoặc kiểm thử hồi quy. Mục đích là để loại bỏ ứng dụng phần mềm có nhiều lỗi, để nhóm QA không lãng phí thời gian cài đặt và kiểm thử ứng dụng phần mềm.

Trong Smoke Testing, các trường hợp kiểm thử đã chọn bao gồm các chức năng hoặc thành phần quan trọng nhất của hệ thống. Mục tiêu không phải là để thực hiện kiểm thử toàn diện, mà là để 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 Testing điển hình sẽ là - Xác minh rằng ứng dụng khởi động thành công, kiểm thử xem GUI có đáp ứng được yêu cầu hay không, v.v.

3. 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 bản build của phần mềm, với các thay đổi nhỏ trong code hoặc chức năng, để xác định rằng các lỗi đã được sửa và không có lỗi nào được đưa ra do những thay đổi này nữa. Mục tiêu là để xác định rằng các chức năng được đề xuất hoạt động như mong đợi. Nếu Sanity testing không thành công, bản build sẽ không được chấp nhận để tiết kiệm thời gian và chi phí kiểm thử.

Mục tiêu là không xác minh kỹ lưỡng 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 toán hợp lý trong khi sản xuất phần mềm.

4. Sự khác biệt chính giữa Smoke Testing và Sanity testing

Sự khác biệt chính giữa Smoke Testing và Sanity Testing thể hiện trong sơ đồ sau:

Smoke Sanity Testing 1 png

Smoke Testing Sanity Testing
Smoke Testing được thực hiện để 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 Sanity Testing được thực hiện để kiểm thử các chức năng hay lỗi mới đã được sửa
Mục tiêu của Smoke Testing là xác minh tính ổn định của hệ thống để tiến hành kiểm thử nghiêm ngặt hơn Mục tiêu của Sanity testing là xác minh tính hợp lý của hệ thống để tiến hành kiểm thử nghiêm ngặt hơn
Smoke Testing được thực hiện bởi các developers hoặc tester Sanity Testing thường được thực hiện bởi tester
Smoke Testing thường có tài liệu hoặc kịch bản Sanity Testing thường không có tài liệu hoặc kịch bản
Smoke Testing là một tập hợp con của kiểm thử chấp nhận (Acceptance testing) Sanity Testing là một tập hợp con của Kiểm thử hồi quy (Regression testing)
Smoke Testing kiểm thử toàn bộ hệ thống từ đầu đến cuối Sanity Testing chỉ kiểm thử thành phần đặc biệt trong toàn bộ hệ thống
Smoke Testing giống như kiểm tra tổng quát Sanity Testing giống như kiểm tra chuyên sâu

5. Điểm cần lưu ý

  • Cả Sanity Testing và Smoke Testing đều 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 nếu một ứng dụng có quá nhiều lỗi sẽ không được đưa sang giai đoạn kiểm thử tiếp theo.
  • Sanity testing còn được gọi là Kiểm thử hồi quy (Regression 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 thử xác minh bản build.
  • Một trong những thói quen tốt là tiến hành tạo các bản build hàng ngày và thực hiện Smoke Testing trong các dự án phần mềm.
  • Cả Smoke Testing và Sanity Testing đều có thể được thực hiện thủ công 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, kiểm thử thường được bắt đầu bởi cùng một quá trình tạo ra bản build.
  • Theo nhu cầu kiểm thử, bạn có thể phải thực hiện cả Smoke Testing và Sanity Testing trong bản build phần mềm, trước tiên bạn sẽ thực hiện các Smoke Testing và sau đó tiếp tục với Sanity Testing. Trong ngành công nghiệp phần mềm, các trường hợp kiểm thử Sanity Testing thường được kết hợp với các trường hợp Smoke Testing để tăng tốc độ thực hiện kiểm thử. Do đó, hai thuật ngữ này thường bị nhầm lẫn và được sử dụng thay thế cho nhau.

Cùng chuyên mục:

Giám sát và kiểm soát kiểm thử

Giám sát và kiểm soát kiểm thử

Trong khi nhóm thực hiện các nhiệm vụ được giao, Test Manager cần giám sát…

Tài liệu kiểm thử

Tài liệu kiểm thử

Tài liệu kiểm thử giúp nhóm kiểm thử ước tính effort kiểm thử cần thiết,…

Cách tạo Test Plan

Cách tạo Test Plan

Test Plan là một tài liệu chi tiết mô tả chiến lược kiểm thử, Mục…

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử là một trong những nhiệm vụ phức tạp nhất trong…

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Khi thực hiện dự án, luôn có những rủi ro tiềm ẩn. Để giảm thiểu…

Quy trình quản lý kiểm thử

Quy trình quản lý kiểm thử

Quản lý kiểm thử (Test Management) bao gồm chuỗi nhiều hoạt động. Có hai phần…

Vai trò và Trách nhiệm của Test Manager

Vai trò và Trách nhiệm của Test Manager

Trước khi bắt đầu kiểm thử một dự án, bạn nên biết vai trò của…

Kiểm thử Use Case

Kiểm thử Use Case

Là một tester, bạn đã hiểu rõ về Use Case hay Kiểm thử Use Case…

Kỹ thuật kiểm thử chuyển đổi trạng thái

Kỹ thuật kiểm thử chuyển đổi trạng thái

Chuyển đổi trạng thái (State Transition) trong kiểm thử là gì? Khi nào sử dụng…

Kỹ thuật kiểm thử bảng quyết định

Kỹ thuật kiểm thử bảng quyết định

Bảng quyết định là một trong những kỹ thuật kiểm thử phầm mềm. Vậy Kiểm…

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Chúng ta cần sử dụng các kỹ thuật đặc biệt để lựa chọn test cases…

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử giúp giảm số lượng các test cases được thực hiện trong…

Test Case Template

Test Case Template

Test cases là đơn vị nhỏ nhất trong kế hoạch kểm thử, mô tả các…

Thủ thuật để tạo dữ liệu kiểm thử

Thủ thuật để tạo dữ liệu kiểm thử

Data được sử dụng trong kiểm thử mô tả các điều kiện tiền đề của…

Cách tạo Requirements Traceability Matrix - RTM

Cách tạo Requirements Traceability Matrix - RTM

Requirements Traceability Matrix - RTM là gì? Traceability Test Matrix bao gồm những loại nào?…

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test Basis là nguồn để tạo ra các test cases.…

Cách viết Test Cases

Cách viết Test Cases

Test Case là tập hợp các hành động được thực thi để xác minh một…

Kịch bản kiểm thử - Test Scenario

Kịch bản kiểm thử - Test Scenario

Test Scenario tuy không còn mới mẻ nhưng không ít người còn mơ hồ về…

Kiểm thử phi chức năng

Kiểm thử phi chức năng

Kiểm thử phi chức năng liên quan đến việc kiểm thử phần mềm từ những…

Kiểm thử hồi quy

Kiểm thử hồi quy

Kiểm thử hồi quy - Regression Testing rất quan trọng, đặc biệt là trong những…

Top