AIDF-NEXA Training Program

Code & Test Generation Practice

Điều kiện: Đã hoàn thành Day 1-4, đã hiểu DD & Code Generation

Chương trình

Giờ Chủ đề Thời lượng
10:00 Ôn tập Day 4 5 分
10:05 Code Gen Practice 30 分
10:35 Code Review + Quality 20 分
🔄 休憩 5 分 / 🔄 NGHỈ GIẢI LAO 5 PHÚT
11:00 Test Case Generation 30 分
11:30 Wrap-up: Full Pipeline 15 分
11:45 Feedback + Closing 15 分

実践中心の最終日 / Ngày cuối — tập trung thực hành

Ôn tập Day 4

Day 4 bạn đã học:

   BD xong: Tất cả screens/APIs basic design

   DD 4 bước: /dd:plan → :generate → :review → :validate

   DD Template: 9 sections + 4-State Model + EVT_XXX

   Coder Pack: DD + Context → Sẵn sàng tạo code

Hôm nay: Thực hành Code Gen + Test Gen + Hoàn thành Pipeline

Day 5 Git Workflow

1
DD 演習: BD 完了ブランチから開始 / DD Exercise: Bắt đầu từ BD complete
git checkout checkpoint/02-bd-complete
git checkout -b trainee/<名前>/cp3-dd
→ BD 全8画面 + API + DB 完了済み / BD 8 screens + API + DB đã xong
2
DD 生成: 2画面練習 / DD Generate: Thực hành 2 màn hình
/dd:generate SCREEN-00103_詳細設計/91_Output/SCREEN-001-login-dd.md
/dd:generate SCREEN-00203_詳細設計/91_Output/SCREEN-002-dashboard-dd.md
→ commit & push: git push -u origin trainee/<名前>/cp3-dd
3
Code 演習: DD 完了ブランチから開始 / Code Exercise: Bắt đầu từ DD complete
git checkout checkpoint/03-dd-backend
git checkout -b trainee/<名前>/cp4-code
→ DD 全8画面 + Backend scaffold 完了済み / DD 8 screens + Backend scaffold đã xong
4
Code 生成: 1画面練習 / Code Generate: Thực hành 1 màn hình
/code:plan @03_詳細設計/91_Output/SCREEN-001-login-dd.md
/code:process @03_詳細設計/91_Output/SCREEN-001-login-dd.md
→ commit & push: git push -u origin trainee/<名前>/cp4-code
📌 参照ブランチ / Branch tham khảo:  DD start: checkpoint/02-bd-complete →  Code start: checkpoint/03-dd-backend →  模範 / Đáp án: checkpoint/04-full-app

PHẦN 1: CODE GENERATION PRACTICE

10:05 - 10:55

Code Gen: Frontend

React + TypeScript + Tailwind 生成 / Tạo React + TypeScript + Tailwind

Implementation Plan
/code:plan @03_詳細設計/91_Output/SCREEN-001-login-dd.md

Generate Frontend
/code:process @[DD file] --target=frontend

Files generated:

04_実装/frontend/src/
├── pages/[Screen]/
│   └── [Screen]Page.tsx          ← Main page
├── components/[Screen]/
│   ├── [Screen]Form.tsx          ← Form
│   ├── [Screen]FormFields.tsx    ← Fields
│   └── [Screen]Table.tsx         ← Table (if needed)
├── hooks/
│   └── use[Screen]Api.ts         ← API hooks
└── types/
    └── [screen].ts               ← Type definitions

Code Gen: Backend

Express.js + TypeScript + better-sqlite3 生成 / Tạo Express + TS + SQLite

Generate Backend
/code:process @03_詳細設計/91_Output/SCREEN-001-login-dd.md --target=backend

Files generated:

04_実装/backend/src/
├── routes/
│   └── [screen].ts                ← Routes
├── middleware/
│   └── auth.ts                    ← JWT auth
├── db.ts                          ← DB connection
└── index.ts                       ← Server entry

Rules: Separate routes & logic, JWT auth, prepared statements

Code Review + Quality Check

DD 準拠チェック / Kiểm tra compliance với DD

Frontend Review
/code:review @04_実装/frontend/src/pages/[Screen]/[Screen]Page.tsx \
             --against @[DD file]

Backend Review
/code:review @04_実装/backend/src/routes/auth.ts \
             --against @03_詳細設計/91_Output/SCREEN-001-login-dd.md

Checkpoint:

Check Frontend Backend
DD fields implemented
Validation rules
Error handling
Types (no any)
Score ≥ 70

Lỗi thường gặp + Fix

Implicit any
const handleSubmit = (data) => { ... }
Fix:
const handleSubmit = (data: TaskFormData) => { ... }

useEffect(() => { fetch('/api/tasks').then(...) }, [])
Fix:
const { data, isLoading } = useQuery({
  queryKey: ['tasks'], queryFn: () => api.getTasks()
})

Logic in Route handler
router.post('/tasks', (req, res) => {
  if (req.body.title.length > 255) return res.status(400)... // ← NG
})
// ✅ 修正 / Fix: バリデーション分離 / Separate validation
router.post('/tasks', validateTask, (req, res) => {
  const task = createTask(req.body); res.json(task); // ← OK
})

PHẦN 2: TEST GENERATION + WRAP-UP

11:00 - 11:45

Test Case Gen: tcgen Engine

DD からテストケース自動生成 / Tự động tạo test case từ DD

Test Plan
/testcase:plan @03_詳細設計/91_Output/SCREEN-001-login-dd.md

Generate Test Cases
/testcase:process @[DD file]

Export Excel
/testcase:export-xlsx @05_テスト/91_Output/[test case file]

ISTQB Test Techniques:

Technique Use for Example
Boundary Numbers, ranges 金額: 0, 1, 9999999, 10000000
Equivalence Categories Valid/invalid
Decision Table Condition combos Approval logic

Test Quality Check

カバレッジ + 品質スコア / Coverage + Quality Score

Test Case Quality Check:

  Coverage:
    Tất cả DD fields có test?        Target ≥ 85%

  Quality Score:
    Coverage 30% + Clarity 20% + Technique 20% + Traceability 15% + Data 15%

  Grade:
    ≥ 90: 優秀 / Excellent    ≥ 80: 良好 / Good
    ≥ 70: 合格 / Pass         < 70: 不合格 / Fail
Metric Your result
DD test items _____
Test cases _____
Coverage ____%
Quality score ___/100

WRAP-UP: FULL PIPELINE

11:30 - 11:45

Hoàn thành Pipeline

┌──────────────────────────────────────────────────────────────┐
│                NEXA FULL PIPELINE — 5 DAYS                    │
├──────────────────────────────────────────────────────────────┤
│                                                               │
│  Day 1-2: Foundation                                          │
│  Triết lý + SoT + Templates + Workflow                        │
│                                                               │
│  Day 3: RD + BD Start                                         │
│  /rd:generate → /rd:review → /bd:generate (画面1)              │
│                                                               │
│  Day 4: BD Complete + DD + Code Theory                        │
│  /bd:generate (残り) → /dd:plan → :generate → :review          │
│                                                               │
│  Day 5: Code Practice + Test + Wrap-up ← Hôm nay       │
│  /code:process → :review → /testcase:process → :export-xlsx    │
│                                                               │
│  結果 / Result: RD → BD → DD → Code → Test 完走!              │
│  Kết quả: Hoàn thành pipeline RD → BD → DD → Code → Test!     │
│                                                               │
└──────────────────────────────────────────────────────────────┘

Skills đã học trong 5 ngày

✅ Navigate cấu trúc project NEXA

✅ SoT 4 rules: Nguồn duy nhất + Mới nhất + Copy + Không sửa Input

✅ 5-phase quality gates: RD → BD → DD → Code → Test

✅ DD Template: 9 sections + 4-State + EVT_XXX

✅ Code Gen: Coder Pack → Frontend + Backend

✅ Test Gen: tcgen + ISTQB (BVA/EP/DT)

✅ Quality Review: /bd:review, /dd:review, /code:review

Bẫy thường gặp

Pitfall Solution
Tạo DD từ BD mờ Review BD trước
Tạo code không review Enforce gate
Bỏ qua test Set coverage target
Làm tay hết Dùng NEXA commands
Làm 1 mình Pair review
Bỏ qua quality score Check dashboard

FEEDBACK + CLOSING

11:45 - 12:00

Feedback

Đánh giá (1-5):

  Mức độ hiểu nội dung      ___/5
  Chất lượng tài liệu          ___/5
  Tính hữu ích thực hành   ___/5
  Giảng viên giải thích       ___/5
  Khả năng áp dụng          ___/5

Next steps:
Dùng NEXA trên pilot project
Lên kế hoạch training nội bộ
Join Slack channel

Support: Slack #nexa-training-support | aidf-support@fabbi.com.vn

Cảm ơn mọi người!

RD → BD → DD → Code → Test — Pipeline Complete!

Cảm ơn 5 ngày training tuyệt vời!

Chào mừng mọi người đến với Day 5 — ngày cuối cùng. Hôm nay 100% thực hành: tạo code frontend+backend, code review, tạo test case bằng tcgen, và tổng kết toàn bộ pipeline. Đây là ngày áp dụng mọi thứ đã học trong 4 ngày.

Chương trình Day 5: phần 1 thực hành code generation và review. Phần 2 thực hành test generation và tổng kết. Cuối cùng feedback và closing ceremony. Hôm nay không có lý thuyết mới — tất cả là hands-on.

Ôn tập Day 4: đã hoàn thành BD, DD workflow 4 bước, DD template 9 sections với 4-State Model và EVT_XXX, Coder Pack concept. Hôm nay chúng ta sẽ thực sự chạy code generation, review code, tạo test cases, và hoàn thành toàn bộ pipeline.

Git workflow Day 5. Bước 1-2: DD exercise — checkout từ checkpoint/02-bd-complete (BD đã xong 8 màn), tạo branch cá nhân, generate DD cho 2 màn hình. Bước 3-4: Code exercise — checkout từ checkpoint/03-dd-backend (DD đã xong 8 màn + backend scaffold), tạo branch cá nhân, generate code cho 1 màn hình. Mỗi phần commit và push riêng.

Bắt đầu phần thực hành code generation. Trong 50 phút, các bạn sẽ tạo code frontend và backend từ DD, rồi review quality.

Frontend code generation: chạy code:plan trước để xem AI sẽ tạo gì, rồi code:process tạo code thực tế. Output: page component, form component, fields, API hooks với React Query, và type definitions. Tech stack: React 18 + TypeScript + Tailwind + zustand + react-query — đúng như CLAUDE.md quy định.

Backend code generation: Express.js + TypeScript + better-sqlite3 + JWT. Route files chứa endpoint definitions. Auth middleware kiểm tra JWT. db.ts quản lý SQLite connection với prepared statements (chống SQL injection). Rule quan trọng: tách route handler và business logic, dùng prepared statements cho tất cả queries.

Code review: chạy code:review với --against flag để so sánh code với DD spec. Kiểm tra: DD fields đã implement đủ chưa, validation rules có match không, error handling đúng chưa, TypeScript types có dùng any không. Target: cả frontend và backend score ≥ 70. Nếu có CRITICAL issues, sửa rồi review lại.

3 lỗi thường gặp nhất: 1) Implicit any — phải khai báo type rõ ràng, không dùng any. 2) useEffect+fetch — phải dùng React Query cho API calls, có loading/error state tự động. 3) Logic trong Route handler — tách validation và business logic ra function riêng, route handler chỉ gọi và trả response.

Phần 2: thực hành test generation với tcgen engine và tổng kết toàn bộ pipeline.

Test generation: 3 lệnh — testcase:plan, testcase:process, testcase:export-xlsx. tcgen engine đọc DD và tạo test cases theo ISTQB techniques. BVA cho field số — kiểm tra biên. EP cho categories — 1 test mỗi nhóm. Decision Table cho logic phức tạp — liệt kê tất cả tổ hợp. Target: coverage ≥ 85%.

Kiểm tra chất lượng test: Coverage phải ≥ 85% — tất cả DD items đều có test case. Quality score 5 chiều — coverage, clarity, technique, traceability, test data. Target score ≥ 70 để pass. Điền bảng results cho work của mình.

Tổng kết — nhìn lại toàn bộ pipeline đã hoàn thành trong 5 ngày.

5 ngày — hoàn thành toàn bộ pipeline. Day 1-2: nền tảng — triết lý, SoT, templates, workflow. Day 3: tạo RD và bắt đầu BD. Day 4: hoàn thành BD, DD generation, code generation theory. Day 5: thực hành code + test + tổng kết. Các bạn đã đi từ input thô đến code và test cases hoàn chỉnh.

7 kỹ năng đã master: navigate project structure, SoT 4 rules, 5-phase quality gates, DD template 9 sections, code generation với Coder Pack, test generation với tcgen + ISTQB, và quality review commands. Đây là bộ kỹ năng hoàn chỉnh để vận hành NEXA pipeline trong công việc hàng ngày.

6 bẫy thường gặp và cách tránh. Quan trọng nhất: KHÔNG tạo DD từ BD mờ, KHÔNG tạo code mà không review, KHÔNG bỏ qua test. Dùng NEXA commands thay vì làm thủ công. Pair review để có thêm perspective. Luôn check quality score.

Phần cuối: feedback và closing ceremony.

Feedback 5 mục, đánh giá 1-5. Và 3 next steps: dùng NEXA ngay trên pilot project, lên kế hoạch training nội bộ, join Slack channel. Support channel luôn mở: Slack và email.

Xin cảm ơn tất cả mọi người. Các bạn đã hoàn thành toàn bộ NEXA pipeline: từ requirements đến code và test cases. Đây là một thành quả ấn tượng trong 5 ngày. Chúc các bạn thành công trên hành trình NEXA Developer! お疲れ様でした!