Lesson 4.3

การทดสอบและปรับปรุงโครงงาน

เมื่อเราประกอบชิ้นงานเสร็จแล้ว อย่าเพิ่งคิดว่างานเสร็จ 100% นะครับ! ในโลกวิศวกรรม "การทดสอบ (Testing)" คือขั้นตอนที่สำคัญพอๆ กับการสร้าง เพื่อค้นหาข้อผิดพลาด (Bug) และนำมา "ปรับปรุง (Refining)" ให้โครงงานของเราสมบูรณ์แบบที่สุดก่อนนำไปใช้งานจริงครับ

📋 การออกแบบกรณีทดสอบ (Test Case)

การทดสอบที่เป็นระบบต้องมีการกำหนด กรณีทดสอบ (Test Case) ล่วงหน้า โดยระบุสถานการณ์หรือเงื่อนไขที่จะทดสอบ และ ผลลัพธ์ที่คาดหวัง (Expected Result) เพื่อใช้เปรียบเทียบกับผลลัพธ์ที่เกิดขึ้นจริงจากการทดสอบ (Actual Result)

มิติของการทดสอบ (Types of Testing)

⚙️

1. ฟังก์ชันการทำงาน

ตรวจสอบว่าเซนเซอร์อ่านค่าได้ตรงไหม มอเตอร์หมุนถูกทิศทางและทำมุมถูกต้องตามที่ออกแบบไว้ใน Flowchart หรือไม่

🌡️

2. สภาพแวดล้อม

ลองนำไปใช้งานในสถานที่จริง เช่น เซนเซอร์แสงเมื่อเจอแสงแดดจริงกับแสงหลอดไฟในห้อง อาจให้ค่าที่ต่างกัน

💪

3. ความทนทาน

ลองเปิดระบบทิ้งไว้ข้ามคืนเพื่อดูว่าบอร์ดร้อนไหม แบตเตอรี่หมดเร็วแค่ไหน หรือชิ้นส่วนที่ติดกาวไว้หลุดหรือไม่

👥

4. ประสบการณ์ผู้ใช้

ให้เพื่อนหรือคนอื่นที่ไม่เคยทำโครงงานนี้มาลองใช้ดู ว่าเขาเข้าใจวิธีใช้หรือไม่ (มีป้ายบอกไหม, ปุ่มกดง่ายไหม)


✨ กรณีศึกษา: การเปลี่ยน "ปัญหา" ให้เป็น "การปรับปรุง"

ตัวอย่างปัญหาที่พบตอนทดสอบ "ถังขยะอัจฉริยะ" และวิธีการแก้ไขครับ

🔴 ปัญหา (Bug): เซนเซอร์รวน

ฝาถังขยะเปิดๆ ปิดๆ เอง ทั้งที่ไม่มีคนเดินผ่านใกล้ๆ

✅ การปรับปรุง (Refine)

เขียนโค้ดให้เซนเซอร์อ่านค่ายืนยัน 2 ครั้งติดกัน (Debouncing) ก่อนสั่งมอเตอร์เปิด

🔴 ปัญหา (Bug): การใช้งาน (UX)

ฝาถังขยะปิดเร็วเกินไป ทิ้งขยะไม่ทัน ฝาหนีบมือผู้ใช้งาน

✅ การปรับปรุง (Refine)

เพิ่มคำสั่ง delay(3000); หลังคำสั่งเปิดฝา เพื่อให้ฝาค้างไว้ 3 วินาทีก่อนปิด

ระบบแจ้งและบันทึกข้อบกพร่อง (Bug Tracking System)

เมื่อพบข้อบกพร่อง ให้นักเรียนวิเคราะห์หาสาเหตุที่แท้จริง (Root Cause) แล้วบันทึกปัญหาพร้อมวิธีการแก้ไข (Optimize) ทั้งฮาร์ดแวร์และซอฟต์แวร์ลงในระบบ เพื่อเป็นฐานข้อมูลและคู่มือสำหรับตนเองและเพื่อน

ศูนย์แก้ปมปัญหา

แนวทางการปรับปรุงและพัฒนาต่อยอด (Optimization)

💡 เคล็ดลับจากครู: ทัศนคติของนักทดสอบ

"หน้าที่ของเราคือ พยายามจับผิดและทำให้พังให้ได้ (Break it intentionally) ยิ่งเราเจอข้อผิดพลาดในห้องเรียนมากเท่าไหร่ โครงงานของเราก็จะยิ่งสมบูรณ์เมื่อนำไปประกวดหรือใช้งานจริงมากขึ้นเท่านั้นครับ!"