การทดสอบการยอมรับ

การทดสอบการยอมรับ (Acceptance Test) คือวิธีการทดสอบที่ใช้ตรวจสอบว่าฟีเจอร์ที่พัฒนาขึ้นนั้นตรงตามความต้องการทางธุรกิจและ User Story หรือไม่ โดยพิจารณาจากมุมมองของ Product Owner และ Stakeholder
"ทำงานได้" กับ "ใช้งานได้จริง" คือคนละเรื่องกัน
ในขณะที่ unit test และ functional test ทำหน้าที่ตรวจสอบว่า "โค้ดทำงานได้ถูกต้องหรือไม่" แต่ acceptance test นั้นตรวจสอบว่า "ผลลัพธ์ตรงกับสิ่งที่ธุรกิจต้องการหรือไม่" แม้จะไม่มีบัก แต่หากพฤติกรรมของระบบไม่ตรงกับ requirement ก็ไม่สามารถ release ได้
การเขียน acceptance test มักอยู่ในรูปแบบที่ใกล้เคียงกับภาษาธรรมชาติ เช่น "เมื่อ admin ล็อกอินแล้วเปิดรายชื่อพนักงาน ระบบจะแสดงเฉพาะพนักงานในเทนแนนต์ของตนเองเท่านั้น" โดยอธิบายพฤติกรรมของผู้ใช้และผลลัพธ์ที่คาดหวังในรูปแบบ scenario ไวยากรณ์ Gherkin (Given-When-Then) คือรูปแบบที่เป็นตัวแทนของแนวทางนี้
ระดับของการทำ Automation
acceptance test บางส่วนดำเนินการด้วยมือ ในขณะที่บางกรณีก็ทำ automation ด้วยเครื่องมืออย่าง Playwright ใน ATDD (Acceptance Test-Driven Development) นั้น จะกำหนด acceptance criteria ไว้ก่อน จากนั้นจึง implement เป็น automated test แล้วค่อยเริ่มพัฒนา เนื่องจากการพึ่งพา manual test มักทำให้ความถี่ในการรันลดลง การทำ automation สำหรับ scenario ที่มีความสำคัญสูงจึงกลายเป็นแนวปฏิบัติมาตรฐานในการทำงานจริง
ความสัมพันธ์กับ Sprint Review
ในการพัฒนาแบบ Scrum มักมีการตรวจสอบผลลัพธ์ของ acceptance test ใน sprint review เนื่องจากผลลัพธ์เหล่านี้เป็นข้อมูลสำคัญที่ Product Owner ใช้ตัดสินใจว่า "ฟีเจอร์นี้ยอมรับได้หรือไม่" จึงเป็นสิ่งที่ดีที่สุดหากทีมสามารถตกลงกันเรื่อง test scenario ได้ตั้งแต่ช่วง sprint planning
บทความที่กล่าวถึงคำศัพท์นี้
- การพัฒนาจะเปลี่ยนไปอย่างไรด้วย Claude Mythos และ Fable: จากการตรวจสอบ "การเขียนโค้ดที่ถูกต้อง" สู่ "การทำงานที่ถูกต้อง"Claude Mythos และ Fable 5 จาก Anthropic โดดเด่นด้านงานเอเจนต์ระยะยาว เปลี่ยนการพัฒนาจากการเน้น "โค้ดที่ถูกต้อง" สู่ "ผลลัพธ์ที่ถูกต้อง" พร้อมเจาะลึกการใช้งานร่วมกับ /goal และ Dynamic workflows เพื่อการมอบหมายงานอย่างมีประสิทธิภาพตามข้อมูลทางการ
- คู่มือการออกแบบการประเมิน AI Agent — การเรียกใช้เครื่องมือ, รอยทางการทำงาน และการตรวจจับการถดถอยสำหรับ AI Agent นั้น สิ่งที่ขาดไม่ได้ไม่ใช่เพียงแค่ผลลัพธ์สุดท้าย แต่รวมถึงการตรวจสอบการเรียกใช้เครื่องมือ (Tool calling) และเส้นทางการทำงาน (Execution trajectory) อีกด้วย เราจะอธิบายขั้นตอนตั้งแต่การออกแบบ Golden Set, การให้คะแนนเส้นทางการทำงาน, ไปจนถึงการตรวจจับการถดถอย (Regression) ภายใต้สภาวะที่ไม่แน่นอน (Non-determinism) และการเชื่อมต่อกับ CI
- การใช้งาน AI Observability: การบูรณาการเข้ากับการตรวจสอบแอปพลิเคชันเดิมและการนำไปใช้แบบเป็นขั้นตอนขั้นตอนการผสานรวม AI Observability เข้ากับโครงสร้างพื้นฐานการตรวจสอบแอปพลิเคชันเดิม ตั้งแต่การสร้าง Data Pipeline ไปจนถึงกลยุทธ์การใช้งานจริงกับระบบ Legacy
คำศัพท์ที่เกี่ยวข้อง

การทดสอบ E2E
การทดสอบ E2E (End-to-End Testing) คือวิธีการทดสอบที่จำลองการกระทำของผู้ใช้เป็นจุดเริ่มต้น แล้วส่งผ่า

SSM (AWS Systems Manager)
AWS Systems Manager (SSM) คือ AWS Managed Service ที่ใช้สำหรับบริหารจัดการและดำเนินการ EC2 Instance

ATDD
ATDD (Acceptance Test-Driven Development) คือวิธีการพัฒนาซอฟต์แวร์ที่ทีมงานทั้งหมดร่วมกันกำหนดเกณฑ์ก

ปัญหา N+1 Query
ปัญหา N+1 Query คือ anti-pattern ด้านประสิทธิภาพที่เกิดขึ้นเมื่อดึงข้อมูลรายการด้วย query ครั้งเดียว


