คอร์สออนไลน์สอนการใช้งาน Cypress เพื่อทดสอบเว็บแอพพลิเคชันแบบ automated testing
เรียนรู้การทำ Unit/Component, Integration และ E2E Testing เพื่อทดสอบเว็บด้วย Cypress
รายละเอียดคอร์ส
Automation Testing เป็นเทคนิคที่ช่วยให้เราสามารถเขียนสคริปต์เพื่อทดสอบระบบได้ หากคุณต้องการเขียนโค้ดเพื่อทดสอบ UI บนเว็บ Cypress ถือเป็นหนึ่งตัวเลือกยอดนิยมในปัจจุบัน
Cypress ถือเป็นเครื่องมือสำหรับการทดสอบเว็บแบบ Automated Testing เพียงแค่คุณสามารถเขียนภาษา JavaScript ได้ การสร้างสคริปต์สำหรับทดสอบโปรแกรมก็ไม่ใช่เรื่องยากอีกต่อไป
Cypress มาพร้อมกับส่วนประสานการใช้งานที่เรียกว่า Cypress Test Runner ที่ถูกออกแบบมาให้ Tester ใช้งานได้โดยง่าย ไม่ว่าจะเป็นการเลือกสคริปต์หรือเว็บเบราว์เซอร์ (Chrome, Firefox, Edge และ Electron) ที่ต้องการทดสอบ การแสดงผล Command Log ที่บ่งชี้ว่าสคริปต์ของเราทำขั้นตอนอะไรไปบ้างระหว่างทดสอบโปรแกรม นอกจากนี้การแก้ไขสคริปต์ใด ๆ จะถูกโหลดเพื่อทดสอบใหม่โดยอัตโนมัติโดยที่เราไม่ต้องปิดเพื่อเปิดโปรแกรมใหม่อีกครั้ง
เพื่อให้สคริปต์ของเรามีคุณภาพมากขึ้นคอร์สนี้จะสอนการใช้งาน Cypress ด้วยภาษา TypeScript อันเป็นภาษาต่อยอดจาก JavaScript ภาพในคอร์สจะมีบทเรียนพิเศษที่สอนการใช้งานภาษา TypeScript สำหรับ Cypress โดยเฉพาะ เพียงแค่ผู้เรียนมีพื้นฐานในภาษา JavaScript ก็สามารถต่อยอดด้วยการเขียน TypeScript กับ Cypress ในคอร์สเรียนนี้ได้
เพื่อให้การใช้งาน Cypress เป็นไปอย่างราบรื่น คอร์สนี้จะปูพื้นฐานการใช้งานไลบรารี่ที่สำคัญต่อการใช้งาน Cypress ได้แก่ Mocha, Chai, jQuery และ Lodash รวมไปถึงการใช้งานคำสั่งต่าง ๆ เพื่อเข้าถึงแต่ละอีลีเมนต์บนหน้าเว็บ และการตรวจสอบข้อมูลของแต่ละอีลีเมนต์ด้วย Cypress
นอกเหนือจากเรื่องพื้นฐานการใช้งาน Cypress แล้ว คอร์สนี้ยังกล่าวถึงการใช้งาน Cypress คู่กับเว็บที่มีการเชื่อมต่อ RESTful API เพื่อนำข้อมูลจากเว็บเซอร์วิสนั้น ๆ มาแสดงผล ในคอร์สนี้ผู้เรียนจะได้เรียนรู้หลักการจำลองข้อมูลเพื่อใช้สำหรับการทดสอบโปรแกรมผ่านหลักการของ intercept API, Fixtures และ Mock Data รวมถึงการสร้างคำสั่งใหม่บน Cypress เพื่อให้เกิดความสะดวกในการใช้งาน เป็นต้น
การทำงานกับฟอร์ม เป็นอีกหนึ่งหัวข้อสำคัญ เราจะได้เรียนรู้วิธีการกรอกข้อมูลในช่อง input และการทำงานกับอีลีเมนต์อื่น ๆ บนหน้าเพจเช่น select และ radio button การตรวจสอบข้อมูลในฟอร์มภายหลังการ submit การทดสอบการ validate ข้อมูลในฟอร์ม การอัพโหลดไฟล์ในฟอร์ม รวมถึงการจัดการข้อมูลในฟอร์มแบบ FormData เป็นต้น
อีกหนึ่งหัวข้อสำคัญคือเรื่องของ Authentication และ Authorization ผู้เรียนจะได้เรียนรู้การใช้งาน Cypress เพื่อทดสอบการสมัครสมาชิก การเข้าสู่ระบบ และการออกจากระบบ ซึ่งเป็นส่วนการทำงานของ Authentication ภายหลังที่ผู้ใช้งานสามารถเข้าสู่ระบบได้แล้วเรายังต้องมีการตรวจสอบสิทธิ์ว่าผู้ใช้งานนั้น ๆ มีสิทธิ์ในการเข้าถึงหน้าเพจนั้น ๆ หรือไม่ นี่คือกระบวนการของ Authorization ในคอร์สนี้ผู้เรียนจะได้เรียนรู้การจัดการสิทธิ์ของผู้ใช้งานตามบทบาท (Role) ตามหลักการของ RBAC เช่น เฉพาะผู้ใช้งานที่มี Role เป็น Admin และ Editor ที่สามารถเข้าถึงหน้า Admin UI ได้ เป็นต้น
คอร์สนี้ผู้เรียนจะได้ทราบประเภทต่าง ๆ ของการทดสอบโปรแกรม เช่น การทดสอบโปรแกรมแบบ Unit, Integration และ E2E เนื้อหาช่วงหลังของคอร์สผู้เรียนจะได้ทราบถึงการทดสอบคอมโพแนนท์ที่ถูกพัฒนาด้วย React ผ่านหลักการของ Component Testing บน Cypress ด้วยการใช้ Cypress Testing Library อันเป็นเครื่องมือยอดนิยมสำหรับการทดสอบเว็บด้วย Cypress
ไม่ใช่เฉพาะ syntax ของการใช้งาน Cypress ที่ผู้เรียนจะได้รับจากคอร์สนี้ หากแต่รวมถึงหลักการและแบบปฏิบัติอันดีในการทดสอบระบบ ในบทเรียนสุดท้ายเราได้รวบรวมคำถามพบบ่อย (FAQ) ไว้ให้ศึกษาแล้วเช่นกัน
Workshop
เราได้ทำการเตรียมโปรเจคเว็บไว้ให้แล้ว เว็บแอพพลิเคชันที่ผู้เรียนจะได้ทดสอบเป็น Workshop จะเป็นแอพพลิเคชันแสดงผลบทความ ที่มีรูปแบบการทำงานที่ซับซ้อน เช่น สามารถค้นหาและกรองบทความตามประเภทได้ รวมถึงการแบ่งหน้าการแสดงผลบทความออกเป็นหลายหน้า (Pagination) เป็นต้น
แอพพลิเคชันนี้ได้เตรียมหน้าเพจที่จำเป็นสำหรับให้ผู้เรียนเขียน Cypress ไว้ทดสอบตัวโปรเจคได้ทันที เช่น หน้าสำหรับการลงทะเบียนและเข้าสู่ระบบ เป็นต้น
แอพพลิเคชันนี้จะแบ่งออกเป็นสองส่วนหลักคือส่วนการแสดงผลสำหรับผู้ใช้งานทั่วไปและส่วนของ Admin หน้า Admin UI นี้จะเป็นส่วนสำหรับจัดการงานเบื้องหลัง เช่น การแก้ไขค่าของ User หรือการสร้างบทความใหม่เป็นต้น ทั้งนี้ส่วนของ Admin UI จะถูกจำกัดการเข้าถึงด้วย Role เฉพาะผู้มี Role เป็น Admin และ Editor ถึงสามารถเข้าถึงหน้านี้ได้
คอร์สนี้ผู้สอนได้จัดเตรียมซอร์จโค้ดการทำงานของ Cypress ไว้แล้ว ผู้เรียนที่ไม่ต้องการพิมพ์คำสั่งด้วยตนเองจึงสามารถดาวน์โหลดโค้ดไปศึกษาต่อได้ทันที
เนื้อหาบทเรียน
คอร์สนี้เหมาะกับใคร
- QA หรือ Tester ผู้ต้องการทดสอบเว็บแบบ Automated Testing
- Developer ผู้ต้องการทดสอบเว็บแบบ Integration/E2E Testing ด้วย Cypress
- Developer ผู้ต้องการเขียน Unit Testing บนคอมโพแนนท์ของ React ตามเทคนิคของ Component Testing ด้วย Cypress
- ผู้สนใจและต้องการศึกษาการทดสอบเว็บแบบ Automated Testing ด้วย Cypress
ผู้สอน
นักพัฒนาซอฟต์แวร์ประสบการณ์กว่า 10 ปี ผู้ก่อตั้ง Babel Coder วิทยากรอบรมการพัฒนาซอฟต์แวร์และผู้ให้คำปรึกษาในบริษัทชั้นนำ
คำถามพบบ่อย
คำถาม: จำเป็นต้องมีพื้นฐานอะไรบ้าง
คำตอบ: ผู้เรียนจำเป็นต้องมีพื้นฐานการเขียนโปรแกรมในภาษา JavaScript และสามารถใช้งาน ES2015 ในหัวข้อสำคัญเช่น Classes และ Arrow Functions เป็นต้น
คำถาม: มีจำกัดเวลาเข้าชมหรือไม่
คำตอบ: ผู้เรียนสามารถเข้าชมคอร์สได้ทุกเวลาตลอดอายุการใช้งาน
คำถาม: ผู้เรียนจะได้รับการอัพเดทเนื้อหาตลอดเวลาหรือไม่
คำตอบ: ผู้เรียนจะได้รับการอัพเดทเนื้อหาเป็นเวลา 1 ปีนับจากวันที่ทำการซื้อคอร์ส หลังพ้นกำหนดผู้เรียนยังคงเข้าชมคอร์สได้ตามปกติ แต่จะไม่ได้รับการอัพเดทเนื้อหาอีกต่อไป
คำถาม: บริการหลังการขายมีอะไรบ้าง
คำตอบ: การถาม-ตอบ เนื้อหาที่เกี่ยวกับบทเรียน
คำถาม: จะสามารถสั่งซื้อคอร์สนี้ในนามบริษัทได้อย่างไร
คำตอบ: คุณลูกค้าสามารถติดต่อเพจ Babel Coder เพื่อขอใบเสนอราคา
ได้ครับ โดยราคาสำหรับองค์กรจะเป็นราคาจำหน่ายเต็มจากราคาที่ระบุครับ
สอบถามเพิ่มเติมโปรดติดต่อ เพจ Babel Coder