ทุกการทดสอบ API จำเป็นต้องมีข้อมูลสำหรับรัน การทดสอบการล็อกอินต้องมีผู้ใช้ การทดสอบการชำระเงินต้องมีคำสั่งซื้อ ที่อยู่ และบันทึกการชำระเงิน การทดสอบการค้นหาต้องมีข้อมูลหลายพันแถวเพื่อให้การแบ่งหน้าทำงานได้จริง การพิมพ์ข้อมูลด้วยมือเป็นเรื่องช้า และเวอร์ชันที่พิมพ์ด้วยมือมักจะสะอาดเกินไปที่จะพบข้อบกพร่องจริง
ตัวสร้างข้อมูลทดสอบช่วยแก้ปัญหานี้ได้ มันสร้างบันทึกที่สมจริงและหลากหลายตามต้องการ เพื่อให้การทดสอบของคุณได้ครอบคลุมกรณีขอบที่ข้อมูลจริงของคุณอาจพบเจอได้ในที่สุด คู่มือนี้จะอธิบายว่าตัวสร้างข้อมูลทดสอบคืออะไร ประเภทหลักที่คุณสามารถเลือกได้ และวิธีสร้างข้อมูลทดสอบโดยตรงภายใน Apidog โดยไม่ต้องใช้เครื่องมือแยกต่างหาก
หากคุณยังใหม่กับการจำลองการตอบกลับ API โดยสมบูรณ์ ลองเริ่มต้นด้วย ว่า Mock API คืออะไร และกลับมาที่นี่เพื่อดูปัญหาด้านข้อมูล
เครื่องสร้างข้อมูลทดสอบคืออะไร?
เครื่องสร้างข้อมูลทดสอบคือเครื่องมือหรือไลบรารีที่สร้างบันทึกสังเคราะห์ที่ดูเหมือนข้อมูลการใช้งานจริง แทนที่จะเขียน {"name": "test", "email": "test@test.com"} เป็นร้อยครั้ง คุณเพียงแค่กำหนดรูปแบบที่คุณต้องการ (เช่น ชื่อ อีเมลที่ถูกต้อง ราคาอยู่ระหว่าง 10 ถึง 500) แล้วเครื่องสร้างข้อมูลจะเติมค่าที่น่าเชื่อถือให้เอง
ข้อมูลทดสอบที่ดีมีคุณสมบัติสามประการ:
- สมจริง ชื่อดูเหมือนชื่อ อีเมลผ่านการตรวจสอบ วันที่อยู่ในช่วงที่เหมาะสม
- หลากหลาย ไม่มีบันทึกสองรายการใดที่เหมือนกัน ดังนั้นการยืนยันของคุณจะตรวจจับข้อผิดพลาดแบบ off-by-one และข้อผิดพลาดขอบเขต
- ปลอดภัย เป็นข้อมูลสังเคราะห์ คุณจึงไม่จำเป็นต้องคัดลอกบันทึกลูกค้าจริง (และข้อมูล PII ของพวกเขา) ลงในชุดทดสอบ
เป้าหมายไม่ใช่ข้อมูลที่สวยงาม แต่เป็นการครอบคลุม เครื่องสร้างข้อมูลช่วยให้คุณสร้างชุดข้อมูลที่หลากหลายและครอบคลุม (สตริงว่าง ชื่อ Unicode ตัวเลขขนาดใหญ่ วันที่หมดอายุ) ซึ่งอาจทำให้โค้ดทำงานผิดพลาดในแบบที่ข้อมูลที่สร้างด้วยมือของคุณไม่สามารถทำได้
ทำไมข้อมูลทดสอบที่สมจริงจึงสำคัญต่อการทดสอบ API
API จะตรวจสอบอินพุต พวกเขาจะปฏิเสธอีเมลที่ไม่ถูกต้อง จำกัดตัวเลขที่อยู่นอกช่วง และจัดการกับฟิลด์ที่เป็นทางเลือก หากบันทึกการทดสอบทุกรายการเป็น John Doe / john@example.com / quantity 1 คุณก็จะทดสอบเฉพาะเส้นทางที่สมบูรณ์เท่านั้น
ข้อมูลที่สมจริงและสร้างขึ้นอัตโนมัติช่วยให้คุณทำสามสิ่งที่คุณไม่สามารถทำได้ด้วยมือ:
- ทดสอบในปริมาณมาก สร้างผลิตภัณฑ์ 5,000 รายการ แล้วการแบ่งหน้า การจัดเรียง และการกรองของคุณจะได้รับการทดสอบอย่างจริงจัง
- ทดสอบขอบเขตโดยเจตนา กำหนดราคาเป็น 0 พอดี จำนวนติดลบ หรือชื่อที่มี 256 ตัวอักษร เพื่อยืนยันว่าการตรวจสอบยังคงทำงานได้
- รันการทดสอบที่ขับเคลื่อนด้วยข้อมูล ป้อนตารางอินพุตผ่านการทดสอบหนึ่งครั้ง และยืนยันผลลัพธ์ที่ถูกต้องสำหรับแต่ละแถว
ประเด็นสุดท้ายนี้คือสิ่งที่เครื่องสร้างข้อมูลให้ประโยชน์สูงสุด และเป็นจุดที่ Apidog เชื่อมโยงการสร้างข้อมูลเข้ากับการดำเนินการทดสอบโดยตรง จะมีข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ด้านล่าง
ประเภทหลักของเครื่องสร้างข้อมูลทดสอบ
เครื่องสร้างข้อมูลทดสอบแบ่งออกเป็นสี่ประเภท ทีมส่วนใหญ่จะใช้มากกว่าหนึ่งประเภท
1. ไลบรารีโค้ด
ไลบรารีอย่าง Faker.js (JavaScript) และ Faker (Python) มี API ที่ให้คุณสร้างข้อมูลได้ด้วยโค้ด เช่น: faker.person.fullName(), faker.internet.email(), faker.commerce.price() สิ่งเหล่านี้เป็นตัวเลือกที่ยืดหยุ่นที่สุด เพราะคุณสามารถสร้างข้อมูลในโค้ด กำหนด seed เพื่อให้ทำซ้ำได้ และเชื่อมโยงเข้ากับสคริปต์ต่างๆ
ข้อแลกเปลี่ยนคือคุณจะต้องเขียนและดูแลรักษาโค้ด หากคุณทำงานกับ JavaScript บทความเจาะลึกของเราเกี่ยวกับ Faker.js และวิธีใช้งานใน Apidog จะอธิบายไลบรารีนี้โดยละเอียด และแสดงให้เห็นว่ากฎ Faker เหล่านี้สามารถเชื่อมต่อเข้ากับ Mock Engine ของ Apidog ได้อย่างไร
2. เครื่องสร้างข้อมูลแบบสแตนด์อโลนและออนไลน์
เครื่องมืออย่าง Mockaroo ช่วยให้คุณกำหนดคอลัมน์ใน UI บนเว็บ และดาวน์โหลดเป็น CSV, JSON หรือ SQL ได้ สิ่งเหล่านี้มีประโยชน์สำหรับไฟล์ seed ครั้งเดียวหรือชุดข้อมูลด่วน โดยไม่ต้องเขียนโค้ด ข้อเสียคือ ข้อมูลที่ได้เป็นการส่งออกแบบคงที่ การสร้างใหม่หรือการรักษาข้อมูลให้ซิงค์กับ Schema ที่เปลี่ยนแปลง หมายถึงการกลับไปที่ UI ทุกครั้ง
3. เครื่องสร้างข้อมูลตาม Schema
หากคุณมี OpenAPI spec หรือ JSON Schema อยู่แล้ว เครื่องสร้างข้อมูลแบบ Schema-based จะอ่านประเภทฟิลด์และข้อจำกัด และสร้างข้อมูลที่ตรงกันโดยอัตโนมัติ ซึ่งช่วยให้ข้อมูลทดสอบของคุณสอดคล้องกับสัญญา เราครอบคลุมขั้นตอนของ OpenAPI ในหัวข้อ วิธีสร้าง Mock data จาก OpenAPI schemas มาตรฐาน JSON Schema คือสิ่งที่ทำให้สิ่งนี้เป็นไปได้: ทั้งประเภท รูปแบบ และช่วง ล้วนสามารถอ่านได้ด้วยเครื่อง
4. เครื่องสร้างข้อมูลที่ใช้ AI
ตัวเลือกใหม่ล่าสุดคือการให้โมเดลสร้างบันทึกที่รับรู้บริบท: ตั๋วสนับสนุนที่สมจริง คำอธิบายผลิตภัณฑ์ที่น่าเชื่อถือ โปรไฟล์ผู้ใช้ที่สอดคล้องกัน สิ่งนี้โดดเด่นเมื่อคุณต้องการข้อมูลที่ "สมเหตุสมผล" ไปด้วยกันมากกว่าค่าฟิลด์แบบสุ่ม ดู การสร้างข้อมูล Mock โดยใช้ Claude Code สำหรับตัวอย่างเชิงปฏิบัติ
วิธีสร้างข้อมูลทดสอบใน Apidog
นี่คือส่วนที่บทสรุปของ "เครื่องสร้างข้อมูลทดสอบ" ส่วนใหญ่มักพลาดไป: หากคุณทดสอบ API ใน Apidog คุณไม่จำเป็นต้องมีเครื่องสร้างข้อมูลแยกต่างหากเลย การสร้างข้อมูลถูกสร้างขึ้นในสามส่วนของขั้นตอนการทำงาน
Smart mock พร้อมกฎฟิลด์ เมื่อ Apidog จำลอง Endpoint มันจะอ่านชื่อและประเภทของแต่ละฟิลด์ และสร้างค่าที่น่าเชื่อถือโดยอัตโนมัติ ฟิลด์ email จะส่งคืนอีเมลที่ถูกต้อง ฟิลด์ createdAt จะส่งคืนวันที่ ฟิลด์ price จะส่งคืนตัวเลข คุณสามารถแนบกฎสไตล์ Faker ในแต่ละฟิลด์เพื่อควบคุมผลลัพธ์ ดังนั้น Mock จะส่งคืนรูปแบบเดียวกับที่ API จริงของคุณจะส่งคืน ดาวน์โหลด Apidog แล้ว Endpoint ที่คุณกำหนดจะเริ่มส่งคืนข้อมูลที่สมจริงทันที โดยไม่ต้องดูแล db.json

ข้อมูลทดสอบที่สร้างโดย AI Apidog สามารถสร้างชุดบันทึกทดสอบสำหรับ Endpoint จาก Schema ของมันได้ ดังนั้นคุณจะได้รับชุดข้อมูลที่หลากหลายโดยไม่ต้องเขียนกฎสำหรับทุกฟิลด์ด้วยมือ

การทดสอบที่ขับเคลื่อนด้วยข้อมูล นี่คือส่วนที่ทำให้วงจรสมบูรณ์ คุณสามารถแนบชุดข้อมูล CSV หรือ JSON เข้ากับขั้นตอนการทดสอบ และ Apidog จะรันขั้นตอนนั้นหนึ่งครั้งต่อแต่ละแถว โดยแทนที่ค่าเป็นตัวแปร การทดสอบเดียว อินพุตหลากหลาย รูปแบบการยืนยันเดียว กลไกต่างๆ ได้รับการอธิบายไว้ใน วิธีรันการทดสอบ API แบบพารามิเตอร์จาก CSV และ JSON และหากคุณกำลังพิจารณาเครื่องมือสำหรับงานเฉพาะนี้ เครื่องมือใดที่ควรใช้สำหรับการทดสอบ API ที่ขับเคลื่อนด้วยข้อมูล จะเปรียบเทียบตัวเลือกต่างๆ หากรันใน CI? ชุดข้อมูลเดียวกันนี้ก็ทำงานได้จาก Terminal ด้วย การทดสอบที่ขับเคลื่อนด้วยข้อมูลใน Apidog CLI
ทีละขั้นตอน: สร้างข้อมูลทดสอบสำหรับ Endpoint
- เปิดโปรเจกต์ของคุณใน Apidog และเลือก Endpoint ที่คุณต้องการข้อมูลทดสอบ
- กำหนด Response Schema (หรือนำเข้าจากไฟล์ OpenAPI ของคุณ) ชื่อฟิลด์และประเภทจะเป็นตัวขับเคลื่อนการสร้างข้อมูล
- เปิดใช้งาน Mock Apidog จะส่งคืนค่าที่สร้างขึ้นสำหรับทุกฟิลด์ทันที
- หากต้องการควบคุมฟิลด์เฉพาะ ให้เพิ่มกฎ Mock (เช่น ตั้งค่า
statusเป็นactive,pendingหรือclosed) - สำหรับการรันทดสอบ ให้สร้างชุดข้อมูล (CSV หรือ JSON) แนบไปกับขั้นตอนการทดสอบ และขั้นตอนจะวนซ้ำทุกแถว
ตอนนี้คุณมีการตอบกลับที่สมจริงสำหรับการพัฒนาและตารางอินพุตที่ทำซ้ำได้สำหรับการทดสอบ ทั้งหมดมาจากที่เดียวกันกับที่คุณเขียนและรันการทดสอบ
วิธีเลือกเครื่องสร้างข้อมูลทดสอบ
| ถ้าคุณต้องการ... | ใช้ | เหตุผล |
|---|---|---|
| การควบคุมด้วยโปรแกรมเต็มรูปแบบใน JS/Python | ไลบรารี Faker | ยืดหยุ่น เขียนสคริปต์ได้ ทำซ้ำได้ด้วย seed |
| ไฟล์ seed แบบคงที่อย่างรวดเร็ว | Mockaroo หรือที่คล้ายกัน | ไม่ต้องเขียนโค้ด ส่งออกแล้วใช้งานได้เลย |
| ข้อมูลที่ตรงกับสัญญา API ของคุณ | ตาม Schema (OpenAPI/JSON Schema) | คงความสอดคล้องกับ Spec |
| บันทึกที่รับรู้บริบทและ "สมเหตุสมผล" | เครื่องสร้างข้อมูล AI | ข้อมูลหลายฟิลด์ที่สอดคล้องกัน |
| ข้อมูลที่สร้างขึ้นซึ่งเชื่อมโยงกับ Mock และการทดสอบ | Apidog | เครื่องมือเดียวสำหรับ Mock สร้าง และรัน |
ไม่มีผู้ชนะเพียงคนเดียว ทีมที่เน้นการเขียนสคริปต์จะพึ่งพา Faker; ทีมที่ออกแบบ API ใน Apidog อยู่แล้วจะได้รับการสร้างข้อมูล การจำลอง และการรันที่ขับเคลื่อนด้วยข้อมูล โดยไม่ต้องออกจากพื้นที่ทำงาน
แนวทางปฏิบัติที่ดีที่สุดสำหรับข้อมูลทดสอบ API
- ใช้ Seed เพื่อให้สามารถทำซ้ำได้ การทดสอบที่ล้มเหลวจะมีประโยชน์ก็ต่อเมื่อคุณสามารถสร้างข้อมูลที่ทำให้มันล้มเหลวนั้นขึ้นมาใหม่ได้อย่างแม่นยำ ใช้ Seed ที่กำหนดไว้สำหรับการรันที่คุณต้องการทำซ้ำ
- สร้างข้อมูลที่ไม่ถูกต้องด้วย ฟิลด์ว่าง ประเภทที่ไม่ถูกต้อง Payload ที่มีขนาดใหญ่เกินไป และโทเค็นที่หมดอายุ ควรอยู่ในชุดข้อมูลของคุณ ไม่ใช่แค่แถวที่ถูกต้องเท่านั้น
- รักษาข้อมูลและ Schema ให้สอดคล้องกัน เมื่อสัญญาเปลี่ยน ให้สร้างใหม่ การสร้างตาม Schema จะทำให้สิ่งนี้เป็นไปโดยอัตโนมัติ
- ห้ามใช้ PII จริงเด็ดขาด ข้อมูลสังเคราะห์จะช่วยหลีกเลี่ยงกฎความเป็นส่วนตัวและความเสี่ยงในการรั่วไหลของบันทึกลูกค้าเข้าสู่ repo
- ปรับปริมาณให้เข้ากับการทดสอบ การทดสอบการแบ่งหน้าและประสิทธิภาพต้องการข้อมูลหลายพันแถว; การตรวจสอบความถูกต้องเพียงครั้งเดียวต้องการเพียงไม่กี่รายการ
คำถามที่พบบ่อย
ความแตกต่างระหว่างเครื่องสร้างข้อมูลทดสอบกับ Mock Server คืออะไร? เครื่องสร้างข้อมูลจะสร้างข้อมูล ส่วน Mock Server จะส่งข้อมูลนั้นผ่าน HTTP เป็นการตอบกลับ API ปลอม คุณมักจะต้องการทั้งสองอย่าง ซึ่งเป็นเหตุผลที่ Apidog รวมสิ่งเหล่านี้เข้าด้วยกัน: Mock จะส่งคืนข้อมูลที่เครื่องสร้างข้อมูลสร้างขึ้น ส่วนเครื่องสร้างข้อมูลแบบสแตนด์อโลนเพียงแค่ส่งไฟล์ให้คุณ
ฉันสามารถสร้างข้อมูลทดสอบจาก OpenAPI spec ของฉันได้หรือไม่? ได้ เครื่องมือที่ใช้ Schema จะอ่านประเภทและข้อจำกัดของ Spec เพื่อสร้างบันทึกที่ตรงกัน ดู การสร้าง Mock data จาก OpenAPI schemas
ข้อมูลทดสอบที่สร้างขึ้นสามารถ Commit เข้าสู่ repo ได้อย่างปลอดภัยหรือไม่? ข้อมูลสังเคราะห์นั้นปลอดภัย เนื่องจากไม่มีข้อมูลส่วนบุคคลจริงอยู่ภายใน ห้าม Commit ข้อมูลที่ส่งออกจาก Production เด็ดขาด
ฉันจะรันการทดสอบเดียวกับอินพุตที่สร้างขึ้นจำนวนมากได้อย่างไร? ใช้การทดสอบแบบ Data-driven: แนบชุดข้อมูล CSV หรือ JSON และการทดสอบจะวนซ้ำแต่ละแถว คู่มือการทดสอบแบบ Parameterized จะแสดงวิธีการตั้งค่า
ฉันจำเป็นต้องเปิด Fake server เพื่อใช้ข้อมูลทดสอบหรือไม่? ไม่จำเป็นเสมอไป หากคุณต้องการ REST API แบบใช้แล้วทิ้งที่ใช้ไฟล์ธรรมดาเป็นฐานข้อมูล ลองดูคู่มือของเราเกี่ยวกับ json-server และ JSONPlaceholder สำหรับ Mock ที่รับรู้ Schema และสามารถแชร์กันในทีมได้ ให้ใช้ Mock ในตัวของ Apidog
ฉบับย่อ
เครื่องสร้างข้อมูลทดสอบเปลี่ยนงานที่ช้าและมีแนวโน้มที่จะเกิดข้อผิดพลาดในการสร้างบันทึก ให้กลายเป็นการอธิบายรูปแบบที่คุณต้องการเพียงบรรทัดเดียว เลือกไลบรารีโค้ดสำหรับการควบคุมด้วยสคริปต์ เครื่องมือที่ใช้ Schema เพื่อให้สอดคล้องกับสัญญาของคุณ หรือเครื่องสร้างข้อมูล AI สำหรับบันทึกที่สอดคล้องกัน หากคุณทดสอบ API ใน Apidog อยู่แล้ว คุณจะได้รับการสร้างข้อมูล Smart Mock และการรันที่ขับเคลื่อนด้วยข้อมูลในที่เดียว ดังนั้นข้อมูลที่คุณสร้างขึ้นจะไหลเข้าสู่การทดสอบที่ใช้งานได้โดยตรง ดาวน์โหลด Apidog และชี้ไปยัง Endpoint เพื่อดูข้อมูลทดสอบที่สมจริงตั้งแต่คำขอแรก
