เมื่อกรณีทดสอบปลายทาง (endpoint test cases) และสถานการณ์ทดสอบ (test scenarios) ในโปรเจกต์มีจำนวนเพิ่มขึ้นเรื่อยๆ ค่าใช้จ่ายในการจัดการและเรียกใช้ทีละรายการก็จะเพิ่มขึ้นอย่างรวดเร็ว สิ่งที่เคยตั้งใจไว้เพื่อปกป้องคุณภาพ—การทดสอบอัตโนมัติ—อาจกลายเป็นภาระในการบำรุงรักษาไปเสียเอง
ตามธรรมเนียมเดิม ทีมงานจะเลือกกรณีทดสอบด้วยตนเอง เมื่อโปรเจกต์มีการสะสมกรณีทดสอบและสถานการณ์ทดสอบจำนวนมาก การตัดสินใจด้วยตนเองว่าจะรวมรายการใดและจะเรียกใช้รายการใดสำหรับการถดถอย (regression) จะกลายเป็นงานที่ต้องใช้แรงงานคนจำนวนมาก
Apidog Test Suites แก้ปัญหานี้ด้วยวิธีการแบบไดนามิก แทนที่จะจัดเก็บ ID อย่างเคร่งครัด สวีทจะจัดเก็บชุดของ กฎการกรอง—เช่น ตามโฟลเดอร์ แท็ก ลำดับความสำคัญ หรือการรวมกันของเงื่อนไขต่างๆ
ก่อนการรันแต่ละครั้ง ชุดทดสอบ (test suite) จะรวบรวมกรณีทดสอบและสถานการณ์ทดสอบทั้งหมดที่ตรงกับกฎเหล่านั้นโดยอัตโนมัติ คุณสามารถมุ่งเน้นไปที่การเขียนทดสอบและการใช้แท็ก ทรัพยากรทดสอบใหม่จะถูกรับรู้โดยอัตโนมัติและไหลเข้าสู่ไปป์ไลน์ CI/CD ของคุณเพื่อการผสานรวมอย่างต่อเนื่องโดยไม่ต้องดูแล

ผลลัพธ์การดำเนินการทั้งหมดจะถูกสรุปในรายงานรวมฉบับเดียว เพื่อให้วิเคราะห์และแก้ไขปัญหาได้ง่ายขึ้น
สร้างและจัดการชุดทดสอบแรกของคุณ
หลังจาก อัปเดต Apidog เป็นเวอร์ชันล่าสุด ให้เปิดโมดูล Tests และค้นหาส่วน Test Suite คลิกเมนู ... ที่อยู่ถัดจากนั้น แล้วเลือก Create Test Suite

ในหน้าต่างป๊อปอัป ให้ป้อนชื่อที่สื่อความหมายและตั้งค่าตัวเลือกต่างๆ เช่น ลำดับความสำคัญ (priority) หรือแท็ก (tags) จากนั้นชุดทดสอบเปล่าจะถูกสร้างขึ้น

ถัดไป ให้เพิ่มเนื้อหาลงในชุดทดสอบ ชุดทดสอบสามารถประกอบด้วย กรณีทดสอบปลายทาง แต่ละรายการ หรือ สถานการณ์ทดสอบ ที่ประกอบด้วยขั้นตอนการทดสอบหลายขั้นตอน

การเพิ่มเนื้อหาการทดสอบ: แบบคงที่ (Static) และแบบไดนามิก (Dynamic)
เมื่อคุณคลิก Add Endpoint Test Case หรือ Add Test Scenario คุณสามารถเลือกโหมด Static หรือ Dynamic โหมดเหล่านี้จะกำหนดว่าชุดทดสอบจะตัดสินใจรันอะไร และเหมาะสมกับเป้าหมายการบำรุงรักษาและการทดสอบที่แตกต่างกัน

โหมด Static จะระบุชุดรายการที่จะรันที่แน่นอน เมื่อคุณเลือกกรณีเฉพาะในโหมด Static ระบบจะจัดเก็บ ID เฉพาะของกรณีเหล่านั้น หากมีการเพิ่มกรณีใหม่ในโฟลเดอร์เดียวกันหรือย้ายกรณีในภายหลัง ขอบเขตการดำเนินการของชุดทดสอบจะไม่เปลี่ยนแปลง พฤติกรรมจะเป็นแบบกำหนดได้ (deterministic) และเหมือนเดิมทุกครั้งที่รัน

โหมด Dynamic ทำงานแตกต่างกันไป โดยจะไม่จัดเก็บ ID กรณีเฉพาะเจาะจง แต่จะจัดเก็บ กฎการกรอง เช่น "ทุกกรณีภายใต้โฟลเดอร์ที่ระบุ" หรือ "ทุกกรณีที่มีแท็ก 'semantic-valid'" หรือ "ทุกสถานการณ์ทดสอบที่มีลำดับความสำคัญ P0"


ในโหมด Dynamic ทุกครั้งที่ชุดทดสอบทำงาน ระบบจะสแกนโปรเจกต์ใหม่โดยใช้กฎเหล่านี้และรวมกรณีทดสอบทั้งหมดที่ตรงกันในปัจจุบัน กรณีทดสอบหรือสถานการณ์ทดสอบใดๆ ที่มีคุณสมบัติ (โฟลเดอร์, แท็ก, ลำดับความสำคัญ) ตรงกับกฎจะถูกรวมโดยอัตโนมัติ
โหมด Static vs Dynamic: ควรเลือกอย่างไร?
ไม่มีโหมดใดที่ดีกว่าโดยรวม โหมดเหล่านี้ตอบสนองความต้องการที่แตกต่างกัน การเลือกขึ้นอยู่กับว่าคุณต้องการให้ชุดทดสอบทำงานอย่างไรเมื่อเวลาผ่านไป
สำหรับการทดสอบที่กำหนดขอบเขตอย่างแน่นหนาและเฉพาะเจาะจง (เช่น ชุดการถดถอยที่ตายตัว) โหมด Static จะคาดเดาผลลัพธ์ได้มากกว่า สำหรับการทำซ้ำอย่างต่อเนื่องและการทดสอบการถดถอยหรือ smoke test แบบ "auto-onboard" นั้น โหมด Dynamic ช่วยลดภาระการบำรุงรักษาได้อย่างมาก
สำหรับการเปรียบเทียบโหมดทั้งสองแบบคร่าวๆ ดูตารางด้านล่างนี้:
| แง่มุม | โหมด Static | โหมด Dynamic |
|---|---|---|
| ตรรกะหลัก | จัดเก็บ ID กรณีเฉพาะ | จัดเก็บกฎการกรอง (โฟลเดอร์, แท็ก, ลำดับความสำคัญ ฯลฯ) |
| เนื้อหาเมื่อเวลาผ่านไป | คงที่ เว้นแต่คุณจะเปลี่ยนแปลงด้วยตนเอง | อัปเดตอัตโนมัติเมื่อมีการเพิ่มหรือลบกรณีที่ตรงกัน |
| ค่าบำรุงรักษา | สูงกว่า; ต้องเพิ่มกรณีใหม่ด้วยตนเอง | ต่ำกว่า; กำหนดกฎครั้งเดียว จากนั้นการรันจะซิงค์กัน |
| การใช้งานทั่วไป | การยืนยันการแก้ไขข้อผิดพลาด, ความเสถียรของ Core-path, การทดสอบความเข้ากันได้ | การถดถอยเต็มรูปแบบ, Smoke tests, การยอมรับการเผยแพร่ |
ลำดับการดำเนินการและการกำหนดค่าขั้นสูง
หลังจากเพิ่มเนื้อหาแล้ว คุณสามารถจัดเรียงลำดับรายการในรายการจัดการใหม่ได้โดยการลาก
สำหรับแต่ละรายการดำเนินการ (เช่น สถานการณ์ทดสอบ) คุณสามารถควบคุมพฤติกรรมการรันได้ละเอียดมากขึ้นผ่านตัวเลือกทางด้านขวา

ตัวอย่างเช่น On Error ช่วยให้คุณเลือกว่าจะดำเนินการต่อ ข้ามรอบปัจจุบัน หรือหยุดการรันทั้งหมดเมื่อขั้นตอนใดขั้นตอนหนึ่งล้มเหลว Iterations ช่วยให้คุณสามารถรันชุดทดสอบทั้งหมดหลายครั้งเพื่อตรวจสอบความเสถียรแบบง่ายๆ เมื่อรวมกันแล้ว ตัวเลือกเหล่านี้ทำให้ชุดทดสอบไม่ใช่แค่การรวบรวมกรณีทดสอบเท่านั้น แต่ยังเป็นกระบวนการดำเนินการที่สามารถควบคุมได้

การรันชุดทดสอบ
เมื่อตั้งค่าชุดทดสอบเรียบร้อยแล้ว คุณสามารถรันได้หลายวิธี: ตั้งแต่การรันด้วยตนเองในเครื่องไปจนถึงระบบอัตโนมัติบนคลาวด์ ขึ้นอยู่กับขั้นตอนและสภาพแวดล้อมของคุณ
การรันชุดทดสอบในเครื่อง
วิธีที่ตรงไปตรงมาที่สุดคือการคลิก Run ใน Apidog client การดำเนินการจะรันจากเครื่องของคุณและเหมาะสำหรับการตรวจสอบเล็กๆ น้อยๆ อย่างรวดเร็วในระหว่างการพัฒนาและดีบัก ในการกำหนดค่าการรัน คุณสามารถเปลี่ยน สภาพแวดล้อมการรัน (run environment) และตั้งค่า การแจ้งเตือน (notification) เมื่อการรันเสร็จสิ้นได้

เมื่อการรันเสร็จสมบูรณ์ Apidog จะสร้างรายงานการทดสอบและแสดงใน UI รายงานจะแสดงรายการกรณีทดสอบปลายทางและสถานการณ์ทดสอบแต่ละรายการตามลำดับการดำเนินการ พร้อมสถานะผ่าน/ไม่ผ่านที่ชัดเจน คุณสามารถเปิดรายการแต่ละรายการเพื่อดูรายละเอียดเพิ่มเติมได้

การรันชุดทดสอบผ่าน CLI
สำหรับชุดทดสอบขนาดใหญ่ขึ้นหรือสภาพแวดล้อมแบบไม่มีส่วนติดต่อผู้ใช้ (headless environments) (เช่น เซิร์ฟเวอร์ที่ไม่มี GUI) Apidog CLI เป็นตัวเลือกที่ดีกว่า โดยจะนำการดำเนินการทดสอบของ Apidog ไปยังเทอร์มินัลใดก็ได้
ในการรันผ่าน CLI ให้ติดตั้ง Apidog CLI และตรวจสอบให้แน่ใจว่าเป็นเวอร์ชันล่าสุด จากนั้น ในแท็บ CI/CD ของชุดทดสอบ ให้ใช้คำสั่งที่สร้างขึ้น:

คัดลอกคำสั่งนั้นลงในเทอร์มินัลของคุณเพื่อรันชุดทดสอบและดูขั้นตอนและผลลัพธ์แบบเดียวกับใน UI

เมื่อการรันเสร็จสิ้น โฟลเดอร์ชื่อ apidog-reports/ จะถูกสร้างขึ้นในไดเรกทอรีปัจจุบันและมีรายงานการทดสอบในรูปแบบ HTML อยู่ภายใน

การรันผ่าน CLI เป็นพื้นฐานสำหรับการผสานรวม CI/CD คุณสามารถเสียบคำสั่งนี้เข้ากับ Jenkins, GitLab CI หรือ GitHub Actions และกระตุ้นการทดสอบการถดถอย (regression tests) ณ จุดสำคัญ เช่น การรวมโค้ด
การรันชุดทดสอบผ่านงานที่กำหนดเวลาไว้ (Scheduled Tasks)
Apidog รองรับ Scheduled Tasks ในแท็บ Scheduled Tasks ของชุดทดสอบ ให้สร้างงานและตั้งเวลารันและสภาพแวดล้อมการรัน

แตกต่างจากการรันในเครื่อง งานที่กำหนดเวลาไว้จะต้องรันบน Runner ที่โฮสต์ด้วยตนเอง

Runner เป็นโปรแกรมขนาดเล็กที่ทีมของคุณสามารถติดตั้งบนเซิร์ฟเวอร์ภายในองค์กร การใช้ Runner ช่วยหลีกเลี่ยงความล้มเหลวเมื่อเครื่องโลคัลปิดอยู่หรือไม่สามารถเข้าถึงได้ และช่วยให้คุณสามารถใช้ทรัพยากรของเซิร์ฟเวอร์สำหรับการรันทดสอบขนาดใหญ่ขึ้น
หลังจากกำหนดค่างานที่กำหนดเวลาไว้แล้ว Apidog จะรันชุดทดสอบบน Runner ตามเวลาที่ระบุ และอัปโหลดประวัติการรันและรายงาน คุณยังสามารถกำหนดค่าการแจ้งเตือนความล้มเหลว เพื่อให้เมื่อเกิดปัญหาขึ้น บุคคลที่เกี่ยวข้องจะได้รับแจ้งอย่างรวดเร็ว
สรุป
ด้วยการจัดการแบบ static และ dynamic คุณสามารถควบคุมการทดสอบเฉพาะเจาะจงให้มีขอบเขตที่แน่นอน และปล่อยให้ชุดการทดสอบการถดถอยเติบโตไปพร้อมกับโปรเจกต์ของคุณโดยอัตโนมัติ โดยไม่ต้องอัปเดตด้วยตนเองอยู่ตลอดเวลา เมื่อรวมกับการรันในเครื่อง การผสานรวม CLI และงานที่กำหนดเวลาไว้ ชุดทดสอบสามารถเข้ากับทุกขั้นตอนของเวิร์กโฟลว์ของคุณ—ตั้งแต่การตรวจสอบอย่างรวดเร็วระหว่างการพัฒนา ไปจนถึงการถดถอยอัตโนมัติใน CI/CD และการตรวจสอบตามกำหนดเวลาในการทำงานจริง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับชุดทดสอบ โปรดดูที่ เอกสารประกอบของ Apidog ลองสร้างชุดทดสอบแรกของคุณ จัดการการทดสอบที่มีอยู่ และสร้างการตั้งค่าการทดสอบการถดถอยอัตโนมัติที่ยั่งยืนไปทีละขั้นตอน
