SMOKE TESTING LÀ GÌ? VAI TRÒ CỦA NÓ TRONG KIỂM THỬ PHẦN MỀM?

Nếu làm trong lĩnh vực Kiểm thử phần mềm, chắc hẳn bạn đã từng nghe đến khái niệm “Smoke Testing”. Vậy thì Smoke Testing là gì? Vai trò của nó trong kiểm thử phần mềm như thế nào? Hãy cùng tìm hiểu trong bài viết ngày hôm nay.

 

Theo Wikipedia, thuật ngữ “Smoke Testing” (Tạm dịch: Kiểm tra khói) được sử dụng đầu tiên trong lĩnh vực sửa chữa đường ống nước. Những người thợ ống nước sẽ bơm khói vào hệ thống đường ống để phát hiện ra các vết rò rỉ và vết nứt trong hệ thống.

 

Một thời gian sau, thuật ngữ này xuất hiện trong ngành kiểm thử thiết bị điện tử. Nói một cách đơn giản, khi bạn bật nguồn một thiết bị điện tử lên mà có khói xuất hiện, tức là thiết bị này không ổn. Bạn cần tắt nguồn điện đi và không cần phải thực hiện các bước kiểm thử tiếp theo nữa.

 

Ngày nay, khái niệm này được sử dụng phổ biến trong phát triển phần mềm. Mặc dù trong kiểm thử phần mềm sẽ không có “khói” xuất hiện, nhưng về bản chất nó vẫn tuân theo nguyên tắc tương tự.

 

smoke tesing la gi

 

Smoke Testing là gì?

Smoke Testing là một hình thức kiểm thử phần mềm nâng cao nhằm kiểm tra các chức năng thiết yếu của ứng dụng, giúp người kiểm thử (QA) nhìn ra những lỗi nghiêm trọng, có thể làm trì hoãn kế hoạch release phần mềm.

 

Đây là một bước kiểm thử đơn giản cho thấy sản phẩm đã sẵn sàng cho giai đoạn kiểm thử. Điều này giúp xác định xem sản phẩm có sai sót hay không, tránh lãng phí thời gian và nhân lực trong các công đoạn về sau.

 

Khi nào thì thực hiện Smoke Testing?

Smoke Testing được thực hiện bất cứ khi nào các chức năng mới của phần mềm được phát triển và đưa vào phiên bản có trong môi trường QA/staging. Nó đảm bảo rằng tất cả các chức năng quan trọng của sản phẩm đang hoạt động chính xác.

 

Để thực hiện phần kiểm thử này, đầu tiên đội phát triển sẽ deploy phần tính năng mới vào môi trường staging cho QA. Sau đó QA sẽ mở bộ test case cho phần này, rồi thực hiện chạy kiểm thử. Đội QA kiểm tra ứng dụng dựa trên các chức năng quan trọng. Nếu các tính năng mới vượt qua bước kiểm thử này, đội QA sẽ đi tới bước Kiểm thử Chức năng (Functional Testing).

 

Bất kỳ lỗi nào được tìm ra trong bước Smoke Testing đều cần đưa lại cho đội phát triển để xử lý. Bất cứ khi nào có thay đổi trong bản build, chúng ta đều cần thực hiện Smoke Testing để đảm bảo tính ổn định cho sản phẩm.

 

Chu kỳ Smoke Testing

Sơ đồ bên dưới cho thấy cách Smoke Testing được thực hiện. Sau khi bản build được đưa tới QA và vượt qua Smoke Testing, chúng ta sẽ tiến hành kiểm tra chức năng. Nếu Smoke Testing không thành công, chúng ta sẽ dừng kiểm thử cho đến khi những lỗi trong bản build được khắc phục.

 

chu ky smoke testing

 

Nguy cơ nào sẽ xảy ra khi chúng ta bỏ qua Smoke Testing?

Nếu chúng ta không thực hiện Smoke Testing trong giai đoạn đầu, các defect có thể sẽ xuất hiện trong các giai đoạn sau, khi việc xử lý có thể tốn kém chi phí và thời gian hơn. Các defect xuất hiện trong các giai đoạn sau còn có thể là vật cản ảnh hưởng đến việc release các sản phẩm cuối.

Vai trò của Smoke Testing trong kiểm thử phần mềm là gì?

Kiểm thử khói đóng một vai trò quan trọng trong phát triển phần mềm bởi nó đảm bảo hệ thống vận hành đúng từ những giai đoạn đầu.

 

Bằng cách thực hiện Smoke Testing, chúng ta có thể tiết kiệm nguồn lực để thực hiện kiểm thử. Chỉ khi hoàn thành Smoke Testing thì đội phát triển mới thực hiện các phần kiểm thử chức năng.

 

Những lợi ích mà Smoke Testing mang lại cho quy trình phát triển dự án có thể kể đến:

  • Thực hiện Smoke Testing giúp phát hiện tất cả các lỗi có thể gây trì hoãn kế hoạch phát triển.
  • Smoke Testing được triển khai sau khi phần phát triển được đưa đến đội QA. Việc triển khai phần kiểm thử này giúp phát hiện phần lớn defect ngay từ giai đoạn đầu của quá trình phát triển.
  • Giúp đơn giản hóa việc phát hiện và xử lý những defect lớn.
  • Smoke Testing giúp đội QA tìm thấy các defect mới trong các chức năng của ứng dụng, có thể xuất hiện sau khi đã deploy phần code mới.
  • Đóng vai trò quan trọng trong việc phát hiện những defect lớn, gây ảnh hưởng nghiêm trọng đến hệ thống.

 

1. Hiệu quả trong việc phát hiện sớm các bug

Nhiều khách hàng kiến nghị rằng họ có thể phát hiện và sửa tới 80% lỗi mà họ phát hiện ra chỉ đơn giản bằng cách xây dựng và thực thi Smoke Testing. Việc này được cho là phù hợp với nguyên tắc Pareto 80/20 (Quy luật Pareto hay quy luật 80/20 nói rằng trong nhiều sự kiện, khoảng 80% kết quả là do 20% nguyên nhân gây ra).

Đối với nhiều đội phát triển, Smoke Testing có thể chỉ bao gồm 20% hoặc ít hơn tổng số test case, nhưng có thể phát hiện tới 80% lỗi trở lên. Chỉ riêng điều này thôi đã khiến Smoke Testing trở thành một phần công việc xứng đáng để đầu tư thời gian.

 

kiểm thử phần mềm

 

2. Nâng cao hiệu quả của đội QA

Hãy nhìn lại vào quy trình QA trong dự án của bạn và đặt câu hỏi: Liệu bạn có đang phí phạm thời gian và công sức khi chạy một bộ test suite lớn, trong khi phần lớn các issue có thể được xử lý thông qua Smoke Tesing?

Nếu câu trả lời là có, thì có lẽ bạn đang thực sự lãng phí công sức và thời gian, trong khi bạn có thể sử dụng quỹ thời gian đó để làm được nhiều hơn, như là thực hiện các phần test khác hay bảo trì các bộ công cụ kiểm thử tự động của mình.

 

3. Nhanh chóng khắc phục bug mới và bug hồi quy

Nếu bất kỳ lỗi nào được tìm thấy trong khi thực hiện Smoke Testing, nhóm phát triển có thể bắt tay vào xử lý và phân tích nguyên nhân gốc rễ sớm hơn nhiều mà không cần phải chờ kết quả của toàn bộ test suite.

Làm được điều này là do đặc điểm có độ phủ cao, mức can thiệp hệ thống không sâu của kiểu kiểm thử Smoke Testing.

Hãy coi bộ thử nghiệm này như một bản phác thảo về chất lượng của ứng dụng. Nếu bản thảo được thông qua, thì QA có thể chuyển sang tiến hành kiểm thử hồi quy trong khi dev xử lý các lỗi xuất hiện trong phần Smoke Test. Sau khi đối ứng xong các lỗi đó, dev sẽ tiếp tục xử lý những lỗi được phát hiện trong giai đoạn kiểm thử hồi quy.

 

4. Nuôi dưỡng đội QA với năng suất cao và hạnh phúc hơn

Đội QA sẽ làm việc hiệu quả hơn và có mức độ hài lòng trong công việc cao hơn, khi họ có thể tự tin về các bản build với tiềm năng cao, đã vượt qua được phần kiểm thử Smoke Testing.

 

Kết

Qua bài viết này, hy vọng đã trả lời được câu hỏi Smoke Testing là gì? Kiểm thử Smoke Testing cần được thực hiện trên mọi bản build vì nó hỗ trợ QA xác định các lỗi trong giai đoạn đầu. Nó cung cấp một cách đơn giản, dễ hiểu nhưng cực kỳ hiệu quả để tăng tốc độ phát hiện bug. Các nhà phát triển có thể ứng dụng nó trong các dự án phần mềm để cải thiện đáng kể chất lượng code.

 

CO-WELL Asia tự hào là một trong những doanh nghiệp cung cấp dịch vụ kiểm thử phần mềm hàng đầu Châu Á. Với tư cách là Global Partner của ISTQB, Hội đồng Kiểm định Kiểm thử Phần mềm Quốc tế, CO-WELL Asia luôn không ngừng cải tiến quy trình và đào tạo kiến thức chuyên sâu cho đội ngũ QA của mình. Từ đó, có thể tìm ra vấn đề và cung cấp giải pháp toàn diện, phù hợp với từng khách hàng và đem đến trải nghiệm dịch vụ tuyệt vời nhất.

 

Hãy liên hệ với CO-WELL Asia để tìm kiếm giải pháp về kiểm thử phần mềm.