PlusMagi's Blog By Pitt Phunsanit Automated Testing,cd,ci,computer science,engineering,Testing,Uncategorized Smoke Test: การทดสอบที่ช่วย “ดับไฟ” ก่อนจะลุกลาม

Smoke Test: การทดสอบที่ช่วย “ดับไฟ” ก่อนจะลุกลาม

ในการพัฒนาซอฟต์แวร์ หลายคนอาจเคยได้ยินคำว่า “Smoke Test” ซึ่งเป็นหนึ่งในขั้นตอนที่สำคัญที่สุดของการทำ Software Testing บทความนี้จะสรุปให้เข้าใจง่าย ๆ ว่ามันคืออะไร ทำไปเพื่ออะไร และควรเริ่มทำตอนไหนครับ


Smoke Test คืออะไร ?

Smoke Test คือการทดสอบเบื้องต้นเพื่อยืนยันว่า “ฟังก์ชันหลักที่สำคัญที่สุด” ของซอฟต์แวร์ทำงานได้ถูกต้องหลังจากที่มีการ Deploy build ใหม่ลงใน Environment สำหรับทดสอบ

ที่มาของชื่อ
มาจากแวดวงวิศวกรรมฮาร์ดแวร์ เมื่อประกอบวงจรเสร็จแล้วลองเสียบปลั๊กดู ถ้า “ไม่มีควันพุ่งออกมา” แสดงว่าผ่านด่านแรกและพร้อมสำหรับการทดสอบที่ละเอียดขึ้น


ทำไปเพื่ออะไร?

เป้าหมายของ Smoke Test ไม่ใช่การหาบั๊กทุกจุดในระบบ แต่คือการ คัดกรอง

  • ประหยัดเวลา
    หากฟังก์ชันหลักพัง ทีม QA ไม่จำเป็นต้องเสียเวลาไปทดสอบฟังก์ชันย่อยอื่น ๆ
  • หาข้อผิดพลาดระดับวิกฤต
    ตรวจสอบว่า Build ที่ส่งมา “ใช้งานได้จริง”
  • ลดความเสี่ยง
    ป้องกันไม่ให้บั๊กที่ร้ายแรงหลุดไปถึงขั้นตอนการทดสอบที่ซับซ้อนกว่าเดิม

เมื่อไหร่ที่ควรทำ Smoke Test ?

ควรทำทุกครั้งที่มีการ เปลี่ยนแปลง Code หรือมีการ Deploy Build ใหม่ เข้าสู่ระบบ โดยมีลำดับขั้นตอนดังนี้

  1. Developer ส่ง Build ใหม่ให้ QA
  2. QA ทำการรัน Smoke Test
  3. ถ้าผ่าน
    ดำเนินการทดสอบขั้นต่อไป
  4. ถ้าไม่ผ่าน
    ส่ง Build คืนให้ Developer แก้ไขทันที

ตัวอย่างการทำ Smoke Test

สมมติว่าคุณกำลังทดสอบแอปพลิเคชัน E-commerce

ลำดับ รายการทดสอบ ผลลัพธ์ที่คาดหวัง
1 การเปิดแอปพลิเคชัน แอปฯ ต้องเปิดได้ ไม่ค้างหรือ Crash ตั้งแต่หน้าแรก
2 การเข้าสู่ระบบ ผู้ใช้สามารถ Login เข้าสู่ระบบได้สำเร็จ
3 การค้นหาสินค้า พิมพ์ชื่อสินค้าแล้วต้องมีรายการปรากฏขึ้นมา
4 การเพิ่มสินค้าลงตะกร้า สินค้าต้องเข้าไปอยู่ในตะกร้าได้
5 ระบบชำระเงิน สามารถเข้าถึงหน้าชำระเงินได้

ข้อดีและข้อจำกัด

ข้อดี

  • ให้ผลลัพธ์ที่รวดเร็ว
  • ช่วยลดภาระงานของทีม Testing
  • ทำได้ง่าย

ข้อจำกัด

  • ม่ละเอียด
    ไม่ครอบคลุมบั๊กเล็กน้อย หรือบั๊กที่ซ่อนอยู่ในฟังก์ชันรอง
  • ไม่ใช่ตัวตัดสินคุณภาพทั้งหมด
    แม้ Smoke Test จะผ่าน แต่ไม่ได้หมายความว่าซอฟต์แวร์นั้นพร้อมปล่อย 100%

สรุป

Smoke Test เปรียบเสมือนการ “ตรวจสุขภาพเบื้องต้น” ของซอฟต์แวร์ เป็นด่านหน้าที่ช่วยให้ทีมพัฒนาและทีมทดสอบทำงานร่วมกันได้อย่างมีประสิทธิภาพ หากคุณต้องการลดเวลาแฝงในการทำงาน การมีชุดทดสอบ Smoke Test ที่ดี คือการลงทุนที่คุ้มค่าที่สุดอย่างหนึ่งครับ


อ่านเพิ่มเติม

Leave a Reply

Exit mobile version