การทดสอบด้วย AI

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

ต่อเนื่องกับ Atlas

นักพัฒนาซอฟต์แวร์ตรวจสอบโค้ดพร้อม Security Shield

 

  • นำ Atlas เข้าสู่ Wayfarer Labs
  • ✅ โค้ดต้องผ่านการทดสอบ มีความปลอดภัย และทนทาน
  • 🤖 AI เร่งกระบวนการประเมินและทดสอบโค้ดที่ไม่คุ้นเคย
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ทำไมต้องใช้ AI ช่วยทดสอบ?

 

  • ค้นหา เส้นทางที่ยังไม่ได้ทดสอบ
  • หา Edge Case
  • ตรวจจับ ช่องโหว่ที่อาจเกิดขึ้น

 

🤖 เริ่มต้นด้วยการให้ AI ประเมินความครบถ้วนของการทดสอบ ในโค้ดเบส

แว่นขยายตรวจสอบโค้ดพร้อมไอคอนบัก

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ประเมินความครบถ้วนของการทดสอบ

คุณคือวิศวกร QA อาวุโสและสถาปนิกซอฟต์แวร์

ประเมิน ความครบถ้วนของการทดสอบโค้ดเบส และระบุช่องว่างที่มีความเสี่ยงสูงสุด ให้คะแนนหัวข้อต่อไปนี้ใน สเกล 0-5:

  • Coverage ของเส้นทางสำคัญ
  • การจัดการ Edge Case
  • การป้องกัน Regression
  • CI/CD Automation

นอกจากนี้ ระบุประเภทเทสต์ที่มีอยู่ในปัจจุบัน: unit, integration, end-to-end, regression, property หรือ fuzz test

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ผลการประเมินความครบถ้วนของการทดสอบ

coverage-scores2.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การกำหนด Baseline

coverage-commands2.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

วิเคราะห์ผลการ Coverage

coverage-profile2.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

กลยุทธ์การทดสอบ

 

แผนภาพกลยุทธ์การทดสอบ

 

  • Exploratory → ทำความเข้าใจพฤติกรรม
  • Functional → ตรวจสอบผลลัพธ์
  • Regression → ปกป้องพฤติกรรมเดิม
  • Automated → ฟีดแบ็กรวดเร็ว ทำซ้ำได้
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การสร้าง Test Suite

 

Test suite คืออะไร?

👉 ชุดทดสอบที่มีโครงสร้าง ประกอบด้วยเทสต์ ข้อมูล เครื่องมือ และกฎ เพื่อให้แน่ใจว่าระบบทำงานสอดคล้องกันตลอดเวลา

🤖 Prompt สำหรับ Test suite:

คุณคือวิศวกรซอฟต์แวร์อาวุโส สร้าง unit test และ integration test สำหรับเส้นทางสำคัญของโค้ด โดยรวมถึง:

  • กรณีปกติ
  • Edge case
  • สถานการณ์ที่ล้มเหลว
  • Assertion และ fixture ที่ชัดเจน

พร้อมทั้งระบุ รายการเทสต์ทั้งหมด และ คำอธิบายสั้น ๆ ของแต่ละเทสต์

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ตรวจสอบการปรับปรุง Coverage

รายการเทสต์ที่ AI สร้าง:

ai-generated-tests2.png

Coverage ใหม่:

new-coverage2.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Runtime Protection

 

การฉีดข้อมูลกำหนดเองเป็น Input ➡ Atlas ❗

🤖 Prompt สำหรับ Runtime Protection:

เมื่อฉีดหรือจัดการข้อมูลกำหนดเอง ให้เพิ่มการป้องกันขณะรันไทม์:

  • ตรวจสอบ Input ก่อนประมวลผล (ประเภท ฟิลด์ที่จำเป็น ค่าที่ไม่คาดคิด)
  • ตรวจสอบ Schema ที่ทุก Pipeline Boundary อย่าสมมติว่าข้อมูลต้นทางสะอาด
  • ส่งข้อความแสดงข้อผิดพลาดที่ระบุสิ่งที่ล้มเหลวและตำแหน่งที่เกิดขึ้น
  • ใช้ค่าเริ่มต้นที่ปลอดภัยสำหรับฟิลด์เสริม แทนการปล่อยไว้ไม่กำหนด
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

CI Automation

ci-coverage.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ฝึกปฏิบัติกันเลย!

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Preparing Video For Download...