การทดสอบการยอมรับ (Acceptance Test) คือวิธีการทดสอบที่ใช้ตรวจสอบว่าฟีเจอร์ที่พัฒนาขึ้นนั้นตรงตามความต้องการทางธุรกิจและ User Story หรือไม่ โดยพิจารณาจากมุมมองของ Product Owner และ Stakeholder
ในขณะที่ unit test และ functional test ทำหน้าที่ตรวจสอบว่า "โค้ดทำงานได้ถูกต้องหรือไม่" แต่ acceptance test นั้นตรวจสอบว่า "ผลลัพธ์ตรงกับสิ่งที่ธุรกิจต้องการหรือไม่" แม้จะไม่มีบัก แต่หากพฤติกรรมของระบบไม่ตรงกับ requirement ก็ไม่สามารถ release ได้
การเขียน acceptance test มักอยู่ในรูปแบบที่ใกล้เคียงกับภาษาธรรมชาติ เช่น "เมื่อ admin ล็อกอินแล้วเปิดรายชื่อพนักงาน ระบบจะแสดงเฉพาะพนักงานในเทนแนนต์ของตนเองเท่านั้น" โดยอธิบายพฤติกรรมของผู้ใช้และผลลัพธ์ที่คาดหวังในรูปแบบ scenario ไวยากรณ์ Gherkin (Given-When-Then) คือรูปแบบที่เป็นตัวแทนของแนวทางนี้
acceptance test บางส่วนดำเนินการด้วยมือ ในขณะที่บางกรณีก็ทำ automation ด้วยเครื่องมืออย่าง Playwright ใน ATDD (Acceptance Test-Driven Development) นั้น จะกำหนด acceptance criteria ไว้ก่อน จากนั้นจึง implement เป็น automated test แล้วค่อยเริ่มพัฒนา เนื่องจากการพึ่งพา manual test มักทำให้ความถี่ในการรันลดลง การทำ automation สำหรับ scenario ที่มีความสำคัญสูงจึงกลายเป็นแนวปฏิบัติมาตรฐานในการทำงานจริง
ในการพัฒนาแบบ Scrum มักมีการตรวจสอบผลลัพธ์ของ acceptance test ใน sprint review เนื่องจากผลลัพธ์เหล่านี้เป็นข้อมูลสำคัญที่ Product Owner ใช้ตัดสินใจว่า "ฟีเจอร์นี้ยอมรับได้หรือไม่" จึงเป็นสิ่งที่ดีที่สุดหากทีมสามารถตกลงกันเรื่อง test scenario ได้ตั้งแต่ช่วง sprint planning


การทดสอบแบบ Unit Test คือวิธีการทดสอบที่ตรวจสอบหน่วยย่อยที่สุดของโปรแกรม เช่น ฟังก์ชันหรือเมธอด เป็นรายการ โดยแทนที่การพึ่งพาภายนอกด้วย Mock เพื่อให้สามารถตรวจสอบเฉพาะ Logic ที่ต้องการได้อย่างรวดเร็ว

ATDD (Acceptance Test-Driven Development) คือวิธีการพัฒนาซอฟต์แวร์ที่ทีมงานทั้งหมดร่วมกันกำหนดเกณฑ์การทดสอบการยอมรับ (Acceptance Test) ก่อนเริ่มการพัฒนา จากนั้นจึงทำการ Automate การทดสอบดังกล่าว แล้วจึงดำเนินการ Implement ต่อไป

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

AI Governance คืออะไร? คู่มือปฏิบัติจาก EU AI Act สู่การจัดระเบียบกฎภายในองค์กร

การทดสอบเชิงฟังก์ชัน (Feature Test) คือวิธีการทดสอบที่ตรวจสอบพฤติกรรมของระบบในระดับฟังก์ชันหรือ Use Case ที่เฉพาะเจาะจง โดยครอบคลุมขอบเขตที่กว้างกว่าการทดสอบแบบ Unit Test และมุ่งยืนยันว่าโมดูลหลายตัวทำงานร่วมกันได้อย่างถูกต้อง