สวัสดีผู้ใช้งาน Apidog! 👋 ตลอดปีที่ผ่านมา เราได้สร้างแพลตฟอร์มการทดสอบอัตโนมัติที่ครอบคลุมโดยเน้นที่ Test Scenarios ซึ่งเป็นลำดับขั้นตอนการทำงานที่นำกลับมาใช้ใหม่ได้ โดยจะเชื่อมโยงคำขอ API หลายรายการเข้าด้วยกันเป็นกระบวนการทางธุรกิจที่สมบูรณ์ Test Scenarios ช่วยแก้ปัญหา "จะทดสอบอย่างไร" แต่เราได้รับความคิดเห็นที่สอดคล้องกันจากทีมงานเกี่ยวกับความท้าทายที่แตกต่างกัน: "จะจัดระเบียบสิ่งที่ต้องทดสอบอย่างไร"
ทีมงานบอกเราว่าพวกเขามีเคสทดสอบหลายร้อยรายการที่จัดระเบียบตามโมดูลธุรกิจ แต่เมื่อถึงเวลาสำหรับการทดสอบถดถอย (regression) ก่อนการเผยแพร่ พวกเขาต้องการเรียกใช้เฉพาะเคส P0 เท่านั้น ไม่ใช่ทั้งหมด ปัจจุบัน พวกเขาต้องค้นหาและเลือกแต่ละรายการด้วยตนเอง ส่วนคนอื่น ๆ ดูแลทั้งเคสทดสอบที่เป็นบวกและลบ แต่ต้องการให้การทดสอบ Smoke test ครอบคลุมเฉพาะกระบวนการที่เป็นบวกเท่านั้น และเมื่อมีการเพิ่มเคสใหม่ มักจะถูกลืมในรายการการทดสอบถดถอย
วันนี้ เราขอแนะนำ Test Suites: ประเภททรัพยากรใหม่ที่ช่วยให้คุณจัดระเบียบและดำเนินการทดสอบตามกฎเกณฑ์ แทนที่จะเลือกทีละรายการ Test Suites นำความสามารถหลักสามประการมาสู่ขั้นตอนการทำงานของการทดสอบของคุณ:
- การกำหนดเส้นทางการทดสอบแบบไดนามิก: กำหนดกฎการกรองเพียงครั้งเดียว—โดยแท็ก, ไดเรกทอรี หรือระดับความสำคัญ—และเคสที่ตรงกันจะถูกรวมเข้าโดยอัตโนมัติเมื่อรันไทม์ เคสใหม่ที่ตรงตามเกณฑ์ของคุณจะถูกเพิ่มโดยไม่ต้องบำรุงรักษาด้วยตนเอง
- การทำงานแบบขนาน: สลับระหว่างโหมดอนุกรมและโหมดขนานได้ในคลิกเดียว ระบบจะปรับการทำงานพร้อมกันให้เหมาะสมโดยอัตโนมัติตามทรัพยากรที่มี ลดระยะเวลาการทดสอบถดถอยที่ใช้เวลานานหลายชั่วโมงให้เหลือเพียงไม่กี่นาที
- รายงานการทดสอบที่มีโครงสร้าง: ดูผลลัพธ์ที่จัดกลุ่มตามตรรกะการจัดระเบียบของคุณ—ตามโมดูล, ความสำคัญ หรือแท็ก—แทนที่จะเลื่อนดูรายการที่ราบเรียบ เคสที่ล้มเหลวจะปรากฏขึ้นทันทีพร้อมบริบทที่ชัดเจน

มาดูรายละเอียดเพิ่มเติมว่าแต่ละความสามารถทำงานอย่างไร
การกำหนดเส้นทางการทดสอบแบบไดนามิก
คำขอที่พบบ่อยที่สุดที่เราได้ยินจากทีม QA คือ: "ฉันต้องการรันเคส P0 ทั้งหมดในโมดูลการชำระเงินโดยไม่ต้องเลือกทีละรายการ" Test Suites แก้ปัญหานี้โดยการแยกการเขียนการทดสอบออกจากการจัดระเบียบการทดสอบ
Test Scenarios ยังคงเป็นส่วนประกอบสำคัญของคุณ—แต่ละรายการแสดงถึงกระบวนการทางธุรกิจที่สมบูรณ์ (เข้าสู่ระบบ, สร้างคำสั่งซื้อ, ชำระเงิน, ตรวจสอบสถานะ) Test Suites ช่วยให้คุณจัดกลุ่มสถานการณ์เหล่านี้ตามเงื่อนไข: แท็ก, ไดเรกทอรี, ระดับความสำคัญ หรือการรวมกันใดๆ เมื่อคุณรัน Suite ระบบจะรวมเคสที่ตรงกันทั้งหมดโดยอัตโนมัติเมื่อถึงเวลาดำเนินการ
สิ่งนี้จะมีความสำคัญมากขึ้นเรื่อยๆ เนื่องจากเครื่องมือพัฒนาที่ขับเคลื่อนด้วย AI เร่งการสร้างโค้ดและการทดสอบ ด้วย Dynamic Suites คุณไม่จำเป็นต้องอัปเดตรายการการทดสอบถดถอยด้วยตนเองทุกครั้งที่มีการเพิ่มเคสใหม่ เขียนเคส ใช้แท็กที่ถูกต้อง แล้ว Suite จะจัดการส่วนที่เหลือเอง
เรารองรับสองโหมดเพื่อให้เหมาะกับความต้องการในการทดสอบที่แตกต่างกัน:
โหมด Static ให้รายการเคสที่แน่นอน คุณเลือก scenarios ที่จะรวมเข้าด้วยกันอย่างแม่นยำ และรายการนั้นจะยังคงไม่เปลี่ยนแปลงจนกว่าคุณจะแก้ไข เหมาะสำหรับ smoke tests—ชุด scenarios สำคัญ 5-15 รายการที่ได้รับการคัดเลือกอย่างดีซึ่งไม่ค่อยเปลี่ยนแปลงแต่ถูกเรียกใช้งานบ่อย

โหมด Dynamic ใช้กฎเพื่อรวมเคสที่ตรงกันโดยอัตโนมัติ กำหนดเงื่อนไข (เคสทั้งหมดในไดเรกทอรี "Payment" ที่มีความสำคัญ P0) และ Suite จะอัปเดตอยู่เสมอเมื่อไลบรารีการทดสอบของคุณพัฒนาขึ้น เหมาะสำหรับ module regression ซึ่งจำนวนเคสมีการเปลี่ยนแปลงเป็นประจำ

ในหน้าจอผลิตภัณฑ์ เราจะแนะนำคุณผ่านตัวเลือกนี้โดยไม่ต้องให้คุณเข้าใจศัพท์เฉพาะล่วงหน้า เมื่อคุณเลือกโหมด Static ช่องทำเครื่องหมายจะปรากฏขึ้นสำหรับการเลือกแต่ละรายการ เมื่อคุณเลือกโหมด Dynamic คุณจะเห็นตัวอย่างเคสที่ตรงกันแบบอ่านอย่างเดียวพร้อมข้อความ: "เคสใหม่ที่ตรงกับเงื่อนไขเหล่านี้จะถูกรวมเข้าโดยอัตโนมัติ"
การทำงานแบบขนาน
เมื่อ Test Suite ของคุณมีเคสหลายร้อยรายการ การทำงานแบบอนุกรมจะกลายเป็นปัญหาคอขวด การทดสอบถดถอยเต็มรูปแบบที่ใช้เวลาหนึ่งชั่วโมงจะทำให้กระบวนการเผยแพร่ของคุณล่าช้าและทำให้การตรวจจับปัญหาในการตรวจสอบการผลิตช้าลง
Test Suites รองรับการทำงานแบบขนานได้ทันที เพียงสลับระหว่างโหมดอนุกรมและโหมดขนาน—ระบบจะกำหนดการทำงานพร้อมกันที่เหมาะสมที่สุดโดยอัตโนมัติตามทรัพยากรที่มีอยู่ของเครื่องคุณ ไม่ต้องปรับแต่งด้วยตนเอง สิ่งนี้จะช่วยลดการทดสอบถดถอย 60 นาทีให้เหลือไม่ถึง 30 นาที โดยไม่ต้องเปลี่ยนตรรกะการทดสอบของคุณ

การทำงานแบบขนานจะจัดการกับการแยก dependency โดยอัตโนมัติ แต่ละ scenario จะทำงานในบริบทของตัวเอง ทำให้มั่นใจได้ว่าตัวแปรที่ใช้ร่วมกันหรือสถานะสภาพแวดล้อมจาก scenario หนึ่งจะไม่รบกวนอีก scenario หนึ่ง สำหรับ scenarios ที่ขึ้นอยู่กับกันและกันอย่างแท้จริง คุณสามารถจัดกลุ่มพวกมันเป็น scenario เดียวกันโดยมีขั้นตอนต่อเนื่องกัน
รายงานการทดสอบที่มีโครงสร้าง
รายงานการทดสอบแบบดั้งเดิมจะแสดงผลลัพธ์ทีละรายการ เมื่อคุณรัน Suite ที่มี 200 เคสในหลายโมดูล การค้นหาความล้มเหลวที่สำคัญจะกลายเป็นเรื่องที่น่าเบื่อ
รายงาน Test Suite มีโครงสร้างตามตรรกะการจัดระเบียบของคุณ ผลลัพธ์จะถูกจัดกลุ่มตามเงื่อนไขที่คุณกำหนด—ตามโมดูล, ตามความสำคัญ, ตามแท็ก คุณสามารถเห็นได้ทันทีว่า "โมดูลการชำระเงิน: 45/47 ผ่าน" และ "โมดูลผู้ใช้: 32/32 ผ่าน" โดยไม่ต้องเลื่อนดูรายการแต่ละรายการ

แต่ละกลุ่มจะขยายเพื่อแสดงผลลัพธ์ของ scenario แต่ละรายการพร้อมเวลาดำเนินการ, จำนวน assertion, และรายละเอียดความล้มเหลว Scenario ที่ล้มเหลวจะปรากฏขึ้นด้านบนพร้อมบริบทข้อผิดพลาดที่ชัดเจน เพื่อให้คุณสามารถจัดลำดับความสำคัญของปัญหาได้โดยไม่ต้องค้นหาในบันทึก

รายงานยังรวมข้อมูลเมตาการดำเนินการ: ระยะเวลารวม, ประสิทธิภาพการทำงานแบบขนาน (เวลาที่ประหยัดได้เมื่อเทียบกับการทำงานแบบอนุกรม), และการกำหนดค่าสภาพแวดล้อมที่ใช้ สิ่งนี้ช่วยให้คุณปรับการกำหนดค่า Suite ให้เหมาะสมเมื่อเวลาผ่านไป และให้บันทึกการตรวจสอบเพื่อข้อกำหนดการปฏิบัติตามกฎระเบียบ
การกำหนดค่าแบบรวมพร้อมการแทนที่ที่ยืดหยุ่น
แต่ละ Test Scenario อาจมีการกำหนดค่าการรันของตัวเอง: สภาพแวดล้อม, จำนวนลูป, และการตั้งค่าอื่นๆ เมื่อคุณจัดกลุ่มหลาย scenario เป็น Suite คุณต้องตัดสินใจว่าการกำหนดค่าใดมีความสำคัญเหนือกว่า
โดยค่าเริ่มต้น แต่ละ scenario จะทำงานด้วยการกำหนดค่าที่บันทึกไว้ ซึ่งเป็นพฤติกรรมที่เข้าใจง่ายที่สุด สำหรับการตั้งค่าสภาพแวดล้อมโดยเฉพาะ Suite มีตัวเลือกสภาพแวดล้อมแบบรวมที่ scenario สามารถสืบทอดได้ สิ่งนี้ช่วยให้คุณสามารถสลับ Test Suite การถดถอยทั้งหมดของคุณจาก staging ไปยัง production ได้ด้วยการเปลี่ยนแปลงเพียงครั้งเดียว
หากคุณต้องการการควบคุมเต็มรูปแบบ คุณสามารถระบุการกำหนดค่าแบบกำหนดเองที่จะแทนที่การตั้งค่าระดับ scenario ทั้งหมด ตัวเลือกนี้มีอยู่ใน advanced settings เพื่อให้เส้นทางทั่วไปยังคงเรียบง่าย

Test Suites เทียบกับการรันแบบแบตช์ไดเรกทอรี
Apidog รองรับการรันแบบแบตช์ที่ระดับไดเรกทอรีอยู่แล้ว Test Suites มีจุดประสงค์ที่แตกต่างกัน
ไดเรกทอรี จัดระเบียบเคสตามโครงสร้างทางกายภาพ หนึ่งเคสอยู่ในหนึ่งโฟลเดอร์
Test Suites จัดระเบียบเคสตามกฎตรรกะ หนึ่งเคสสามารถอยู่ในหลาย Suites พร้อมกันได้
ตัวอย่างเช่น: เคสทดสอบการชำระเงิน P0 สามารถปรากฏได้ทั้งใน "Payment Module Regression" (เคส P0/P1 ทั้งหมดที่ติดแท็กการชำระเงิน) และ "Full Smoke Test" (เคส P0 ทั้งหมดทั่วทั้งระบบ) ความยืดหยุ่นนี้ช่วยให้คุณสร้างหน่วยการดำเนินการทดสอบที่นำกลับมาใช้ใหม่ได้สำหรับ scenarios ที่แตกต่างกัน—smoke tests ที่ถูกเรียกใช้ทุกครั้งที่มีการ commit, การทดสอบถดถอยเต็มรูปแบบก่อนการเผยแพร่, และการตรวจสอบความสมบูรณ์ตามกำหนดเวลาในการผลิต
ความสามารถ | วัตถุประสงค์ | เหมาะที่สุดสำหรับ |
|---|---|---|
Test Scenario | การจัดการกระบวนการทางธุรกิจ | การกำหนดขั้นตอนการทำงานของการทดสอบแต่ละรายการ |
Directory | การจัดระเบียบทางกายภาพ | การทำงานร่วมกันของทีม, การจัดการเคส |
Directory batch run | การดำเนินการอย่างรวดเร็ว | การทดสอบเชิงสำรวจ, การทดสอบถดถอยเฉพาะกิจ |
Test Suite | หน่วยการดำเนินการที่นำกลับมาใช้ใหม่ได้ | การทดสอบถดถอยก่อนการเผยแพร่, Smoke tests, การตรวจสอบตามกำหนดเวลา |
สิ่งที่เราจะสร้างต่อไป
เรากำลังประเมินการซ้อน Suite (การจัดองค์ประกอบ Suite จาก Suite อื่นๆ) และการลองใหม่โดยอัตโนมัติเมื่อเกิดความล้มเหลว โหมด Dynamic จัดการความต้องการในการจัดองค์ประกอบส่วนใหญ่ได้แล้ว และเราต้องการหลีกเลี่ยงการปกปิดความล้มเหลวที่แท้จริงด้วยการลองใหม่ เราจะทบทวนอีกครั้งตามรูปแบบการใช้งาน
วิธีการเริ่มต้นใช้งาน
Test Suites มีให้บริการแล้วใน Apidog สร้าง Suite แรกของคุณจากโมดูล Automated Testing เลือกโหมด Static หรือ Dynamic กำหนดเงื่อนไขของคุณ แล้วรัน ผสานรวมกับไปป์ไลน์ CI/CD ของคุณโดยใช้ CLI เพื่อเรียกใช้ Suites เมื่อมีการรวมโค้ด หรือกำหนดเวลา
เข้าร่วมการสนทนา
เราอยากรับฟังว่า Test Suites เข้ากับขั้นตอนการทำงานของคุณอย่างไร แบ่งปันความคิดเห็นในช่องทางชุมชนของเรา เชื่อมต่อกับวิศวกร API และทีม Apidog:
- Discord: เข้าร่วมชุมชนของเราเพื่อการสนทนาแบบเรียลไทม์และกลยุทธ์การทดสอบ
- X (Twitter): ติดตามเราเพื่อรับการอัปเดตผลิตภัณฑ์ล่าสุดและข้อมูลเชิงลึกเกี่ยวกับ API
- LinkedIn: เชื่อมต่อกับเราเพื่อรับการอัปเดตระดับมืออาชีพและมุมมองอุตสาหกรรม สำรวจรายละเอียดทั้งหมดของการอัปเดตเหล่านี้ได้ใน Apidog Changelog! 🚀
ขอให้สนุกกับการทดสอบ!
