Admin
11/09/2023
Share
Trong lĩnh vực Kiểm thử phần mềm, có một khái niệm được gọi là “Smoke Testing”. Vậy Smoke Testing đề cập đến điều gì? Vai trò của nó trong quá trình kiểm thử phần mềm là gì? Hãy cùng khám phá trong bài viết này.
Theo Wikipedia, thuật ngữ “Kiểm tra khói” được lần đầu tiên sử dụng trong lĩnh vực sửa chữa đường ống nước. Các thợ ống nước sẽ tiến hành bơm khói vào hệ thống đường ống để phát hiện các điểm rò rỉ và nứt trong hệ thống.
Sau một khoảng thời gian, thuật ngữ này trở nên phổ biến trong lĩnh vực kiểm thử thiết bị điện tử. Đơn giản nói, khi bạn bật thiết bị điện tử lên và thấy có khói bốc lên, điều đó có nghĩa là thiết bị không hoạt động đúng. Bạn cần tắt nguồn và không cần thực hiện các bước kiểm thử tiếp theo.
Trong lĩnh vực phát triển phần mềm hiện nay, khái niệm này đã trở nên rất phổ biến. Mặc dù trong quá trình kiểm thử phần mềm không có sự hiện diện của “khói”, nhưng bản chất vẫn tuân theo những nguyên tắc tương tự.
KIỂM THỬ PHẦN MỀM LÀ GÌ & QUY TRÌNH THỰC HIỆN
Kiểm thử hợp đồng (Smoke Testing) là gì?
Smoke Testing là một phương pháp kiểm thử phần mềm tiên tiến dùng để kiểm tra các chức năng quan trọng của ứng dụng, nhằm phát hiện các lỗi nghiêm trọng có thể gây trì hoãn trong việc phát hành phần mềm.
Bước kiểm thử đơn giản này cho thấy sản phẩm đã sẵn sàng để bước vào giai đoạn kiểm thử. Nó giúp xác định xem sản phẩm có lỗi hay không, từ đó tránh lãng phí thời gian và nhân lực trong các công đoạn tiếp theo.
Khi nào thì thực hiện Kiểm thử Hút khói?
Khi phát triển và triển khai các chức năng mới vào phiên bản QA/staging của phần mềm, Smoke Testing được thực hiện để đảm bảo rằng 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 nhóm phát triển sẽ triển khai tính năng mới vào môi trường staging để QA kiểm tra. Sau đó, QA sẽ mở test case cho phần này và tiến hành kiểm thử. QA sẽ 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, QA sẽ tiếp tục với bước Kiểm thử Chức năng.
Cần báo cáo cho đội phát triển nếu phát hiện bất kỳ lỗi nào trong quá trình kiểm thử Smoke Testing. Mỗi khi có sự thay đổi trong phiên bản build, việc thực hiện Smoke Testing là cần thiết để đảm bảo tính ổn định của sản phẩm.
Chu kỳ Kiểm thử Hút khói
Sau khi bản build được gửi đến QA và hoàn thành 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ẽ tạm dừng kiểm thử cho đến khi các lỗi trong bản build được sửa chữa.
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.
Ý nghĩa của Smoke Testing trong quá trình kiểm thử phần mềm là gì?
Việc kiểm thử khói đóng có vai trò quan trọng trong quá trình phát triển phần mềm, bởi nó đảm bảo rằng hệ thống hoạt động đúng từ giai đoạn ban đầu.
Thực hiện Smoke Testing giúp chúng ta tiết kiệm nguồn lực cho việc kiểm thử. Sau khi hoàn thành Smoke Testing, đội phát triển mới tiến hành kiểm thử chức năng.
Có thể kể đến những lợi ích mà Smoke Testing đem lại cho quy trình phát triển dự án như sau:
1. Hiệu suất trong việc phát hiện sớm các lỗi
Khách hàng đã đề xuất rằng họ có khả năng phát hiện và khắc phục đến 80% lỗi chỉ bằng việc thực hiện kiểm thử nhanh. Điều này được cho là phù hợp với nguyên tắc Pareto 80/20, trong đó 80% kết quả được tạo ra bởi 20% nguyên nhâ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. Điều này đã khiến Smoke Testing trở thành một phần công việc xứng đáng để đầu tư thời gian cho nhiều đội phát triển.
2. Tăng cường hiệu suất của nhóm Kiểm thử chất lượng (QA)
Hãy đánh giá lại quy trình QA trong dự án của bạn và tự đặt câu hỏi: Liệu bạn có đang lãng phí thời gian và công sức khi thực hiện một bộ test suite lớn, trong khi phần lớn các vấn đề có thể giải quyết thông qua Smoke Testing?
Nếu câu trả lời là có, có thể bạn đang lãng phí công sức và thời gian. Hãy sử dụng thời gian đó để làm nhiều việc hơn, chẳng hạn như thực hiện các phần test khác hoặc bảo trì các bộ công cụ kiểm thử tự động của bạn.
3. Nhanh chóng khắc phục lỗi mới và lỗi tái phát
Trong quá trình thực hiện Smoke Testing, nếu phát hiện bất kỳ lỗi nào, nhóm phát triển có thể ngay lập tức xử lý và phân tích nguyên nhân gốc rễ, mà không cần phải chờ đợi kết quả của toàn bộ bộ test suite.
Đạt được điều này là nhờ tính chất có độ phủ cao, mức độ can thiệp hệ thống không sâu của phương pháp kiểm thử Smoke Testing.
Hãy xem thử nghiệm này như một bản phác thảo để đánh giá chất lượng của ứng dụng. Nếu bản phác thảo được chấp nhận, QA có thể 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 sửa các lỗi đó, dev sẽ tiếp tục xử lý các lỗi được phát hiện trong giai đoạn kiểm thử hồi quy.
4. Nâng cao hiệu suất và sự hài lòng của đội nhóm Kiểm thử chất lượng (QA)
Khi có khả năng tự tin về các bản build có tiềm năng cao và đã vượt qua phần kiểm thử Smoke Testing, độ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.
Kết
Hy vọng qua bài viết này, bạn đã tìm được câu trả lời cho câu hỏi “Kiểm thử hợp đồng (Smoke Testing) là gì?”. Kiểm thử Smoke Testing được thực hiện trên mọi bản build để giúp QA xác định các lỗi từ giai đoạn đầu. Phương pháp này đơn giản, dễ hiểu nhưng lại cực kỳ hiệu quả trong việc phát hiện bug. Các nhà phát triển có thể áp dụng nó vào dự án phần mềm để cải thiện chất lượng code đáng kể.