WEBSITE ĐANG PHÁT TRIỂN

Image Prompt: Test coverage khi vibe code: ai viết tests khi AI là developer?

Mô tả bài viết

Bài của Thu (ms-money) về "circular validation" – khi AI viết cả code lẫn tests, coverage 94% vẫn không đảm bảo quality. Tầm quan trọng của adversarial thinking trong QA thời vibe coding.

AI Image Generation Prompt (English)

Primary Prompt

A clean dashboard showing a large "94% coverage" metric in bright green, but with a small crack or gap visible in the bottom corner that glows red. A magnifying glass hovers over the crack revealing a hidden bug symbol. Dark tech interface aesthetic, dark navy background, green and red contrast, clinical precision. No text visible, no logos. Clean tech illustration with data visualization elements. Flat design with subtle glow effects.

Style Notes

  • Style: clean tech dashboard illustration, data viz aesthetic, flat with glow
  • Colors: dark navy (#0d1b2a), bright green (#06d6a0) for metrics, warning red (#ef233c) for the gap, white UI elements
  • Mood: false confidence exposed, "the crack in the perfect coverage"
  • Aspect ratio: 16:9 (blog cover)
  • No readable text on dashboard numbers except vague "9x%"

Alternative Prompts

Option A – Two robots, same blind spot:

Two AI robot figures standing side by side, one writing code, one writing tests. Both have identical blindfolds on. A small bug crawls past them unnoticed. Clean vector illustration, dark background with teal and amber accents, slightly humorous but professional tone.

Option B – Mirror validation metaphor:

A developer's screen showing code on the left and tests on the right, both mirroring each other perfectly but a small section at the bottom has a gap where they don't align, highlighted with a subtle red glow. Minimal UI illustration, dark mode aesthetic, navy and green palette.

Tools

  • Midjourney v6: paste Primary Prompt with --ar 16:9 --style raw --v 6
  • DALL-E 3: use Primary Prompt directly
  • Stable Diffusion: add dark mode UI illustration, tech aesthetic, cyberpunk light accents to Primary Prompt
  • Nano Banana / ai-artist skill: use Primary Prompt with style clean tech illustration, dark mode

Bài viết liên quan

Xem thêm
Clean Code, Testing & Engineering Excellence

Test coverage khi vibe code: AI viết tests thì ai chịu trách nhiệm?

AI viết code nhanh, AI viết tests cũng nhanh – nhưng khi cả hai cùng đến từ một nguồn, coverage 100% vẫn có thể che giấu bug production. Đây không phải lỗi của AI. Đây là structural problem của vibe coding workflow: không có adversarial thinking, không có người hỏi "nhưng nếu... thì sao?" Vai trò QA không bị AI xóa bỏ – nó đang trở nên quan trọng hơn bao giờ hết. Tuần trước, tôi review một đợt regression sau khi team deploy feature mới. CI green. Test coverage 94%. Zero failing tests. Mọi thứ sạch đẹp trên dashboard. Hai giờ sau khi lên production – một user nhắn tin vào support: "Giỏ hàng của tôi bị mất khi tôi quay lại từ trang thanh toán." Tôi kéo code ra. Dev gen bằng Cursor, tests cũng gen bằng Cursor. Coverage report trông rất đẹp – unit tests cover từng function, integration tests cover các happy path chính. Chỉ có một thứ tests không cover: cái user journey cụ thể đó – tab back sau khi redirect sang payment gateway của bên thứ ba, state của cart bị reset vì AI không biết rằng cái flow đó tồn tại. AI không biết business context của bạn. AI không có ký ức về lần trước user complain gì. AI không đặt câu hỏi theo kiểu của một tester: "Nhưng nếu user làm cái này trước thì sao?" Và đó chính là vấn đề cốt lõi.

Clean Code, Testing & Engineering Excellence

Vibe coding vui đấy, nhưng production thì không đùa được

Vibe coding với AI cực kỳ năng suất - nhưng 53% code AI sinh ra không qua nổi security review. Bài này tôi phân tích những lỗ hổng phổ biến nhất trong AI-generated code và checklist thực tế để vừa vibe vừa không mất ngủ vì production. Anh bạn tôi - một solo founder đang build SaaS app với Cursor - gọi điện lúc 11 giờ đêm tuần trước. "Ông ơi, tôi vừa nhận email từ khách hàng. Họ nói thấy data của người khác trong account của họ." Anh ấy đã dùng Cursor để build toàn bộ cái app trong 3 tuần. AI viết hết - backend, frontend, database schema, authentication. Năng suất khủng khiếp. Anh ấy tự hào lắm. Ra production mới phát hiện: AI đã generate thiếu Row Level Security (RLS) cho Supabase. Mọi user đều đọc được data của nhau. Đây không phải câu chuyện cá biệt. Vibe coding - cái trend "để AI viết hết, mình chỉ describe" - đang thay đổi hoàn toàn cách developer làm việc. Cursor, GitHub Copilot, Claude, v0.dev... Tôi dùng hàng ngày. Năng suất tăng 3-5x là thật. Thời gian từ idea đến MVP giảm từ tuần xuống ngày là thật. Nhưng có một thứ AI rất kém: security sense.