DEV Community

Nokka
Nokka

Posted on

วิธีใช้ Shiplight AI ให้ agent เขียน E2E test เอง, self-healing และลดเวลาทำ test จาก 60% เหลือเกือบศูนย์

วิธีใช้ Shiplight AI ให้ agent เขียน E2E test เอง, self-healing และลดเวลาทำ test จาก 60% เหลือเกือบศูนย์

โดย Nokka (นก-กา) | 22 สิงหาคม 2026

Shiplight

บทความนี้เป็นส่วนหนึ่งของซีรีส์ "ทีมทั่วไปแก้คอขวด QA ยังไง"

Shiplight อยู่ตรงไหนของการทดสอบ: มันคือ "ด่านที่สอง", ต่างจาก Greptile/CodeRabbit ที่ตรวจ "โค้ด" Shiplight ทดสอบ "แอปจริง" โดยให้ agent เปิด browser คลิก/พิมพ์/ตรวจ UI เหมือนผู้ใช้จริง แล้วเขียน E2E test เก็บไว้ใน repo

ก่อนอื่น, Shiplight คืออะไร

Shiplight คือ AI testing platform ที่ "ให้ coding agent มีตาและมือใน browser จริง" [1]

หลักการ: agent (Claude Code, Cursor, Codex) เป็นคนเขียนและดูแล E2E test เอง, มนุษย์แค่ review test ที่อ่านง่าย (YAML) และ hand-tune เฉพาะ flow ที่ซับซ้อน

จุดเด่นที่สุดคือ self-healing, เมื่อ UI เปลี่ยน test จะ "ซ่อมตัวเอง" โดยไม่ต้องให้มนุษย์มานั่งแก้ [1]

สิ่งที่ต้องมีก่อนเริ่ม

  • coding agent ที่รองรับ MCP (Claude Code, Cursor, Codex)
  • โปรเจกต์เว็บที่ต้องการทดสอบ

ขั้นตอนติดตั้ง

ขั้นที่ 1: ติดตั้ง MCP + Skills

  1. ติดตั้ง Shiplight เป็น MCP server + Skills เข้า coding agent
  2. agent จะสามารถเปิด browser จริง, ตรวจแอป, และรัน Shiplight workflow ได้

ขั้นที่ 2: ให้ agent ตรวจ UI change

  1. สั่ง agent ให้ "exercise" ฟีเจอร์ใน browser จริง
  2. agent จะเปิด browser คลิก/พิมพ์/ตรวจเหมือนผู้ใช้

ขั้นที่ 3: ให้ agent เขียน YAML E2E test

  1. จาก browser session เดิม agent เขียน test เป็น YAML
  2. test อ่านง่ายเหมือน spec (natural language steps)
  3. เก็บไว้ใน repo ข้างโค้ดแอป

ขั้นที่ 4: รันใน CI

  1. test รันได้กับ CI provider ใดก็ได้
  2. ผล test ดูได้ใน Shiplight dashboard

ตัวอย่าง YAML test (อ่านง่ายเหมือน spec)

Shiplight ใช้ YAML ที่อ่านง่าย, ไม่ใช่โค้ด selector ที่ซับซ้อน:

- name: "ผู้ใช้ล็อกอินสำเร็จ"
  steps:
    - go to "/login"
    - type "user@example.com" into "email"
    - type "password" into "password"
    - click "เข้าสู่ระบบ"
    - expect "ยินดีต้อนรับ" to be visible
Enter fullscreen mode Exit fullscreen mode

จุดสำคัญ: test อ่านแล้วเข้าใจว่า "ทดสอบอะไร" โดยไม่ต้องรู้ selector

Self-healing ทำงานยังไง

เมื่อ UI markup เปลี่ยน (เช่น เปลี่ยน class name) test ปกติจะพัง แต่ Shiplight:

  1. Detect, ตรวจพบว่า locator เดิมหาไม่เจอ
  2. Re-resolve, หา element ใหม่จาก "intent" (สิ่งที่ test ตั้งใจทำ)
  3. Heal, อัปเดต locator ให้ test ผ่านต่อไป

ผลลัพธ์: test "ไม่พัง" เมื่อ UI เปลี่ยน, ลด maintenance เกือบศูนย์ [1]

ตัวเลขผลลัพธ์จริง

จากลูกค้า Shiplight [2]:

ตัวเลข ความหมาย
60% → ~0% Head of QA ลดเวลาทำ test จาก 60% ของงาน เหลือเกือบศูนย์ ใน 1 เดือน
~300 tests ทีมสร้าง regression suite แรกได้ใน 1 สัปดาห์

ราคา

แผน ราคา หมายเหตุ
Free $0 ตลอดชีพ ทุกฟีเจอร์หลัก รวม MCP + self-healing + CI
Pro $60/เดือน
Enterprise custom SOC 2, VPC, dedicated CSM

ข้อควรระวัง

  1. เฉพาะ web E2E, ไม่รองรับ native mobile (ระบุชัดใน scope)
  2. Self-healing ไม่ใช่เวทมนตร์, ซ่อม "test ที่พังจาก UI เปลี่ยน" ได้ แต่ "test ที่เขียนผิดตั้งแต่แรก" ยังต้องคนแก้
  3. ต้องใช้ coding agent, ถ้าทีมยังไม่ใช้ Claude Code/Cursor/Codex จะใช้ Shiplight ไม่เต็มที่

สรุป

Shiplight คือ "ด่านที่สอง", ทดสอบแอปจริงด้วย agent + self-healing + YAML test ที่อ่านง่าย

ถ้าทีมคุณใช้ coding agent อยู่แล้ว และเจอปัญหา "test พังทุกครั้งที่ UI เปลี่ยน", Shiplight free tier คือจุดเริ่มต้นที่คุ้มที่สุด


สรุปมุมมองของผม

ผมมองว่า Shiplight คือ "คำตอบสำเร็จรูป" ของสิ่งที่ OpenAI ทำเอง, มันทำ "ย้าย verification เข้า agent loop" ให้แล้ว โดยที่ทีมทั่วไปไม่ต้องสร้างระบบเอง

และจุดที่ผมชอบที่สุดคือ "YAML test ที่อ่านง่าย", เพราะมันแก้ปัญหาที่หลายทีมเจอ: test ที่เขียนด้วยโค้ด selector อ่านยาก จนไม่มีใครอยาก maintain

ทีมคุณใช้ Shiplight หรือ Playwright ธรรมดา? คอมเมนต์บอกผมได้ครับ

แหล่งอ้างอิง

[1] Shiplight AI. "What is Shiplight AI". 2026. https://docs.shiplight.ai/getting-started/what-is-shiplight.html

[2] Shiplight AI. "The Best AI QA Tools in 2026". 2026. https://www.shiplight.ai/blog/best-ai-qa-tools-2026


บทความนี้วิเคราะห์จาก Shiplight AI documentation ข้อมูล ณ 22 สิงหาคม 2026 Nokka

บทความนี้เขียนโดย AI (DeepSeek V4 Pro) ภายใต้การดูแลของ Nokka

Top comments (0)