GrowUp Articles

Smoke test là gì? Hiệu quả tối ưu của smoke test trong ngành QA

Trước khi sản phẩm đến tay người dùng bất kỳ sản phẩm nào cũng phải trải qua rất nhiều giai đoạn. Trong đó có Smoke Test, tại đây những chức năng chính của sản phẩm sẽ được đảm bảo hoạt động tốt. Cùng tìm hiểu Smoke test là gì? Và biết thêm về hiệu quả tối ưu của Smoke Test trong ngành QA.

Smoke test là gì? Hiệu quả tối ưu của smoke test trong ngành QA
Smoke test là gì? Hiệu quả tối ưu của smoke test trong ngành QA 

1. Smoke Test là gì?

Khái niệm Smoke Test

Smoke Test là một loại “kiểm thử” phần mềm hay còn được biết đến với thuật ngữ "Build Verification Testing" được thực hiện trên các bản Build phần mềm. Việc kiểm thử này nhằm đảm bảo rằng các chức năng chính của ứng dụng vẫn đang hoạt động tốt.

Đây là một kiểu thử nghiệm không đầy đủ với các trường hợp được kiểm tra rất hạn chế chỉ bao gồm chức năng quan trọng nhất hoặc các thành phần của hệ thống. Tất cả hướng đến việc đảm bảo chức năng chính hoạt động bình thường và ứng dụng sẵn sàng bước vào giai đoạn test chi tiết.

Như vậy, ta thấy được Smoke Test là quá trình diễn ra trước kể cả bất kỳ quá trình kiểm tra chức năng hoặc hồi quy chi tiết nào khác được thực thi trên bản Build của phần mềm. Mục đích rõ ràng nhất của việc kiểm thử này là để kịp thời “từ chối” các ứng dụng bị hỏng nặng. Nếu không phát hiện ra, QA Team sẽ tiến hành cài đặt và thử nghiệm ứng dụng phần mềm vì vậy Smoke Test là điều vô cùng cần thiết, giúp tiết kiệm được cả thời gian và công sức cho QA Team.

Ai là người thực hiện quá trình Smoke Test? 

Ngay khi các chức năng mới của phần mềm được phát triển xong và tích hợp với bản Build ban đầu hay nói cách khác là cứ bất kỳ khi nào có một bản Build mới, QA team cùng các kỹ sư QA sẽ xác định chức năng chính trong ứng dụng và bắt đầu thực hiện Smoke Testing.

Lý tưởng nhất để thực hiện Smoke Test sẽ là QA Lead trong một số trường hợp các kỹ sư QA cũng có thể thực hiện. Tuy nhiên điều này không đúng với SCRUM vì đây là cấu trúc không có Lead vì thế các kỹ sư QA sẽ tự mình tiến hành

2. Nguyên lý hoạt động của Smoke Test

Được các kỹ sư QA thực hiện Smoke Test hoạt động theo nguyên lý sau, bạn có thể hình dung bằng sơ đồ dưới đây:

Nguyên lý hoạt động của Smoke Test
Nguyên lý hoạt động của Smoke Test

Theo quan sát nhánh phía bên phải, nếu kết quả Smoke Test được thông qua (Pass), thì bản Build sẽ được QA team chấp nhận và chuẩn bị tiến hành Test sâu hơn.
Ngược lại, theo quan sát nhánh phía bên trái, nếu kết quả Smoke Test trả về là thất bại (Fail), thì bản Build sẽ bị các kỹ sư QA từ chối (Reject) cho đến khi các lỗi sửa chữa và hoàn thiện (Fix).

3. Kỹ sư QA là gì?

Ở phần thông tin giới thiệu phía trên, có khá nhiều từ như QA team, kỹ sư QA... Vậy các bạn có thắc mắc QA ở đây mang nghĩa gì và QA là làm gì không? Mình sẽ giải đáp ngay sau đây.

QA là viết tắt của cụm từ Tiếng anh Quality Assurance có nghĩa là đảm bảo chất lượng.

QA là người chịu trách nhiệm cao nhất đảm bảo chất lượng của sản phẩm trước khi đưa ra thị trường. Người làm việc tại vị trí QA, cụ thể là các kỹ sư QA có nhiệm vụ chính là giám sát, quản lý và đảm bảo chất lượng của việc xây dựng hệ thống, quy trình sản xuất của công ty theo một chuẩn mực chất lượng đã được quy định.

Một cách dễ hiểu hơn họ là những người đảm bảo chất lượng sản phẩm bằng cách đưa ra quy trình làm việc với các bên liên quan. Trong tất cả các giai đoạn từ khâu nghiên cứu thị trường, thiết kế sản phẩm, nghiên cứu sản phẩm, tiến hành thực hiện, thử nghiệm đến bán ra thị trường, chăm sóc khách hàng tái sử dụng sản phẩm … phải được quản lý thật chặt chẽ.

Đều là giám sát về chất lượng sản phẩm nên sẽ có nhiều bạn nhầm lẫn giữa QA và QC  nhưng xét về tính chất và quá trình làm việc lại có rất nhiều điểm khác nhau giữa hai vị trí này. Chú ý phân biệt các bạn nhé!

Cuối cùng, mục đích của QA hướng đến chính là đảm bảo chất lượng sản phẩm ở mức cao nhất. Và Smoke test là bước đầu tiên trong quy trình kiểm thử phần mềm của QA.

4. Hiệu quả tối ưu của Smoke Test trong QA

Smoke Test thật sự là một loại “kiểm thử” quan trọng. Không thể phủ nhận những đóng góp của nó trong việc phát triển các ứng dụng Software hay các sản phẩm khác. Ta dễ dàng nhận thấy hiệu quả tối ưu của Smoke Test trong ngành QA. 

Các lỗi được phát hiện ở giai đoạn đầu của thử nghiệm 

Trong vòng đời đầu tiên của sản phẩm từ những lỗi cơ bản hay chuyên sâu nghiêm trọng cũng sẽ được tìm ra nếu quá trình Smoke Test diễn ra thành công. Tất cả những vấn đề hay nút thắt xuất hiện trong bản Build đầu tiên sẽ được khắc phục trước khi sản phẩm bước vào giai đoạn test chuyên sâu. Có thể thấy được hiệu quả tối ưu của Smoke Test đã được phát huy tối đa. Giúp tiết kiệm được thời gian công sức và cả tiền bạc của nguồn nhân lực và doanh nghiệp ngay từ ban đầu.

Tạo sự tự tin cho người thử nghiệm tiến hành thử nghiệm

Không đảm bảo sẽ nhận diện lỗi được 100% (có thể lỗi tiềm ẩn hoặc sẽ xuất hiện ở những giai đoạn sau) nhưng nếu sản phẩm qua được Smoke Test thì về cơ bản, sản phẩm không có lỗi. Người thử nghiệm có thể yên tâm tiến hành thử nghiệm sản phẩm và thực hiện các bước tiếp theo. Hiệu quả tối ưu của Smoke Test như một lời đảm bảo trước cho sản phẩm.

Cải thiện chất lượng của toàn bộ hệ thống

Các tính năng mới hoặc vấn đề được tích hợp nhanh hơn. Những khiếm khuyết tiềm ẩn nghiêm trọng sẽ được tìm ra từ đó cải thiện một cách dễ dàng. Giảm thiểu tối đa nhất mức rủi ro có thể xảy ra đe dọa đến sản phẩm.

Smoke Test có thể chỉ cần vài phút để thực hiện quá trình của mình và đặc biệt sẽ chạy rất nhanh nếu được tự động hóa (Automation) vì thế bạn sẽ không cần đợi lâu để nhận được phản hồi.

Xác minh các issue không ảnh hưởng đến hệ thống

Với những bản issue (Phát hành) đã được sửa, Smoke Test xác minh nó không ảnh hưởng đến các chức năng chính của hệ thống. Với những hiệu quả tối ưu của Smoke Test trong ngành QA đã kể trên, có thể bạn cũng tưởng tượng được điều gì sẽ xảy ra nếu chúng ta không thực hiện Smoke Test ở giai đoạn đầu.

Lỗi sẽ tiềm ẩn ở bất cứ đâu trong ứng dụng mà bạn không biết. Ở giai đoạn sau khi đã tiến hành  xây dựng hệ thống, lúc này đây vấn đề sẽ ảnh hưởng trực tiếp đến chất lượng sản phẩm. Việc khắc phục sửa chữa cũng sẽ vô cùng khó khăn và bất lợi. Chi phí doanh nghiệp tổn thất là điều tất yếu.

Quan trọng hơn nữa, nếu ứng dụng, sản phẩm đã giao cho đối tác thì đây là vấn đề chất lượng và chữ tín. Smoke Test là quá trình không quá tốn kém và mất thời gian nhưng những hiệu quả tối ưu của Smoke Test mang lại là rất lớn.

5. Kết luận

Smoke Testing là bước cuối cùng trước khi Software Build đi vào giai đoạn xây dựng hệ thống (System). Các Smoke Test tối ưu hiệu quả test hết mức có thể đồng thời cải thiện chất lượng của ứng dụng.
Hy vọng rằng những thông tin mình vừa chia sẻ trong Smoke test là gì? Hiệu quả tối ưu của smoke test trong ngành QA sẽ hữu ích với các bạn, đặc biệt là những bạn đã, đang và sẽ có ý định  làm trong ngành QA. Bởi đây là một ngành tiềm năng, hầu như có mặt trong rất nhiều các  công ty, doanh nghiệp hiện nay.


Tin tức liên quan

CMS là gì? 5 CMS được nhiều người chọn lựa nhất hiện nay

Kiến thức kỹ thuật| 2021-11-18
Hệ thống quản trị nội dung - CMS giúp tạo quản lý website một cách thuận tiện nhất, vậy CMS là gì? Cùng GrowUpWork tìm hiểu dưới bài viết dưới đây nhé!

Unit Test là gì? Những điều bạn nên biết về Unit Test

Kiến thức kỹ thuật| 2021-11-15
Tìm hiểu Unit Test là gì. Những vấn đề thiết yếu mà tester và developer nên biết và nắm rõ cách sử dụng của Unit Test.

Chọn Fullstack hay Halfstack? Nên chọn hướng đi nào?

Kiến thức kỹ thuật| 2021-10-28
Full-Stack vs Half-Stack? Nên chọn hướng đi nào, mức lương và nhu cầu thực tế của thị trường hiện nay đối với vị trí này.

Phát triển sự nghiệp cho sinh viên IT

Kiến thức kỹ thuật| 2021-10-25
Trong thời đại công nghệ số phát triển, con đường thăng tiến & phát triển sự nghiệp của sinh viên IT có rộng mở? Cùng GrowUpWork tìm hiểu trong bài viết dưới đây nhé!


Việc tạo CV đúng chuẩn giúp gia tăng cơ hội trúng tuyển của bạn ít nhất 20%. Hãy nhanh tay tạo CV Rirekisho chuẩn Nhật hoặc CV chuẩn tiếng Anh theo các mẫu chuyên nghiệp nhất của GrowUpWork chúng tôi dưới đây nhé!