ขอแนะนำคอร์ส Cypress และ K6 สร้าง Automated Testing เว็บและ API ด้วย Cypress และ Performance Testing ด้วย K6 รายละเอียดเพิ่มเติมที่ https://www.babelcoder.com/courses/automated-testing-cypress-k6-classroom/

คอร์สออนไลน์สอนการใช้งาน Cypress เพื่อทดสอบเว็บแอพพลิเคชันแบบ automated testing

เรียนรู้การทำ Unit/Component, Integration และ E2E Testing เพื่อทดสอบเว็บด้วย Cypress

5,950
3,500 บาท
11.74
ชั่วโมงเรียน
89
วิดีโอ
13
บทเรียน
Beginner
ระดับ
รายละเอียด
ความคิดเห็น

รายละเอียดคอร์ส

Automation Testing เป็นเทคนิคที่ช่วยให้เราสามารถเขียนสคริปต์เพื่อทดสอบระบบได้ หากคุณต้องการเขียนโค้ดเพื่อทดสอบ UI บนเว็บ Cypress ถือเป็นหนึ่งตัวเลือกยอดนิยมในปัจจุบัน

Cypress ถือเป็นเครื่องมือสำหรับการทดสอบเว็บแบบ Automated Testing เพียงแค่คุณสามารถเขียนภาษา JavaScript ได้ การสร้างสคริปต์สำหรับทดสอบโปรแกรมก็ไม่ใช่เรื่องยากอีกต่อไป

Cypress มาพร้อมกับส่วนประสานการใช้งานที่เรียกว่า Cypress Test Runner ที่ถูกออกแบบมาให้ Tester ใช้งานได้โดยง่าย ไม่ว่าจะเป็นการเลือกสคริปต์หรือเว็บเบราว์เซอร์ (Chrome, Firefox, Edge และ Electron) ที่ต้องการทดสอบ การแสดงผล Command Log ที่บ่งชี้ว่าสคริปต์ของเราทำขั้นตอนอะไรไปบ้างระหว่างทดสอบโปรแกรม นอกจากนี้การแก้ไขสคริปต์ใด ๆ จะถูกโหลดเพื่อทดสอบใหม่โดยอัตโนมัติโดยที่เราไม่ต้องปิดเพื่อเปิดโปรแกรมใหม่อีกครั้ง

Cypress Test Runner

เพื่อให้สคริปต์ของเรามีคุณภาพมากขึ้นคอร์สนี้จะสอนการใช้งาน 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 เพื่อให้เกิดความสะดวกในการใช้งาน เป็นต้น

API

การทำงานกับฟอร์ม เป็นอีกหนึ่งหัวข้อสำคัญ เราจะได้เรียนรู้วิธีการกรอกข้อมูลในช่อง 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) เป็นต้น

Web Application

แอพพลิเคชันนี้ได้เตรียมหน้าเพจที่จำเป็นสำหรับให้ผู้เรียนเขียน Cypress ไว้ทดสอบตัวโปรเจคได้ทันที เช่น หน้าสำหรับการลงทะเบียนและเข้าสู่ระบบ เป็นต้น

Auth

แอพพลิเคชันนี้จะแบ่งออกเป็นสองส่วนหลักคือส่วนการแสดงผลสำหรับผู้ใช้งานทั่วไปและส่วนของ Admin หน้า Admin UI นี้จะเป็นส่วนสำหรับจัดการงานเบื้องหลัง เช่น การแก้ไขค่าของ User หรือการสร้างบทความใหม่เป็นต้น ทั้งนี้ส่วนของ Admin UI จะถูกจำกัดการเข้าถึงด้วย Role เฉพาะผู้มี Role เป็น Admin และ Editor ถึงสามารถเข้าถึงหน้านี้ได้

Admin UI

คอร์สนี้ผู้สอนได้จัดเตรียมซอร์จโค้ดการทำงานของ Cypress ไว้แล้ว ผู้เรียนที่ไม่ต้องการพิมพ์คำสั่งด้วยตนเองจึงสามารถดาวน์โหลดโค้ดไปศึกษาต่อได้ทันที

เนื้อหาบทเรียน

Unit
1
ก้าวแรกสู่ Cypress
เรียนรู้การติดตั้งและใช้งาน Cypress เบื้องต้น รวมถึงเครื่องมือต่าง ๆ ที่เกี่ยวข้องในการเขียนเทส เช่น TypeScript, ESLint และ Prettier เป็นต้น
การติดตั้งโปรแกรมที่จำเป็น
0.41
การใช้งาน TypeScript สำหรับ Cypress
16.13
การติดตั้งและใช้งาน Cypress เบื้องต้น
7.45
Prettier และ ESLint
8.52
ภาพรวมโปรเจ็กต์
4.37
ประเภทของการทดสอบโปรแกรม
16.34
Cypress Test Runner
3.54
Unit
2
Mocha, Chai, jQuery และ Lodash
เรียนรู้การใช้งานไลบรารี่ที่สำคัญในโลกของ Cypress อันได้แก่ Mocha, Chai, jQuery และ Lodash
ส่วนประกาศของ it, describe และ context
9.54
Mocha Hooks
5.51
Chai Assertions
6.07
การใช้งาน should
3.22
jQuery Selectors
10.4
แบบปฏิบัติที่ดีในการเข้าถึงอีลีเมนต์
4.38
chai-jquery
7.32
Lodash
9.47
only และ skip
2.19
Unit
3
Cypress Commands และ Assertions
เรียนรู้ระบบคำสั่งและกลุ่มการตรวจสอบค่าของ Cypress
each
5.24
within
4.43
Multiple Assertions
5.5
wrap, its และ invoke
1.25
location
2.3
Workshop: Word List
9.45
Workshop: Word List Validation
4.1
Cypress Custom Commands
7.22
baseUrl
1.52
Commands, Assertions และ Retry Ability
10.4
รูปแบบการใช้งาน should และ then
5.23
Unit
4
Network Request
เรียนรู้การใช้งาน Cypress เพื่อสื่อสารกับ API Server รวมถึงการตรวจสอบค่าจากเน็ตเวิร์ค
API และ ฐานข้อมูลของ Word List API
5.12
Recap RESTful API
6.25
การตรวจสอบเนื้อหาจาก API
6.16
คำสั่ง request
3.27
การตั้งค่า Environment Variables
2.42
การตรวจสอบค่า Network Request
7.03
prevSubject
13.54
Unit
5
Fixtures และ Mock Data
ศึกษาการใช้งาน Fixtures และการสร้างชุดข้อมูลจำลอง (Mock Data) เพื่อเป็นตัวแทนของข้อมูลจากเน็ตเวิร์คสำหรับการใช้งานควบคู่กับการทำ intercept API
Cypress Interception
21.57
การสร้างคำสั่ง interceptApi
6.17
intercept และ query string
8.53
คำสั่ง wait
12.52
Intercept API ด้วย Fixtures
3.49
การโหลดข้อมูลจากไฟล์ Fixtures มาใช้งาน
3.19
Faker.js
6.49
การประยุกต์ใช้งาน Faker.js กับ test cases
18.34
Unit
6
การทดสอบฟอร์ม
เข้าใจกระบวนการใช้ Cypress เพื่อทดสอบการทำงานบนฟอร์ม ทั้งการกรอกข้อมูลในช่อง input การคลิกปุ่มเพื่อ submit ฟอร์ม และการตรวจสอบข้อมูลจากฟอร์มก่อนนำส่งสู่ API Server เป็นต้น
การกรอกข้อมูลบนฟอร์ม
14.14
Intercept ข้อมูลจากฟอร์ม
5.55
Form Validation
5.28
Special Characters
2.38
File Upload
4.34
Intercept FormData
4.59
Unit
7
Models และ Factories
เรียนรู้การสร้าง Models และฟังก์ชันประเภท Factory เพื่อสร้างชุดข้อมูลสำหรับการทดสอบโปรแกรม
Workshop: เว็บแสดงผลบทความ
5.54
การออกแบบ Models เพื่อการทดสอบโปรแกรม
5.4
Factory Functions
9.3
การสร้างชุดข้อมูลตัวแทนขนาดใหญ่
8.55
การทดสอบการแสดงผล Pagination
9
Mock API Request
13.36
Unit
8
Workshop: UI Testing Pattern
เรียนรู้รูปแบบการทดสอบ UI ผ่าน Workshop
หลักการแสดงผลชุดข้อมูลแบบลิสต์
15.48
การค้นหาข้อมูลบนแอพพลิเคชันแสดงผลบทความ
8.38
Real World Pagination
12.55
การเตรียมข้อมูลประเภทบทความ
3.13
การตั้งค่า baseUrl ของ tsconfig.json
2.14
Unit
9
Authentication
เรียนรู้กระบวนการทดสอบขั้นตอนยืนยันตัวตนของผู้ใช้งานตั้งแต่การสมัครสมาชิก การเข้าสู่ระบบ จนถึงการออกจากระบบ
การทดสอบการสมัครสมาชิก (Sign Up)
16.47
Shared Examples
7.03
การทดสอบการเข้าสู่ระบบ (Sign In)
24.39
การจัดการความผิดพลาดของข้อมูลผู้ใช้งาน (credential)
4.19
Unit
10
Authorization และ RBAC
เรียนรู้กระบวนการทดสอบการตรวจสอบการเข้าถึงหน้าเพจจากสิทธิ์การใช้งานของผู้ใช้งาน (Authorization) ในที่นี้ผู้ใช้งานแต่ละคนจะมีบทบาท (Role) กำกับไว้ การตรวจสอบสิทธิ์บนแอพพลิเคชันจึงเป็นการตรวจสอบว่าผู้ใช้งานนั้น ๆ มีสิทธิ์ในการเข้าถึงหน้าเพจนั้น ๆ หรือไม่
Role-Based Access Control (RBAC)
7.45
Admin UI
22.5
ชนิดข้อมูล Permissions และฟังก์ชันตรวจสอบสิทธิ์
18.12
การทดสอบแสดงผลข้อมูล User ทั้งหมดแบบตาราง
45.22
การค้นหาชื่อผู้ใช้งาน
8.23
ตรวจสอบการแสดงผลรายละเอียด user
12.29
การอัพเดตข้อมูลผู้ใช้งานในระบบ
19.2
การลบผู้ใช้งาน
5.2
Unit
11
Cypress Testing Library
เรียนรู้การใช้งาน Cypress Testing Library เครื่องมือที่จะช่วยให้การเข้าถึงอีลีเมนต์และทดสอบหน้าเพจเป็นเรื่องง่ายขึ้น
Accessibility API
5.58
การตรวจสอบ Accessibility Role
1.18
การติดตั้ง Cypress Testing Library
1.48
ทำไมถึงควรใช้ Cypress Testing Library
2.41
การเข้าถึงอีลีเมนต์ด้วย Cypress Testing Library
8.34
throwSuggestions
3.15
การทดสอบฟอร์ม
5.54
Unit
12
Component Testing
Component Testing คืออะไร เรียนรู้การทดสอบคอมโพแนนท์ด้วยเทคนิคของ Cypress ผ่านการทำงานของไลบรารี่ React บนเครื่องมือคือ create-react-app
Component Testing คืออะไร
6.4
การตั้งค่าสำหรับการทดสอบแบบ Component Testing
6.5
โครงสร้างคอมโพแนนท์
3.33
Mount Component
7.37
spy
9.24
stub
4.17
spy alias
4.15
การ Intercept API ใน Component Testing
6.44
Unit
13
FAQ
รวมคำถามพบบ่อยในการทดสอบเว็บแอพพลิเคชันด้วย Cypress
เราจะเปิด Cypress โดยทำงานแบบไร้การแสดงผล UI ของเบราว์เซอร์ได้อย่างไร
3.25
เราจะ start การทำงานทั้ง UI Server และ Cypress ด้วยคำสั่งเดียวได้อย่างไร
4.27
เราจะลบ data-testid ออกจากผลลัพธ์บน production ได้อย่างไร
6.49
Unit
14
คอร์สอัพเดท
คอร์สอัพเดท
ข้อมูลการใช้งาน
Software Testing Techniques
4.27
each
5.24
within
4.43
Multiple Assertions
5.5
wrap, its และ invoke
1.25
location
2.3
Workshop: Word List
9.45
Workshop: Word List Validation
4.1
Cypress Custom Commands
7.22
baseUrl
1.52
Commands, Assertions และ Retry Ability
10.4
รูปแบบการใช้งาน should และ then
5.23

คอร์สนี้เหมาะกับใคร

  • QA หรือ Tester ผู้ต้องการทดสอบเว็บแบบ Automated Testing
  • Developer ผู้ต้องการทดสอบเว็บแบบ Integration/E2E Testing ด้วย Cypress
  • Developer ผู้ต้องการเขียน Unit Testing บนคอมโพแนนท์ของ React ตามเทคนิคของ Component Testing ด้วย Cypress
  • ผู้สนใจและต้องการศึกษาการทดสอบเว็บแบบ Automated Testing ด้วย Cypress

ผู้สอน

Nuttavut Thongjor

นักพัฒนาซอฟต์แวร์ประสบการณ์กว่า 10 ปี ผู้ก่อตั้ง Babel Coder วิทยากรอบรมการพัฒนาซอฟต์แวร์และผู้ให้คำปรึกษาในบริษัทชั้นนำ

คำถามพบบ่อย

คำถาม: จำเป็นต้องมีพื้นฐานอะไรบ้าง
คำตอบ: ผู้เรียนจำเป็นต้องมีพื้นฐานการเขียนโปรแกรมในภาษา JavaScript และสามารถใช้งาน ES2015 ในหัวข้อสำคัญเช่น Classes และ Arrow Functions เป็นต้น

คำถาม: มีจำกัดเวลาเข้าชมหรือไม่
คำตอบ: ผู้เรียนสามารถเข้าชมคอร์สได้ทุกเวลาตลอดอายุการใช้งาน

คำถาม: ผู้เรียนจะได้รับการอัพเดทเนื้อหาตลอดเวลาหรือไม่
คำตอบ: ผู้เรียนจะได้รับการอัพเดทเนื้อหาเป็นเวลา 1 ปีนับจากวันที่ทำการซื้อคอร์ส หลังพ้นกำหนดผู้เรียนยังคงเข้าชมคอร์สได้ตามปกติ แต่จะไม่ได้รับการอัพเดทเนื้อหาอีกต่อไป

คำถาม: บริการหลังการขายมีอะไรบ้าง
คำตอบ: การถาม-ตอบ เนื้อหาที่เกี่ยวกับบทเรียน

คำถาม: จะสามารถสั่งซื้อคอร์สนี้ในนามบริษัทได้อย่างไร
คำตอบ: คุณลูกค้าสามารถติดต่อเพจ Babel Coder เพื่อขอใบเสนอราคา
ได้ครับ โดยราคาสำหรับองค์กรจะเป็นราคาจำหน่ายเต็มจากราคาที่ระบุครับ

สอบถามเพิ่มเติมโปรดติดต่อ เพจ Babel Coder

เว็บไซต์นี้มีการจัดเก็บข้อมูล

เราจัดเก็บข้อมูลเพื่อเพิ่มประสิทธิภาพและประสบการณ์ที่ดีในการใช้งานเว็บไซต์ เราสามารถนำเสนอสิ่งที่คุณสนใจเป็นพิเศษเมื่อคุณกด "ยอมรับทั้งหมด" ทั้งนี้คุณสามารถเลือกตั้งค่าความยินยอมในการใช้งานผ่าน "การตั้งค่า" หากคุณไม่ปรับเปลี่ยนการตั้งค่าเราเข้าใจว่าคุณให้ความยินยอมในการจัดเก็บข้อมูลทั้งหมดแล้ว อ่านนโยบายความเป็นส่วนตัว