𝗣𝗿𝗼𝗺𝗽𝘁 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗳𝗼𝗿 𝗦𝘆𝗻𝘁𝗵𝗲𝘁𝗶𝗰 𝗗𝗮𝘁𝗮

การใช้ LLM เพื่อสร้างข้อมูลสังเคราะห์ (synthetic data) เป็นกลยุทธ์ที่ได้รับความนิยมสำหรับทีม QA คุณสามารถสร้างข้อมูลที่ซับซ้อนได้หลายร้อยรายการภายในไม่กี่วินาที

แต่การใช้ prompt แบบทั่วไปจะนำไปสู่กับดัก หากคุณสั่ง LLM ว่า "สร้างผู้ใช้สำหรับทดสอบ 50 คน" คุณจะได้ข้อมูลที่คาดเดาได้และซ้ำซาก สิ่งนี้สร้างความรู้สึกผิดว่าครอบคลุมการทดสอบแล้ว (false sense of coverage) คุณจะได้ข้อมูลจำนวนมากที่ทดสอบเพียงแค่ "happy path" แต่กลับพลาดกรณีขอบเขต (edge cases) และตรรกะทางธุรกิจ (business logic) ที่สำคัญไป

เพื่อแก้ไขปัญหานี้ คุณต้องเปลี่ยนบทบาทจากการเป็นเพียง "ผู้สั่ง" (requester) มาเป็น "ผู้ควบคุม" (orchestrator) คุณจำเป็นต้องนำหลักการทดสอบมาประยุกต์ใช้กับการทำ prompt engineering โดยตรง

ใช้ 3 รูปแบบนี้เพื่อเพิ่มคุณภาพของข้อมูลของคุณ:

  1. การแบ่งกลุ่มข้อมูลที่เทียบเท่ากันและการวิเคราะห์ค่าขอบเขต (Equivalence Partitioning and Boundary Value Analysis) แทนที่จะขอข้อมูลโดยตรง ให้บังคับให้ LLM วางแผนกลุ่มการทดสอบ (test classes) ออกมาก่อน โดยใช้เทคนิค Chain-of-Thought prompting

วิธีนี้จะช่วยให้คุณทดสอบจุดเปลี่ยนผ่านที่แม่นยำ เช่น $99.99 เทียบกับ $100.00 โดยไม่ต้องเสียพื้นที่ไปกับข้อมูลที่ซ้ำซ้อน

  1. การทดสอบการเปลี่ยนสถานะ (State Transition Testing) สำหรับระบบอย่างขั้นตอนการชำระเงิน (payment flows) หรือการจัดการคำสั่งซื้อ (order management) ข้อมูลจะต้องสะท้อนถึงขั้นตอนต่างๆ ของวงจรชีวิต (lifecycle)

วิธีนี้จะช่วยป้องกันข้อมูลซ้ำซ้อนและบังคับให้เกิดการสร้างกรณีทดสอบเชิงลบ (negative test cases)

  1. การควบคุมความหลากหลายและการใช้ Negative Prompting LLM มักจะสร้างข้อมูลที่มีลักษณะเหมือนๆ กัน (homogeneous) เช่น การใช้ภูมิภาคหรือกลุ่มอายุเดิมๆ ให้ใช้ Negative Prompting เพื่อหยุดปัญหานี้

วิธีนี้จะช่วยขจัดความลำเอียง (bias) และทำให้มั่นใจว่าระบบหลังบ้าน (backend) ของคุณสามารถรองรับข้อมูลที่หลากหลายและสมจริงได้

ความเร็วของ AI จะมีคุณค่าก็ต่อเมื่อข้อมูลของคุณถูกกำหนดมาอย่างมีจุดประสงค์เท่านั้น บทบาทของคุณในฐานะผู้เชี่ยวชาญด้าน QA คือการเขียนโค้ดเพื่อกำหนดข้อจำกัดที่ควบคุมโมเดลแบบ Generative เหล่านี้

ที่มา: https://dev.to/lopesdoamaral/engenharia-de-prompts-para-massa-de-dados-escalando-testes-com-cobertura-e-sem-duplicidade-oba

ชุมชนการเรียนรู้เพิ่มเติม: https://t.me/GyaanSetuAi