
Software Testing Foundation
ซอฟต์แวร์ที่มีปัญหาหลังส่งมอบส่วนใหญ่ไม่ได้พังเพราะไม่มีการทดสอบ แต่พังเพราะทดสอบไม่ตรงจุด Requirement ที่ตกหล่นหรือขัดกันเองไม่ถูกจับได้ตั้งแต่ต้น Test Case เขียนกว้างจนคนอื่นทำตามไม่ได้…
หลักสูตร TDD with Node.js and TypeScript เป็นการอบรมการพัฒนา Backend แบบเขียน Test ก่อนโค้ดด้วย Vitest ตั้งแต่ Red-Green-Refactor ไปจนถึงทดสอบ REST API และฐานข้อมูลจริงด้วย Testcontainers เหมาะกับนักพัฒนา Backend และ Tech Lead จบแล้วได้ API ต้นแบบพร้อมชุด Test และ CI Pipeline
ทุกวันนี้ทีมพัฒนาส่งมอบซอฟต์แวร์ได้เร็วขึ้นมาก ทั้งจากเครื่องมือสมัยใหม่และ AI ที่ช่วยเขียนโค้ด แต่ความเร็วมาพร้อมความเสี่ยง โค้ดอาจมีข้อผิดพลาดซ่อนอยู่ การแก้ส่วนหนึ่งทำให้อีกส่วนพังโดยไม่รู้ตัว และชุดทดสอบที่เขียนตามหลังมักไม่ครอบคลุมพฤติกรรมสำคัญ ทีมจึงต้องการวิธีทำงานที่สร้างความมั่นใจในคุณภาพตั้งแต่บรรทัดแรกของโค้ด
หลักสูตรนี้ฝึกวงจร Red-Green-Refactor อย่างเป็นระบบบน Node.js 24 LTS และ TypeScript โดยใช้ Vitest เป็นเครื่องมือหลัก เริ่มจาก Kata สั้น ๆ ต่อยอดสู่ REST API ด้วย Express 5 และ Supertest ทดสอบกับ PostgreSQL จริงด้วย Testcontainers วัดคุณภาพของ Test ด้วย Coverage และ Mutation Testing แล้วนำทั้งหมดเข้าสู่ CI Pipeline ผ่านโปรเจกต์ ParcelPoint Shipment API ชุดเดียวที่พัฒนาด้วย TDD ตลอดหลักสูตร (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)
รายละเอียดหลักสูตร
หลักสูตรนี้ต่อยอดจาก Software Testing Foundation และ Basic Node.js โดยเน้นงานของนักพัฒนา Backend ที่เขียน Test ก่อนโค้ดในระดับ Unit และ Integration ซึ่งให้ผลต่อคุณภาพโค้ดมากที่สุด ส่วน End-to-End Test ของหน้าเว็บอยู่ในหลักสูตร Playwright End-to-End Test Automation อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบ Workshop
ต่อเนื่องบนโปรเจกต์ ParcelPoint Shipment API ชุดเดียวที่ใช้ข้อมูลจำลองทั้งหมด ใช้ Express 5 เป็นตัวอย่างหลัก และแนวทางเดียวกันใช้กับ Fastify, Hono หรือ NestJS ได้ เครื่องมือทั้งหมดเป็นโอเพนซอร์สและรันบนเครื่องของผู้เรียนด้วย Docker การทดลอง CI ใช้บัญชี GitHub หรือ GitLab ของผู้เรียน ผู้เรียนจะได้ Source Code ชุด Test และไฟล์ CI Pipeline กลับไปใช้เป็นแม่แบบของทีม
Section 1: หลักการของ Test Driven Development
Section 2: ตั้งค่าโปรเจกต์ Node.js และ TypeScript
Section 3: เขียน Unit Test ที่ดี
Section 4: ฝึก TDD Kata
Section 5: Workshop Day 1: Domain Logic ของ ParcelPoint
Section 6: ออกแบบโค้ดให้ทดสอบได้
Section 7: Test Doubles
Section 8: TDD กับ REST API
Section 9: ทดสอบการยืนยันตัวตนและสิทธิ์
Section 10: Workshop Day 2: REST API ของ ParcelPoint
Section 11: Integration Testing ด้วย Testcontainers
Section 12: Code Coverage
Section 13: Mutation Testing ด้วย StrykerJS
Section 14: นำ TDD เข้าสู่ CI และการทำงานของทีม
Section 15: Master Workshop: ParcelPoint ที่พร้อมใช้งาน
ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770
Software Testing Foundation ปูพื้นหลักการทดสอบซอฟต์แวร์ในภาพกว้าง และ Playwright End-to-End Test Automation เน้นทดสอบหน้าเว็บแบบจำลองผู้ใช้ ส่วนหลักสูตรนี้เป็นมุมของนักพัฒนา Backend ที่เขียน Test ก่อนโค้ดบน Node.js และ TypeScript ในระดับ Unit และ Integration ตั้งแต่ Domain Logic, REST API ด้วย Supertest, ฐานข้อมูลจริงด้วย Testcontainers ไปจนถึง Mutation Testing และ Quality Gate ใน CI ทั้งสามหลักสูตรจึงเสริมกัน
ไม่จำเป็น วันแรกปูพื้นการเขียน Unit Test ด้วย Vitest ตั้งแต่ต้น แต่ผู้เรียนควรเขียน JavaScript หรือ TypeScript ได้ในระดับใช้งานจริง และเคยพัฒนา REST API ด้วย Node.js มาก่อน
ได้ หลักสูตรใช้ Express 5 เป็นตัวอย่างหลักเพราะคนคุ้นเคยมากที่สุด แต่หลักการ TDD การแยก Layer, Test Doubles, Testcontainers และ Mutation Testing ใช้ได้เหมือนกันกับ Framework อื่น ผู้สอนจะชี้จุดที่ต่างกันเมื่อนำไปใช้กับ Fastify, Hono หรือ NestJS
Notebook ที่มี RAM อย่างน้อย 8 GB (แนะนำ 16 GB) ติดตั้ง Node.js 24 LTS, Git, VS Code และ Docker Desktop ที่รัน Container ได้ (Windows ต้องเปิด WSL2) เพราะ Testcontainers ใช้ Docker และบัญชี GitHub หรือ GitLab ของผู้เรียนเองสำหรับทดลอง CI Pipeline
Coverage บอกได้เพียงว่าโค้ดบรรทัดใดถูกรันระหว่างทดสอบ แต่ไม่ได้บอกว่า Test ตรวจผลลัพธ์จริงหรือไม่ Mutation Testing ด้วย StrykerJS จะแก้โค้ดทีละจุดโดยอัตโนมัติ แล้วดูว่า Test จับความผิดปกตินั้นได้หรือไม่ ช่วยให้หา Test ที่อ่อนแอและปรับปรุงได้ตรงจุด
เนื้อหาอ้างอิง Node.js 24 LTS, TypeScript 7 ที่ใช้ Native Compiler, Vitest และ Express 5 ซึ่งเป็นรุ่นปัจจุบัน และจะอธิบายกรณีที่เครื่องมือบางตัวยังต้องใช้ TypeScript 6 เนื่องจากเครื่องมือในสาย JavaScript ออกรุ่นใหม่บ่อย เนื้อหาจะปรับตามรุ่นล่าสุด ณ วันอบรม

ซอฟต์แวร์ที่มีปัญหาหลังส่งมอบส่วนใหญ่ไม่ได้พังเพราะไม่มีการทดสอบ แต่พังเพราะทดสอบไม่ตรงจุด Requirement ที่ตกหล่นหรือขัดกันเองไม่ถูกจับได้ตั้งแต่ต้น Test Case เขียนกว้างจนคนอื่นทำตามไม่ได้…

การทดสอบเว็บด้วยมือทุกครั้งก่อนปล่อยของทำให้ทีมเสียเวลามาก และยิ่งระบบใหญ่ขึ้นก็ยิ่งทดสอบไม่ทั่วถึง สุดท้ายบั๊กที่ผู้ใช้เจอมักเป็นจุดที่ไม่มีใครได้กดซ้ำ Playwright เป็นเครื่องมือทดสอบอัตโนมัติจาก Microsoft ที่สั่งเบราว์เซอร์ทำงานแทนคนได้ครบทั้ง Chromium,…

Node.js ทำให้ JavaScript ที่นักพัฒนาคุ้นเคยจากหน้าเว็บ ทำงานฝั่งเซิร์ฟเวอร์และบนเครื่องได้ ตั้งแต่สคริปต์จัดการไฟล์ เครื่องมือ Command Line ไปจนถึง Web API และระบบแบบ Real-time เวอร์ชันปัจจุบันมีเครื่องมือในตัวมากขึ้น เช่น fetch, Test Runner, Watch Mode…
เว็บไซต์นี้ใช้คุกกี้
เราใช้คุกกี้ที่จำเป็นเพื่อให้เว็บไซต์ทำงานได้ และจะใช้คุกกี้ประเภทอื่นเมื่อได้รับความยินยอมจากคุณเท่านั้น อ่านนโยบายคุกกี้