SF

""

Sanity testing và Smoke testing

Sanity testing và Smoke testing


Sanity test là gì?

  • Sanity test là một loại kỹ thuật kiểm thử trong đó các Tester sẽ tiến hành kiểm tra các chức năng mới thêm. Cùng bug đã hoàn chỉnh trên hệ thống và tập trung vào một hoặc vài vùng chứ không phải toàn bộ hệ thống.
  • Loại kiểm thử này được thực hiện sau khi có được bản build với những sự thay đổi nhỏ trong code hoặc chức năng. Để chắc chắn các lỗi được khắc phục và không lỗi phát sinh do những thay đổi này. Đồng thời mục tiêu là xác định rằng lập trình viên đã sử dụng các tính toán hợp lý khi code.
  • Mục đích của việc thực hiện Sanity test đó là đảm bảo chức năng của phần mềm hoạt động đúng như mong đợi. Nếu kiểm tra không thành công thì bản Build sẽ bị từ chối và Tester sẽ cần phải reject lại.
  • Nó được thực thi khi nhóm phát triển cần biết nhanh trạng thái của sản phẩm sau khi cập nhật có bị lỗi nghiêm trọng hay không. Hoặc thời gian rất ít để thực hiện đầy đủ bộ regression test.

Đặc điểm nổi bật của Sanity test

  • Đây là một loại kiểm thử theo phương pháp tiếp cận hẹp và sâu khi tập trung vào một số tính năng hạn chế.
  • Ở Sanity testing thì các kiểm thử viên sẽ tiến hành xác thực các câu lênh, chức năng cùng tất cả menu của sản phẩm.
  • Là một tập hợp con của regression testing và nó được tiến hành khi không có đủ thời gian để kiểm thử chi tiết vì vậy Sanity test sẽ không có script.
  • Nó là quick test nhằm mục đích đảm bảo rằng mọi sự thay đổi hoạt động đúng như tài liệu đặc tả và mong đợi.
  • Có khả năng check minor bug được fix cùng các chức năng thay đổi hoạt động chuẩn xác. Đồng thời đảm bảo các chức năng liên quan không gặp vấn đề gì.

Ưu, nhược điểm của Sanity test

Ưu điểm

  • Khi sử dụng kỹ thuật kiểm thử này sẽ giúp bạn tối ưu được thời gian và công sức bởi nó sẽ tập trung vào một hoặc vài chức năng chứ không phải toàn bộ hệ thống.
  • Bạn sẽ không cần phải nỗ lực đưa nó vào trong tài liệu vì nó không được ghi.
  • Nó có khả năng xác định các đối tượng thiếu phụ thuộc. Đồng thời được áp dụng để xác thực chức năng nhỏ của phần mềm hoặc ứng dụng vẫn hoạt động đúng khi có sự update.

Nhược điểm

  • Dù giúp nhóm phát triển tiết kiệm thời gian nhưng nó tập trung vào các câu lệnh cùng function của phần mềm.
  • Các lập trình viên rất khó có thể hiểu được cách khắc phục các lỗi được tìm thấy trong Sanity test.
  • Ở Sanity testing thì việc kiểm tra được tiến hành cho một vài chức năng hạn chế. Do đó nếu có bất cứ vấn đề gì xảy ra với các chức năng khác thì rất khó để phất hiện và sửa lỗi.
  • Không có tài liệu tham khảo cho tương lại bởi quá trình diễn ra kỹ thuật kiểm thử này không được ghi chép lại.

Smoke Testing là gì?

  • Smoke Testing còn được gọi là Build Verification testing là loại kiểm thử phần mềm nhằm đảm bảo các chức năng chính của ứng dụng hoạt động tốt. Đây là kiểu kiểm thử phần mềm nâng cao giúp QA phát hiện các lỗi nghiêm trọng làm trì hoãn kế hoạch relase phần mềm.
  • Bước kiểm thử này để xác định được phần mềm đã sẵn sàng cho quá trình kiểm thử. Đồng thời phát hiện các sai xót để tránh lãng phí thời gian cùng nhân lực.

Vai trò của Smoke Testing

Có tầm quan trọng rất lớn trong việc phát triển phần mềm bởi nó đảm bảo hệ thống vận hành đúng ngay từ khi bắt đầu. Khi tiến hành hình thức kiểm thử này sẽ giúp bạn tiết kiệm nguồn lực tối đa. Nó mang đến nhiều lợi ích trong quá trình phát triển dự án:

  • Hiệu quả trong việc phát hiện sớm các bug gây trì hoạn kế hoạch phát triển. Bằng việc xây dựng và thực thi phù hợp với nguyên tắc Pareto 80/20. Smoke Testing dủ chỉ có 20% hoặc ít hơn tổng số test case nhưng có khả năng phát hiện tới 80% lỗi trở lên.
  • Gia tăng hiệu quả của đội QA trong quá trình phát triển dự án giúp tối ưu thời gian và công sức. Khi đội QA làm việc tốt hơn thì họ có thể tự tin về các bản build tiềm năng cao vượt qua trong Smoke Testing.
  • Khắc phục các bug mới và quy hồi nhanh chóng: Bất kỳ lỗi được tìm thấy khi thực thi Smoke Testing đều được nhóm phát triển bắt tay vào xử lý và phân tích mà không cần chờ kết quả của toàn bộ test suite.
  • Đơn giản hóa việc phát hiện và xử lý các defect lớn ảnh hưởng nghiêm trọng đến hệ thống.
  • Smoke Testing giúp đội QA tìm được defect mới trong các chức năng của ứng dụng sau khi đã deploy phần code mới.

Những lưu ý về Sanity test và Smoke testing

  • Cả 2 loại kiểm thử này đều là cách để tránh lãng phí thời gian cùng công sức. Bằng việc xác định các lỗi của phần mềm nhanh chóng và có đủ điều kiện để chuyển sang giai đoạn tiếp theo. Với 2 kiểm thử này có thể được thực hiện bằng tay hoặc công cụ tự động hóa.
  • Bạn có thể phải thực hiện cả Sanity và Smoke Tests trên bản build phần mềm trong một trường hợp. Khi đó bạn cần thực hiện các kiểm thử Smoke cùng kiểm tra Sanity.
  • Trong ngành công nghiệp thì các trường hợp Sanity test được kết hợp với smoke testing để tăng tốc độ thử nghiệp cùng sự thân thiện.
  • Đối với các dự án phát triển phần mềm thì một trong những thói quen tốt nhất là tạo dựng build mỗi ngày cùng smoke test.
  • Sanity testing nằm trong Regression testing (Kiểm thử hồi quy).