Smoke Testing là gì?
Smoke Testing là một phương pháp kiểm thử phần mềm để xác định xem bản build được sử dụng có ổn định hay không. Nó hoạt động như một xác nhận về việc liệu nhóm đảm bảo chất lượng có thể tiền hành kiểm thử thêm hay không.
Smoke Testing là một tập hợp kiểm thử tối thiểu chạy trên mỗi bản build. Đây là một quá trình mà bản build phần mềm được triển khai tới một môi trường đảm bảo chất lượng và được xác minh để đảm bảo tính ổn định của ứng dụng.
Smoke Testing còn được gọi là Confidence Testing hoặc Build Verification Testing. Nói cách khác, nó xác minh xem các tính năng quan trọng có hoạt động hay không và không có showstopper nào trong bản build đang được kiểm thử. Đây là một kiểm thử hồi quy nhỏ và nhanh chóng về mặt chức năng chính. Smoke Testing cho thấy rằng sản phẩm đã sẵn sàng để kiểm thử. Điều này giúp xác định xem bản build có sai sót hay không để tránh việc kiểm thử thêm gây lãng phí thời gian và tài nguyên
Nguồn gốc của Smoke Testing
Trên thực tế thuật ngữ Smoke Testing không xuất phát từ ngành phát triển phần mềm. Nó bắt nguồn từ ngành xây dựng. Đặc biệt hơn nó xuất phát từ cách những người thợ thi công thực hiện kiểm tra các đường ống nước.
Để kiểm tra các đường ống được xem có bị rò rỉ không, các công nhân đã cho khói đi qua các đường ống trước khi tiếp xúc với nước. Nếu khói len lỏi ra khỏi các đường ống ở bất kỳ đâu ngoại trừ 2 đầu thì đó là nơi bị rò rỉ.
Ý tưởng tương tự về việc xác nhận chức năng của các bản build là lý do tại sao Smoke Testing trong phát triển phần mềm lại mang tên như vậy. Bạn không thể chạy một mạng lưới đường ống dẫn nước khi chúng bị rò rỉ, tương tự như vậy bạn chỉ có thể sử dụng các bản build phần mềm khi tất cả các thành phần của chúng hoạt động như dự kiến.
Khi nào sử dụng Smoke Testing
Vì Smoke Testing là một loại kiểm thử xác minh bản build, nên nó thường được sử dụng nhiều nhất vào đầu quy trình kiểm thử cho bất kỳ bản build mới nào. Điều đó bao gồm cả code mới sẽ trở thành nền tảng của phần mềm và các bản build được phát triển để tích hợp với phần mềm hiện có.
Nói tóm lại, nếu một nhà phát triển muốn biết liệu phần mềm có hoạt động như bình thường hay không, Smoke Testing được sử dụng
Tất nhiên với tốc độ tăng trưởng nhanh chóng, thị trường cạnh tranh ngày càng cao. Bạn không thể đủ khả năng để đưa ứng dụng mới của mình tới tay người dùng mà không kiểm thử rộng rãi trước và đảm bảo rằng càng nhiều lỗi được loại bỏ càng tốt trong phiên bản đầu tiên sẽ phát hành.
Để đưa ứng dụng, phần mềm tới giai đoạn đó, bạn phải biết chắc chắn rằng các bản build là liền mạch, không có lỗi và ổn định. Đó là lúc Smoke Testing xuất hiện. Bạn sẽ muốn bắt đầu thực hiện kiểm thử với các thành phần của ứng dụng trong giai đoạn phát triển ban đầu và sau đó liên tục khi code của ứng dụng được cải thiện và chỉnh sửa.
Các loại Smoke Testing
- Thủ công: Với phương pháp này, người kiểm thử phải viết, phát triển, sửa đổi hoặc cập nhật các test case cho từng sản phẩm được build. Tester phải viết tập lệnh kiểm thử cho các tính năng hiện có hoặc các tính năng mới.
- Tự động: Các công cụ sẽ tự xử lý quá trình kiểm thử bằng cách cung cấp các bài kiểm thử có liên quan. Nó rất hữu ích khi dự án bắt buộc phải hoàn thành trong một thời gian giới hạn.
- Kết hợp: Như tên gọi, nó là sự kết hợp của cả kiểm thử thủ công và tự động. Ở đây, tester phải tự viết test case và cũng có thể kiểm thử tự động bằng cách sử dụng các công cụ. Nó làm tăng hiệu suất của kiểm thử vì kết hợp cả 2 phương pháp trên.
Xem thêm: >>>Hướng dẫn cách sử dụng Appium Test để kiểm tra ứng dụng trên mobi hiệu quả nhất
Cách thực hiện Smoke Testing
Bước 1: Quyết định số lượng test case
Trước khi có thể bắt đầu thực hiện Smoke Testing, bạn cần phải biết mình sẽ cần bao nhiêu test case. Nếu không xác định được số lượng test case tối thiểu để đảm bảo mọi thứ hoạt động như dự định, bạn sẽ thấy quá trình sẽ chậm và phải tính toán lại trong giai đoạn sau.
Để tránh điều này, hãy đảm bảo rằng bạn dành thời gian xem xét số lần mỗi bản build phải thực hiện kiểm thử. Điều đó có nghĩa là điều chỉnh cài đặt phần mềm tự động hoặc xác định số lượng người thực hiện kiểm thử thủ công trước khi bắt đầu.
Bạn càng kiểm thử thường xuyên thì kết quả càng hữu ích và mạnh mẽ.
Bước 2: Tạo Smoke Testing
Phần tiếp theo của quy trình liên quan đến việc tạo các bộ kiểm thử sẽ được sử dụng trong bước 3. Điều đó có nghĩa là là chuẩn bị test case và tập lệnh, cũng như điều chỉnh các phương pháp cho loại kiểm thử bạn sẽ chọn (thủ công, tự động hoặc kết hợp)
Trong bước này, điều quan trọng là phải đảm bảo rằng kiểm thử phải phù hợp với mô hình phát triển.
Bước 3: Thực hiện
Điều quan trọng nhất cần phải ghi nhớ ở đây là tuân theo các nguyên tắc bạn đề ra trong các bước đó. Ví dụ nếu một tester trong nhóm không thể làm việc, phải đảm bảo rằng bạn sẵn sàng thay thế được vị trí đó.
Khi đến giai đoạn này, bạn nên chuẩn bị sẵn các kế hoạch cần thiết để đối phó với những tình huống bất ngờ. Tất nhiên luôn có thể có những phát triển đáng kinh ngạc. Đó là lý do tại sao điều quan trọng là phải tích cực tham gia vào việc theo dõi quá trình và theo dõi các vấn đề xuất hiện.
Bước 4: Phân tích
Phân tích kết quả Smoke Testing sẽ xác định kết quả tổng thể đạt hay không đạt. Các thông số để đạt hoặc không đạt phụ thuộc vào rất nhiều thứ, đáng chú ý nhất là nhu cầu và tiêu chuẩn của chính công ty bạn. Nói cách khác, điều cần ghi nhớ trong giai đoạn phân tích là bạn phải điều chỉnh kỳ vọng của mình cho phù hợp với yêu cầu của chính bạn.
Ưu điểm của smoke testing
- Smoke Testing rất dễ thực hiện
- Xác định được các lỗi trong giai đoạn đầu
- Cải thiện chất lượng hệ thống
- Smoke testing giúp cho tiến trình truy cập dễ dàng hơn
- Tiết kiệm công sức và thời gian kiểm thử
- Giúp dễ dàng phát hiện các lỗi nghiệm trọng và sửa lỗi
- Chạy nhanh chóng
- Giảm thiểu rủi ro tích hợp
Nhược điểm của Smoke testing
- Smoke testing không bao gồm tất cả các chức năng trong ứng dụng. Chỉ một phần nhất định của kiểm thử được thực hiện
- Lỗi có thể xảy ra ngay cả khi thực hiện tất cả các bài Smoke Testing
- Nó sẽ không được thực hiện đối với các bài negative tests hoặc đầu vào không hợp lệ
- Smoke Testing thường bao gồm một số test case tối thiểu và do đó chúng không thể tìm thấy các vấn đề khác xảy ra trong quá trình kiểm thử
Hy vọng với bài viết này thì mọi người sẽ có cái nhìn sâu hơn về Smoke Testing và nếu bạn muốn tìm hiểu kỹ hơn về linh vực kiểm thử thì có thể tham gia vào khóa học tester cho người mới bắt đầu tại Testerpro nhé.