Bỏ qua

Module 01: Giới Thiệu — Tại Sao Cần AI Trong Automation Test?

⏱️ Thời lượng: ~2 giờ (45 phút lý thuyết + 75 phút thực hành) 📋 Yêu cầu trước: Đã cài Node.js trên máy


🎯 Mục Tiêu Module

Sau khi hoàn thành module này, bạn sẽ:

  • Hiểu tại sao QC Manual cần biết automation test
  • Hiểu vai trò của AI trong quy trình test tự động
  • Nắm được tổng quan framework 4 giai đoạn
  • Hiểu luồng hoạt động: QC Input → AI Process → Playwright Code → Regression
  • Đã setup xong môi trường và chạy thử test đầu tiên

1.1. QC Manual Đang Gặp Vấn Đề Gì?

Vấn đề hiện tại

┌─────────────────────────────────────────────────────┐
│  QC Manual truyền thống:                            │
│                                                     │
│  ❌ Test case viết bằng tay → Tốn thời gian        │
│  ❌ Chạy lại test thủ công → Lặp đi lặp lại        │
│  ❌ Regression test → Chi phí nhân sự cao           │
│  ❌ Báo cáo thủ công → Dễ sai sót, mất thời gian  │
└─────────────────────────────────────────────────────┘

Giải pháp: Automation Test

┌─────────────────────────────────────────────────────┐
│  Automation Test:                                   │
│                                                     │
│  ✅ Code chạy thay người → Nhanh, chính xác        │
│  ✅ Chạy lại tự động → 0 chi phí nhân sự           │
│  ✅ Báo cáo tự động → Video, screenshot, log       │
│  ✅ Chạy được trên nhiều browser                    │
└─────────────────────────────────────────────────────┘

Nhưng Automation Test có rào cản

┌─────────────────────────────────────────────────────┐
│  Rào cản:                                           │
│                                                     │
│  ❌ Cần biết code (QC Manual thường không biết)     │
│  ❌ Cần học framework (Playwright, Selenium...)     │
│  ❌ Thời gian setup ban đầu dài                     │
│  ❌ Cần hiểu DOM, locator, selector                 │
└─────────────────────────────────────────────────────┘

→ Giải pháp: AI IDE (Antigravity)

┌─────────────────────────────────────────────────────┐
│  AI IDE giúp:                                       │
│                                                     │
│  ✅ Nhận Prompt → Tự động viết code Playwright     │
│  ✅ Không cần biết code từ đầu                     │
│  ✅ QC tập trung vào luồng Test (Test Flow)        │
│  ✅ Học code dần qua quá trình review              │
└─────────────────────────────────────────────────────┘

1.2. Framework 4 Giai Đoạn

┌──────────────────────────────────────────────────────────────────┐
│                                                                  │
│   Giai đoạn 1          Giai đoạn 2          Giai đoạn 3         │
│  ┌──────────┐        ┌──────────┐        ┌──────────┐           │
│  │ Chuẩn    │        │ Thực thi │        │ Đánh giá │           │
│  │ hóa      │───────►│ & Tạo    │───────►│ & Tối ưu │           │
│  │ Đầu vào  │        │ Code     │        │ Code     │           │
│  └──────────┘        └──────────┘        └──────────┘           │
│  QC + Prompt          IDE Antigravity      Code Review           │
│  Template             (AI Agent)           + QC Duyệt            │
│                                                                  │
│                           │                                      │
│                           ▼                                      │
│                    Giai đoạn 4                                   │
│                  ┌──────────┐                                    │
│                  │ Chạy lại │                                    │
│                  │ & Kết    │  ← 0 Token Cost                   │
│                  │ quả      │                                    │
│                  └──────────┘                                    │
│                  Regression Test                                 │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘

Giai đoạn 1: Chuẩn hóa Đầu vào

  • Người tham gia: QC Manual
  • Vai trò: QC nhập yêu cầu test theo cấu trúc Prompt chuẩn (học ở Module 02)
  • Đầu ra: Prompt rõ ràng với steps, assertions và test data cụ thể
  • Ví dụ đầu ra:
    Mở trang /login, nhập username="admin", password="123456",
    click nút Login, kiểm tra URL chuyển sang /dashboard
    

Giai đoạn 2: Thực thi và Tạo Code

  • Người tham gia: Antigravity IDE (AI Agent)
  • Vai trò: Nhận Prompt → Phân tích → Tự động sinh file Playwright .spec.ts
  • Đầu ra: Playwright Script chạy được ngay
  • Lưu ý: AI có thể tự quét DOM để tìm selector nếu cần

Giai đoạn 3: Đánh giá và Tối ưu Code

  • Người tham gia: QC Manual (có thể nhờ AI review thêm)
  • Vai trò: Đọc code AI sinh ra → Xác nhận logic đúng → Duyệt hoặc yêu cầu AI chỉnh sửa
  • Đầu ra: Playwright Script chính thức (Approved)

Giai đoạn 4: Chạy lại và Kết quả

  • Người tham gia: Không có AI (chạy code trực tiếp bằng lệnh)
  • Vai trò: Chạy regression test → Sinh artifacts
  • Đầu ra: Report HTML, Video quay màn hình, Screenshot, Log
  • Chi phí AI: 0 — code đã có sẵn, máy chỉ đọc và chạy

1.3. Vai Trò Của QC Trong Framework Này

┌─────────────────────────────────────────────────────┐
│  QC Manual trong framework AI:                      │
│                                                     │
│  1. Người ĐẶT YÊU CẦU → viết Prompt rõ ràng       │
│  2. Người KIỂM TRA CHẤT LƯỢNG → đọc và hiểu code  │
│  3. Người DUYỆT code → xác nhận trước khi chạy    │
│  4. Người ĐỌC KẾT QUẢ → phân tích report, trace   │
│  5. Người QUYẾT ĐỊNH → bug thật hay test sai?      │
│                                                     │
│  → QC vẫn là người kiểm soát, AI là công cụ hỗ trợ │
└─────────────────────────────────────────────────────┘

Điều này có nghĩa là: Bạn không cần trở thành lập trình viên. Nhưng bạn cần đủ hiểu biết để nhận ra khi nào AI đang sai — và biết cách yêu cầu AI sửa lại.


1.4. Khi AI Sinh Code Sai — Phải Làm Gì?

Đây là điều chắc chắn xảy ra. AI không phải lúc nào cũng sinh ra code đúng ngay lần đầu. Kỹ năng quan trọng là biết xử lý:

┌────────────────────────────────────────────────────────┐
│  Vòng lặp sửa lỗi:                                    │
│                                                        │
│  1. Chạy test → Gặp lỗi (error trong Terminal)        │
│  2. Sao chép thông báo lỗi                             │
│  3. Paste vào khung Chat: "Test bị lỗi này: [lỗi]"    │
│  4. AI đọc lỗi → Đề xuất cách sửa → Tự sửa code      │
│  5. Chạy lại test                                      │
│                                                        │
│  → Bạn không cần hiểu lỗi, chỉ cần biết cách mô tả  │
└────────────────────────────────────────────────────────┘

Kỹ năng debug này sẽ được thực hành kỹ hơn ở Module 10 (Maintenance).


1.5. Công Cụ Sử Dụng

Antigravity IDE (Agentic IDE)

  • Cách mở: Tải về và mở như VSCode — chỉ định thư mục dự án
  • Triết lý hoạt động: Không dùng "Record" thao tác tay. Mọi thứ được sinh ra từ Prompt.
  • Khả năng:
  • Giao tiếp bằng ngôn ngữ tự nhiên (Prompt) qua khung Chat
  • Tự động viết và tạo file code Playwright
  • Giải thích code và tự sửa lỗi (Debug)
  • Quản lý Terminal và Workspace (cài NPM, chạy test) thay bạn

Playwright

  • Website: https://playwright.dev/
  • Đặc điểm:
  • Hỗ trợ Chromium, Firefox, WebKit
  • Auto-wait (tự động chờ element hiển thị, không cần sleep)
  • Trace Viewer (xem lại từng bước thực thi)
  • HTML Report (báo cáo trực quan, có ảnh chụp khi lỗi)

Practice Website (Dùng để học)

  • Website: https://practice.automationtesting.in/
  • Các flow có thể test:
  • Đăng ký / Đăng nhập
  • Giỏ hàng (Shop)
  • Thanh toán (Checkout)
  • Form liên hệ
  • Slider / Gallery

🛠️ Setup Môi Trường

⚠️ Hoàn thành phần này TRƯỚC khi làm bài tập

Bước 1: Cài Node.js

Tải Node.js LTS tại https://nodejs.org/ — chọn bản LTS (Long Term Support).

Kiểm tra cài đặt thành công:

node --version   # Phải hiện ví dụ: v20.x.x
npm --version    # Phải hiện ví dụ: 10.x.x

Bước 2: Tạo thư mục dự án

Tạo thư mục trống trên máy tính, ví dụ: auto-test-practice

Bước 3: Mở thư mục bằng Antigravity IDE

Mở Antigravity IDE → File → Open Folder → chọn thư mục vừa tạo.

Bước 4: Nhờ AI khởi tạo project

Mở khung Chat và nhập:

Hãy khởi tạo một project Playwright mới tại thư mục này bằng ngôn ngữ TypeScript.

AI sẽ đề xuất chạy lệnh trong Terminal. IDE sẽ hỏi bạn xác nhận trước khi chạy — hãy đọc qua lệnh và nhấn Approve.

Kết quả mong đợi sau khi setup xong:

auto-test-practice/
├── tests/
│   └── example.spec.ts
├── playwright.config.ts
├── package.json
└── node_modules/


📝 Bài Tập

✅ Hoàn thành phần Setup Môi Trường ở trên trước khi bắt đầu bài tập.

Xem chi tiết từng bài tập trong thư mục exercises/:

Tóm tắt nhanh

# Bài tập Thời gian Mục tiêu
1 Khám phá Practice Website 20 phút Hiểu website sẽ dùng để test
2 AI sinh code lần đầu 30 phút Trải nghiệm workflow thực tế
3 Tư duy về Framework 25 phút Hiểu sâu lý do thiết kế

✅ Checklist Hoàn Thành Module

Setup: - [ ] Đã cài Node.js và kiểm tra version thành công - [ ] Đã mở thư mục dự án trong Antigravity IDE - [ ] Đã nhờ AI khởi tạo project Playwright — thấy file playwright.config.ts

Lý thuyết: - [ ] Hiểu vấn đề của QC Manual truyền thống - [ ] Hiểu framework 4 giai đoạn và lý do tách 4 giai đoạn - [ ] Hiểu vai trò của QC trong framework (kiểm soát, không phải thực thi) - [ ] Hiểu cách xử lý khi AI sinh code sai

Thực hành: - [ ] Đã khám phá Practice Website và ghi lại 3 flow test - [ ] Đã thử yêu cầu AI sinh file .spec.ts và chạy test thành công - [ ] Đã hoàn thành bài tập tư duy Framework