การเกิดขึ้นของเครื่องมือทดสอบที่ขับเคลื่อนด้วย AI กำลังปรับเปลี่ยนวิธีที่นักพัฒนาเข้าถึงการประกันคุณภาพสำหรับเว็บแอปพลิเคชัน Magnitude ซึ่งเป็นกรอบการทดสอบโอเพนซอร์สที่ใช้เอเจนต์ AI แบบวิชวล ได้จุดประเด็นการถกเถียงที่สำคัญในหมู่นักพัฒนาเกี่ยวกับความสมดุลระหว่างการทดสอบแบบกำหนดไว้ล่วงหน้าและความสามารถในการปรับตัวของ AI
สถาปัตยกรรมแบบสองโมเดล: การวางแผนและการดำเนินการ
หัวใจสำคัญของแนวทางของ Magnitude คือการแบ่งแยกที่ชัดเจนระหว่างฟังก์ชันการวางแผนและการดำเนินการ กรอบงานนี้ใช้โมเดล AI สองรูปแบบที่แตกต่างกัน: ตัววางแผน (โดยทั่วไปเป็นโมเดลที่ใหญ่กว่าและมีความสามารถมากกว่า เช่น Gemini 2.5 Pro) ที่พัฒนากลยุทธ์การทดสอบโดยรวม และตัวดำเนินการ (Moondream ซึ่งเป็นโมเดลขนาดเล็กกว่าที่มีพารามิเตอร์ 2B) ที่จัดการกับการโต้ตอบ UI ที่มีความแม่นยำระดับพิกเซล
สถาปัตยกรรมนี้แก้ไขความท้าทายพื้นฐานในการทดสอบที่ใช้ AI: วิธีทำให้การทดสอบทั้งปรับตัวได้และมีความสม่ำเสมอ ตามที่ทีม Magnitude อธิบายในการสนทนาของชุมชน ตัววางแผนจะสร้างแผนทั่วไปซึ่งตัวดำเนินการจะนำไปใช้ นวัตกรรมสำคัญคือแผนนี้สามารถบันทึกและเรียกใช้ซ้ำโดยใช้เฉพาะตัวดำเนินการสำหรับการทดสอบครั้งต่อไป ทำให้การรันซ้ำเร็วขึ้น ถูกลง และสม่ำเสมอมากขึ้น
ส่วนที่น่าสนใจคือ เราสามารถบันทึกแผนการดำเนินการที่โมเดลขนาดใหญ่สร้างขึ้นและรันด้วย Moondream เท่านั้นหากแผนมีความเฉพาะเจาะจงเพียงพอ จากนั้นสลับกลับไปใช้โมเดลขนาดใหญ่หากเส้นทางการดำเนินการบางอย่างต้องการการปรับเปลี่ยน
เมื่อเกิดการเปลี่ยนแปลงอินเทอร์เฟซที่อาจทำให้การทดสอบแบบดั้งเดิมล้มเหลว ระบบสามารถเปลี่ยนกลับไปใช้โมเดลตัววางแผนเพื่อปรับกลยุทธ์การทดสอบได้อย่างไดนามิก ซึ่งให้การผสมผสานระหว่างความสม่ำเสมอและการปรับตัวที่กรอบการทดสอบแบบดั้งเดิมทำได้ยาก
สถาปัตยกรรมการทดสอบแบบสองโมเดลของ Magnitude
-
โมเดลวางแผน (Planner Model)
- แนะนำ: Gemini 2.5 Pro
- ทางเลือกอื่น: โมเดลจาก Anthropic, OpenAI, AWS Bedrock ฯลฯ
- หน้าที่: พัฒนากลยุทธ์การทดสอบโดยรวมและปรับตัวเมื่อมีการเปลี่ยนแปลงอินเทอร์เฟซ
-
โมเดลดำเนินการ (Executor Model)
- ปัจจุบันรองรับเฉพาะ Moondream (2B พารามิเตอร์)
- หน้าที่: จัดการการโต้ตอบกับ UI ด้วยความแม่นยำระดับพิกเซล
- ข้อดี: การดำเนินการที่รวดเร็ว ราคาถูก และสม่ำเสมอ
- ราคา: Moondream ให้บริการฟรี 5,000 คำขอต่อวัน (เวอร์ชันคลาวด์)
คุณสมบัติหลัก
- การสร้างเคสทดสอบด้วยภาษาธรรมชาติ
- การเก็บแคชแผนงานเพื่อการดำเนินการทดสอบที่สม่ำเสมอ
- การสลับกลับไปใช้โมเดลวางแผนโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงอินเทอร์เฟซ
- การรวมเข้ากับ CI/CD คล้ายกับ Playwright
- มีตัวเลือกสำหรับการติดตั้ง Moondream บนเซิร์ฟเวอร์ของตัวเอง
การถกเถียงเรื่องความแน่นอน
หนึ่งในความกังวลที่โดดเด่นที่สุดที่ถูกยกขึ้นในการสนทนาของชุมชนคือเรื่องความแน่นอนของการทดสอบ การทดสอบอัตโนมัติแบบดั้งเดิมมีคุณค่าในด้านความสม่ำเสมอและการคาดการณ์ได้ ในขณะที่แนวทางที่ใช้ AI โดยธรรมชาติแล้วจะนำเสนอระดับของความไม่แน่นอนบางประการ
นักพัฒนาของ Magnitude ได้ตอบข้อกังวลนี้โดยอธิบายว่าสถาปัตยกรรมของพวกเขาได้รับการออกแบบมาโดยเฉพาะโดยคำนึงถึงความแน่นอน แทนที่จะสร้างการทดสอบที่อิงกับโค้ดที่เปราะบางซึ่งจะล้มเหลวเมื่ออินเทอร์เฟซเปลี่ยนแปลง Magnitude จะแคชแผนของการกระทำบนเว็บที่อธิบายในภาษาธรรมชาติ ตัวอย่างเช่น การกระทำการพิมพ์ที่แคชไว้อาจรวมถึงคำอธิบายเป้าหมายและเนื้อหาที่จะพิมพ์ในภาษาธรรมชาติ ซึ่งช่วยให้โมเดลตัวดำเนินการสามารถค้นหาเป้าหมายได้อย่างน่าเชื่อถือโดยไม่ต้องพึ่งพาตัวเลือก DOM
แนวทางนี้หมายความว่าตราบใดที่อินเทอร์เฟซยังคงไม่เปลี่ยนแปลงมากนัก การทดสอบสามารถทำงานได้อย่างสม่ำเสมอโดยใช้แผนที่แคชไว้ เมื่อมีการเปลี่ยนแปลงอินเทอร์เฟซที่สำคัญ ระบบจะกลับไปใช้โมเดลตัววางแผนอย่างชาญฉลาดเพื่อปรับการทดสอบ สร้างแผนแคชใหม่ที่สามารถดำเนินการได้อย่างสม่ำเสมอจนกว่าจะมีการเปลี่ยนแปลงครั้งใหญ่ครั้งต่อไป
เหนือกว่าการทดสอบแบบดั้งเดิม: การเข้าถึงและการใช้งาน
ประเด็นที่น่าสนใจในการสนทนาของชุมชนคือการสำรวจว่า การทดสอบที่ใช้ AI อาจขยายขอบเขตเกินกว่าการทดสอบฟังก์ชันแบบดั้งเดิมไปสู่การประเมินการเข้าถึงและความสามารถในการใช้งาน ผู้แสดงความคิดเห็นคนหนึ่งชี้ให้เห็นว่าการพึ่งพาเฉพาะการทดสอบแบบวิชวลอาจทำให้นักพัฒนาไม่ต้องรับผิดชอบต่อประเด็นการเข้าถึง
ในการตอบสนอง ทีม Magnitude ยอมรับข้อจำกัดนี้และแสดงความสนใจในการพัฒนาการทดสอบการเข้าถึงแบบคู่ขนานที่จะทำงานควบคู่ไปกับการทดสอบแบบวิชวล แต่จะถูกจำกัดให้ใช้เฉพาะโครงสร้างการเข้าถึงเท่านั้น แนวทางนี้สามารถช่วยให้นักพัฒนาระบุปัญหาการเข้าถึงได้อย่างมีประสิทธิภาพมากขึ้นโดยการจำลองความพิการหรือข้อจำกัดประเภทต่างๆ
สมาชิกบางคนในชุมชนยังแนะนำว่าลักษณะที่ไม่แน่นอนของการทดสอบด้วย AI อาจถูกใช้เป็นข้อได้เปรียบสำหรับการทดสอบความสามารถในการใช้งาน โดยการวิเคราะห์อัตราความสำเร็จในการทดสอบหลายครั้ง นักพัฒนาอาจได้รับข้อมูลเชิงลึกเกี่ยวกับวิธีที่ทั้งเอเจนต์ AI และมนุษย์โต้ตอบกับอินเทอร์เฟซของพวกเขา ซึ่งอาจเผยให้เห็นปัญหาการใช้งานที่การทดสอบแบบกำหนดไว้ล่วงหน้าอาจมองข้าม
ข้อพิจารณาด้านต้นทุนและประสิทธิภาพ
ชุมชนได้แสดงความสนใจเป็นพิเศษในวิธีที่ Magnitude สร้างความสมดุลระหว่างต้นทุนและประสิทธิภาพ แนวทางสองโมเดลนี้แก้ไขความกังวลนี้โดยตรง: โมเดลตัววางแผนที่มีราคาแพงและทรงพลังจะถูกใช้อย่างประหยัดเพื่อพัฒนาและปรับกลยุทธ์การทดสอบ ในขณะที่โมเดลตัวดำเนินการที่เล็กกว่าและเร็วกว่าจะจัดการกับการดำเนินการทดสอบส่วนใหญ่
แนวทางนี้ช่วยลดต้นทุนอย่างมีนัยสำคัญเมื่อเทียบกับโซลูชันที่พึ่งพาเฉพาะโมเดลขนาดใหญ่เช่นที่ใช้ใน OpenAI's Computer Use หรือ Anthropic's Claude โดย Moondream ซึ่งเป็นโมเดลพารามิเตอร์เพียง 2B นั้นทั้งเร็วกว่าและถูกกว่าในการรัน โดยมีตัวเลือกการโฮสต์เองสำหรับทีมที่มีความต้องการเฉพาะในการปรับใช้
ในขณะที่การทดสอบเว็บแอปพลิเคชันยังคงพัฒนาต่อไป กรอบการทำงานเช่น Magnitude แสดงถึงจุดกึ่งกลางที่น่าสนใจระหว่างการทดสอบอัตโนมัติแบบดั้งเดิมและแนวทางที่ขับเคลื่อนด้วย AI อย่างเต็มรูปแบบ ด้วยการรวมจุดแข็งของโมเดล AI ที่แตกต่างกันและการแคชแผนการดำเนินการอย่างชาญฉลาด พวกเขาให้ภาพรวมของวิธีที่การทดสอบอาจพัฒนาเพื่อให้มีทั้งการปรับตัวได้มากขึ้นและมีประสิทธิภาพมากขึ้นในอนาคต
อ้างอิง: Magnitude: The open source, Al-native testing framework for web apps