@relipa/ai-flow-kit 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +253 -91
- package/bin/aiflow.js +49 -1
- package/custom/skills/ba-skills/skill-ba-phan-tich-ban-dau-v1.md +44 -0
- package/custom/skills/ba-skills/skill-ba-prototype-v1.md +35 -0
- package/custom/skills/ba-skills/skill-ba-qa-template-v1.md +21 -0
- package/custom/skills/ba-skills/skill-ba-qa-v1.md +35 -0
- package/custom/skills/ba-skills/skill-ba-template-phan-tich-ban-dau-v1.md +30 -0
- package/custom/skills/ba-skills/skill-ba-template-uc-v1.md +83 -0
- package/custom/skills/ba-skills/skill-ba-ve-luong-mermaid-v1.md +35 -0
- package/custom/skills/ba-skills/skill-ba-viet-spec-uc-v1.md +38 -0
- package/custom/skills/ba-skills/skill-ba-xay-dung-business-rules-v1.md +39 -0
- package/custom/skills/execute-flow/SKILL.md +27 -36
- package/custom/skills/gate-review/SKILL.md +119 -0
- package/custom/skills/generate-test-report/SKILL.md +1 -1
- package/custom/skills/generate-testcase/SKILL.md +50 -11
- package/custom/skills/generate-testcase/templates/testcase.md +50 -59
- package/custom/skills/test-analysis/SKILL.md +37 -3
- package/custom/skills/test-skills/categories/00-core/00.01.requirement-analysis.md +111 -0
- package/custom/skills/test-skills/categories/00-core/00.02.risk-analysis.md +24 -0
- package/custom/skills/test-skills/categories/00-core/00.03.test-scenario-builder.md +90 -0
- package/custom/skills/test-skills/categories/00-core/00.04.testcase-review.md +68 -0
- package/custom/skills/test-skills/categories/01-test-design/01.01.boundary-value-analysis.md +30 -0
- package/custom/skills/test-skills/categories/01-test-design/01.02.equivalence.partitioning.md +27 -0
- package/custom/skills/test-skills/categories/01-test-design/01.03.decision-table.md +26 -0
- package/custom/skills/test-skills/categories/01-test-design/01.04.state.transition.md +26 -0
- package/custom/skills/test-skills/categories/01-test-design/01.05.pairwise.md +25 -0
- package/custom/skills/test-skills/categories/01-test-design/01.06.error-guessing.md +28 -0
- package/custom/skills/test-skills/categories/02-ui-testing/02.01.UI-layout.md +29 -0
- package/custom/skills/test-skills/categories/02-ui-testing/02.02.form-validation.md +57 -0
- package/custom/skills/test-skills/categories/02-ui-testing/02.03.navigation.md +27 -0
- package/custom/skills/test-skills/categories/02-ui-testing/02.04.localization.md +27 -0
- package/custom/skills/test-skills/categories/02-ui-testing/02.05.accessibility.md +27 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.01.CRUD-testing.md +51 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.02.workflow-testing.md +44 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.03.permission-testing.md +41 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.04.dependency-validation.md +40 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.05.notification-testing.md +43 -0
- package/custom/skills/test-skills/categories/03-business-testing/03.06.calculation.testing.md +44 -0
- package/custom/skills/test-skills/categories/04-data-testing/04.01.database-testing.md +43 -0
- package/custom/skills/test-skills/categories/04-data-testing/04.02.import-export-testing.md +43 -0
- package/custom/skills/test-skills/categories/04-data-testing/04.03.data-mapping.md +39 -0
- package/custom/skills/test-skills/categories/04-data-testing/04.04.duplicate-handling.md +39 -0
- package/custom/skills/test-skills/categories/04-data-testing/04.05.migration.md +42 -0
- package/custom/skills/test-skills/categories/05-integration/05.01.API-testing.md +37 -0
- package/custom/skills/test-skills/categories/05-integration/05.02.third-party-integration.md +36 -0
- package/custom/skills/test-skills/categories/05-integration/05.03.batch-processing.md +38 -0
- package/custom/skills/test-skills/categories/05-integration/05.04.file-upload-download.md +40 -0
- package/custom/skills/test-skills/categories/08-domain-skills/CMS.md +34 -0
- package/custom/skills/test-skills/categories/08-domain-skills/Ecommerce.md +35 -0
- package/custom/skills/test-skills/categories/99-review/99.01.coverage-review.md +35 -0
- package/custom/skills/test-skills/categories/99-review/99.02.knowledge-learning.md +34 -0
- package/custom/skills/test-skills/categories/99-review/99.03.repository-update.md +33 -0
- package/custom/skills/test-skills/categories/99-review/99.04.change-history.md +38 -0
- package/custom/skills/test-skills/rules/Directory_and_Naming_Convention.md +257 -0
- package/custom/skills/test-skills/rules/QA_Writing_Standards.md +49 -0
- package/custom/skills/test-skills/template/template_testcase.md +83 -0
- package/custom/templates/shared/create-spec-workflow.md +435 -0
- package/custom/templates/shared/create-testcase-workflow.md +470 -0
- package/custom/templates/shared/gate-workflow.md +122 -16
- package/docs/common/CHANGELOG.md +47 -0
- package/package.json +2 -2
- package/scripts/create-score-excel.js +17 -7
- package/scripts/init.js +48 -1
- package/scripts/review.js +128 -0
- package/scripts/update.js +4 -1
- package/scripts/use.js +22 -16
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Kiểm thử Tính toán (Calculation Testing)
|
|
2
|
+
|
|
3
|
+
## Mục đích (Purpose)
|
|
4
|
+
Xác minh tính chính xác tuyệt đối của các phép tính, công thức nghiệp vụ và logic xử lý số liệu trong hệ thống. Đảm bảo các kết quả về tài chính, thống kê, hoặc định lượng tuân thủ đúng các quy tắc làm tròn, tỷ giá và các ràng buộc độ chính xác.
|
|
5
|
+
|
|
6
|
+
## Kiến thức cần có (Required Knowledge)
|
|
7
|
+
- Nắm vững các công thức toán học và nghiệp vụ (ví dụ: công thức tính thuế VAT, chiết khấu lũy tiến, lãi suất ngân hàng).
|
|
8
|
+
- Hiểu về các phương pháp làm tròn số (Rounding methods): Round up, Round down, Half-even (Banker's rounding).
|
|
9
|
+
- Kiến thức về kiểu dữ liệu số trong lập trình và Database (Float, Double, Decimal/Numeric) và vấn đề sai số dấu phẩy động.
|
|
10
|
+
- Hiểu về quy tắc ưu tiên phép tính và các hằng số nghiệp vụ.
|
|
11
|
+
|
|
12
|
+
## Quy trình thực hiện (Process)
|
|
13
|
+
1. **Phân tích công thức:** Trích xuất các công thức tính toán từ tài liệu đặc tả nghiệp vụ.
|
|
14
|
+
2. **Xác định các tham số đầu vào:** Liệt kê tất cả các biến số ảnh hưởng đến kết quả tính toán (Input variables).
|
|
15
|
+
3. **Chuẩn bị dữ liệu mẫu (Test Data):** Tạo các bộ dữ liệu bao gồm các giá trị biên (Min, Max), giá trị thông thường, và các giá trị đặc biệt (0, số âm, null).
|
|
16
|
+
4. **Tính toán thủ công (Manual Calculation):** Sử dụng công cụ độc lập (Excel, máy tính bỏ túi) để tính ra kết quả mong đợi (Expected Results) dựa trên công thức.
|
|
17
|
+
5. **Thực hiện kiểm thử:** Nhập dữ liệu vào hệ thống và so sánh kết quả hệ thống trả về với kết quả đã tính toán thủ công.
|
|
18
|
+
6. **Kiểm thử tích lũy và làm tròn:** Kiểm tra sai số khi thực hiện nhiều phép tính liên tiếp hoặc khi tổng hợp dữ liệu lớn.
|
|
19
|
+
|
|
20
|
+
## Checklist
|
|
21
|
+
### Tính đúng đắn của công thức
|
|
22
|
+
- [ ] Kết quả tính toán khớp chính xác với công thức nghiệp vụ đã định nghĩa.
|
|
23
|
+
- [ ] Các tham số đầu vào (Input) được lấy đúng nguồn và đúng thời điểm.
|
|
24
|
+
- [ ] Thứ tự ưu tiên các phép tính (Nhân chia trước, cộng trừ sau, trong ngoặc trước) được thực hiện đúng.
|
|
25
|
+
|
|
26
|
+
### Làm tròn & Độ chính xác
|
|
27
|
+
- [ ] Quy tắc làm tròn số thập phân được áp dụng nhất quán trên toàn hệ thống.
|
|
28
|
+
- [ ] Số chữ số sau dấu phẩy (Precision/Scale) hiển thị đúng yêu cầu (ví dụ: tiền tệ thường lấy 2 hoặc 0 chữ số thập phân).
|
|
29
|
+
- [ ] Không có sai số tích lũy đáng kể khi tính tổng của hàng nghìn bản ghi đã làm tròn.
|
|
30
|
+
|
|
31
|
+
### Trường hợp đặc biệt (Edge Cases)
|
|
32
|
+
- [ ] Hệ thống xử lý đúng khi dữ liệu đầu vào bằng 0 hoặc rỗng (Null).
|
|
33
|
+
- [ ] Không xảy ra lỗi "Chia cho 0" (Divide by zero).
|
|
34
|
+
- [ ] Các giá trị cực đại (Max value) không gây ra lỗi tràn số (Overflow).
|
|
35
|
+
- [ ] Các kết quả tính toán là số âm được xử lý hoặc hiển thị đúng theo quy tắc nghiệp vụ.
|
|
36
|
+
|
|
37
|
+
### Tỷ giá & Đơn vị
|
|
38
|
+
- [ ] Chuyển đổi giữa các đơn vị đo lường hoặc tiền tệ sử dụng đúng tỷ giá hiện hành.
|
|
39
|
+
- [ ] Kết quả sau khi chuyển đổi được kiểm tra lại tính hợp lý.
|
|
40
|
+
|
|
41
|
+
## Output mong đợi (Expected Output)
|
|
42
|
+
- Bảng tính Excel chứa các bộ dữ liệu mẫu, công thức và kết quả mong đợi.
|
|
43
|
+
- Bộ Test Cases tập trung vào các logic tính toán phức tạp.
|
|
44
|
+
- Báo cáo xác nhận tính chính xác của số liệu hệ thống, đặc biệt là các phần liên quan đến tài chính/doanh thu.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Kiểm thử Cơ sở dữ liệu (Database Testing)
|
|
2
|
+
|
|
3
|
+
## Mục đích (Purpose)
|
|
4
|
+
Xác minh rằng dữ liệu được lưu trữ, truy xuất, cập nhật và xóa bỏ một cách chính xác trong cơ sở dữ liệu. Đảm bảo tính nhất quán, toàn vẹn và bảo mật của dữ liệu, đồng thời kiểm tra các ràng buộc kỹ thuật và hiệu suất của các câu lệnh truy vấn.
|
|
5
|
+
|
|
6
|
+
## Kiến thức cần có (Required Knowledge)
|
|
7
|
+
- Thành thạo ngôn ngữ truy vấn SQL (DML: Select, Insert, Update, Delete; DDL: Create, Alter, Drop).
|
|
8
|
+
- Hiểu về các thuộc tính ACID (Atomicity, Consistency, Isolation, Durability) trong giao dịch (Transactions).
|
|
9
|
+
- Nắm vững cấu trúc Schema, các bảng, quan hệ (Primary Key, Foreign Key) và các ràng buộc (Constraints).
|
|
10
|
+
- Hiểu về Indexing và cách tối ưu hóa truy vấn.
|
|
11
|
+
- Kiến thức về Store Procedures, Triggers và Views (nếu có).
|
|
12
|
+
|
|
13
|
+
## Quy trình thực hiện (Process)
|
|
14
|
+
1. **Kiểm tra cấu trúc (Schema Validation):** Xác minh tên bảng, tên cột, kiểu dữ liệu và độ dài của các trường dữ liệu đúng với thiết kế.
|
|
15
|
+
2. **Kiểm thử Ràng buộc (Constraint Testing):** Kiểm tra tính thực thi của các ràng buộc Primary Key, Unique, Not Null, Check constraints.
|
|
16
|
+
3. **Kiểm thử tính nhất quán dữ liệu (Data Integrity):** Thực hiện các thao tác trên UI/API và dùng SQL để truy vấn trực tiếp DB, đối chiếu kết quả để đảm bảo dữ liệu lưu xuống đúng và đủ.
|
|
17
|
+
4. **Kiểm thử Giao dịch (Transaction Testing):** Thực hiện các luồng nghiệp vụ phức tạp và giả lập lỗi giữa chừng để kiểm tra tính năng Rollback (quay lại trạng thái cũ) và Commit (lưu thay đổi).
|
|
18
|
+
5. **Kiểm thử Truy cập đồng thời (Concurrency Testing):** Kiểm tra các vấn đề Deadlock hoặc tranh chấp dữ liệu khi nhiều người dùng/tiến trình cùng truy cập một bản ghi.
|
|
19
|
+
6. **Kiểm tra Trigger và Store Procedure:** Xác minh các logic tự động hóa trong DB hoạt động đúng khi có sự kiện kích hoạt.
|
|
20
|
+
|
|
21
|
+
## Checklist
|
|
22
|
+
### Cấu trúc & Ràng buộc
|
|
23
|
+
- [ ] Kiểu dữ liệu và độ dài các trường trong DB khớp với tài liệu thiết kế.
|
|
24
|
+
- [ ] Ràng buộc NOT NULL hoạt động: Không thể lưu giá trị null vào trường bắt buộc.
|
|
25
|
+
- [ ] Ràng buộc UNIQUE hoạt động: Không thể lưu hai giá trị giống nhau vào trường duy nhất.
|
|
26
|
+
- [ ] Ràng buộc Foreign Key hoạt động: Không thể lưu giá trị không tồn tại trong bảng cha hoặc xóa bản ghi cha khi đang có bản ghi con tham chiếu.
|
|
27
|
+
|
|
28
|
+
### Dữ liệu & Thao tác
|
|
29
|
+
- [ ] Dữ liệu lưu trong DB không bị cắt xén (Truncation) nếu độ dài vượt quá giới hạn hiển thị trên UI.
|
|
30
|
+
- [ ] Các giá trị mặc định (Default values) được gán đúng khi không có dữ liệu nhập vào.
|
|
31
|
+
- [ ] Dữ liệu ngày tháng (Date/Time) được lưu đúng múi giờ và định dạng.
|
|
32
|
+
- [ ] Các ký tự đặc biệt và Unicode (Tiếng Việt) được lưu và hiển thị đúng (không bị lỗi font).
|
|
33
|
+
|
|
34
|
+
### Giao dịch & Hiệu năng
|
|
35
|
+
- [ ] Giao dịch thành công được lưu vĩnh viễn (Durability).
|
|
36
|
+
- [ ] Giao dịch thất bại được Rollback hoàn toàn, không để lại dữ liệu rác.
|
|
37
|
+
- [ ] Các câu lệnh truy vấn phức tạp trả về kết quả trong thời gian cho phép (Response time).
|
|
38
|
+
- [ ] Các Index được sử dụng hiệu quả để tăng tốc độ tìm kiếm.
|
|
39
|
+
|
|
40
|
+
## Output mong đợi (Expected Output)
|
|
41
|
+
- Danh sách các câu lệnh SQL (Scripts) dùng để xác minh dữ liệu.
|
|
42
|
+
- Kết quả đối chiếu dữ liệu giữa UI/API và Database.
|
|
43
|
+
- Báo cáo về các lỗi vi phạm ràng buộc hoặc lỗi nhất quán dữ liệu.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Kiểm thử Nhập/Xuất dữ liệu (Import/Export Testing)
|
|
2
|
+
|
|
3
|
+
## Mục đích (Purpose)
|
|
4
|
+
Xác minh chức năng chuyển đổi dữ liệu hàng loạt thông qua các tập tin (Excel, CSV, XML, PDF) hoạt động chính xác. Đảm bảo tính toàn vẹn của dữ liệu khi nhập vào hệ thống và độ chính xác của thông tin khi trích xuất ra ngoài, đồng thời kiểm tra khả năng xử lý lỗi và hiệu suất với dữ liệu lớn.
|
|
5
|
+
|
|
6
|
+
## Kiến thức cần có (Required Knowledge)
|
|
7
|
+
- Hiểu về các định dạng file phổ biến (.xlsx, .csv, .pdf, .xml) và cấu trúc của chúng.
|
|
8
|
+
- Nắm vững các quy tắc mapping dữ liệu từ cột trong file vào trường trong Database.
|
|
9
|
+
- Hiểu về bảng mã ký tự (Encoding), đặc biệt là UTF-8 để xử lý tiếng Việt.
|
|
10
|
+
- Kiến thức về các giới hạn của hệ thống (File size, maximum rows).
|
|
11
|
+
- Hiểu về các lỗ hổng bảo mật liên quan đến file (Malware, CSV Injection).
|
|
12
|
+
|
|
13
|
+
## Quy trình thực hiện (Process)
|
|
14
|
+
1. **Kiểm thử Định dạng (Format Validation):** Thử nhập các file đúng định dạng, sai định dạng, file rỗng hoặc file bị hỏng để kiểm tra phản ứng của hệ thống.
|
|
15
|
+
2. **Kiểm thử Import - Happy Path:** Chuẩn bị file mẫu với dữ liệu hợp lệ và thực hiện nhập vào hệ thống, sau đó xác minh dữ liệu trong DB.
|
|
16
|
+
3. **Kiểm thử Import - Error Handling:** Thử nhập file có dữ liệu sai kiểu, thiếu trường bắt buộc, hoặc trùng lặp dữ liệu để kiểm tra các thông báo lỗi.
|
|
17
|
+
4. **Kiểm thử Import - Partial Success:** Trường hợp file có cả dòng đúng và dòng sai, kiểm tra xem hệ thống có cho phép nhập các dòng đúng và trả về danh sách các dòng lỗi hay không.
|
|
18
|
+
5. **Kiểm thử Export:** Thực hiện xuất dữ liệu dựa trên các bộ lọc (Filters) khác nhau và đối chiếu dữ liệu trong file xuất ra với dữ liệu trên UI/DB.
|
|
19
|
+
6. **Kiểm thử Hiệu năng (Performance Testing):** Thử nghiệm với các file có dung lượng lớn hoặc hàng chục nghìn bản ghi để đo thời gian xử lý và mức tiêu thụ tài nguyên.
|
|
20
|
+
|
|
21
|
+
## Checklist
|
|
22
|
+
### Chức năng Import (Nhập dữ liệu)
|
|
23
|
+
- [ ] Chặn các định dạng file không được phép và hiển thị thông báo lỗi rõ ràng.
|
|
24
|
+
- [ ] Kiểm tra giới hạn dung lượng file (Max file size).
|
|
25
|
+
- [ ] Báo lỗi chính xác vị trí dòng/cột có dữ liệu không hợp lệ.
|
|
26
|
+
- [ ] Dữ liệu sau khi Import không bị lỗi font (Tiếng Việt) và giữ nguyên định dạng (Ngày tháng, số tiền).
|
|
27
|
+
- [ ] Xử lý đúng các ký tự đặc biệt trong file CSV/Excel (Dấu phẩy, dấu ngoặc kép).
|
|
28
|
+
|
|
29
|
+
### Chức năng Export (Xuất dữ liệu)
|
|
30
|
+
- [ ] File xuất ra đúng định dạng đã chọn (.xlsx, .csv, .pdf).
|
|
31
|
+
- [ ] Dữ liệu trong file khớp hoàn toàn với kết quả hiển thị trên UI sau khi lọc.
|
|
32
|
+
- [ ] Tên file xuất ra tuân theo quy tắc đặt tên (ví dụ: kèm theo timestamp).
|
|
33
|
+
- [ ] Các cột trong file được sắp xếp đúng thứ tự và có tiêu đề (Header) rõ ràng.
|
|
34
|
+
|
|
35
|
+
### Bảo mật & Hiệu năng
|
|
36
|
+
- [ ] Ngăn chặn việc thực thi các công thức (Macros) nguy hiểm trong file CSV (CSV Injection).
|
|
37
|
+
- [ ] Hệ thống không bị treo hoặc timeout khi xử lý file có số lượng bản ghi lớn.
|
|
38
|
+
- [ ] Có thanh trạng thái (Progress bar) hoặc thông báo khi đang xử lý file lớn.
|
|
39
|
+
|
|
40
|
+
## Output mong đợi (Expected Output)
|
|
41
|
+
- Bộ file mẫu (Test Data Files) bao gồm các trường hợp thành công và thất bại.
|
|
42
|
+
- Danh sách Test Cases bao phủ các kịch bản Import/Export.
|
|
43
|
+
- Báo cáo về tính chính xác của dữ liệu và khả năng chịu tải của tính năng.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Kiểm thử Ánh xạ dữ liệu (Data Mapping)
|
|
2
|
+
|
|
3
|
+
## Mục đích (Purpose)
|
|
4
|
+
Đảm bảo dữ liệu được luân chuyển chính xác và nhất quán giữa các lớp của hệ thống (Giao diện người dùng, API, Cơ sở dữ liệu) hoặc giữa các hệ thống khác nhau. Kiểm thử này tập trung vào việc xác minh dữ liệu không bị thay đổi sai lệch, mất mát hoặc bị cắt xén trong quá trình truyền tải và chuyển đổi.
|
|
5
|
+
|
|
6
|
+
## Kiến thức cần có (Required Knowledge)
|
|
7
|
+
- Hiểu về Ma trận ánh xạ dữ liệu (Data Mapping Matrix/Source-to-Target Mapping).
|
|
8
|
+
- Kiến thức về các kiểu dữ liệu tương ứng giữa các ngôn ngữ lập trình và Database (ví dụ: `String` trong Java vs `VARCHAR` trong SQL).
|
|
9
|
+
- Hiểu về cấu trúc JSON/XML được sử dụng trong API.
|
|
10
|
+
- Nắm vững các quy tắc biến đổi dữ liệu (Data Transformation Rules).
|
|
11
|
+
|
|
12
|
+
## Quy trình thực hiện (Process)
|
|
13
|
+
1. **Xác định các cặp Ánh xạ (Source-Target):** Liệt kê trường nguồn (ví dụ: Input trên UI) và trường đích tương ứng (ví dụ: Column trong DB).
|
|
14
|
+
2. **Kiểm thử Ánh xạ trực tiếp (Field-to-Field):** Nhập dữ liệu vào trường nguồn và kiểm tra xem nó có xuất hiện đúng tại trường đích mà không có sự thay đổi nào hay không.
|
|
15
|
+
3. **Kiểm thử Chuyển đổi kiểu dữ liệu (Type Conversion):** Xác minh các quy tắc ép kiểu hoạt động đúng (ví dụ: Ngày tháng nhập định dạng DD/MM/YYYY được lưu vào DB dưới dạng YYYY-MM-DD).
|
|
16
|
+
4. **Kiểm thử Biến đổi logic (Transformation Logic):** Kiểm tra các trường hợp dữ liệu được tính toán hoặc thay đổi trước khi lưu (ví dụ: Full Name = First Name + Last Name).
|
|
17
|
+
5. **Kiểm thử Xử lý trường thừa/thiếu:** Xác minh hệ thống phản ứng thế nào khi API gửi thiếu các trường không bắt buộc hoặc gửi thừa các trường lạ.
|
|
18
|
+
6. **Kiểm thử Giới hạn độ dài (Truncation):** Kiểm tra xem dữ liệu có bị cắt bớt nếu độ dài ở nguồn lớn hơn độ dài cho phép ở đích.
|
|
19
|
+
|
|
20
|
+
## Checklist
|
|
21
|
+
### Tính chính xác của Ánh xạ
|
|
22
|
+
- [ ] Mọi trường dữ liệu trên UI đều có trường tương ứng trong API và Database.
|
|
23
|
+
- [ ] Tên trường (Field names) tuân thủ quy tắc đặt tên và không bị nhầm lẫn giữa các thực thể giống nhau.
|
|
24
|
+
- [ ] Các trường bắt buộc ở đích phải được đánh dấu bắt buộc ở nguồn.
|
|
25
|
+
|
|
26
|
+
### Chuyển đổi & Định dạng
|
|
27
|
+
- [ ] Các giá trị Enum hoặc Constant được ánh xạ đúng mã (ví dụ: Nam -> 1, Nữ -> 2).
|
|
28
|
+
- [ ] Đơn vị đo lường được chuyển đổi chính xác (ví dụ: gram -> kilogram).
|
|
29
|
+
- [ ] Dữ liệu rỗng (Null/Empty) ở nguồn được xử lý đúng ở đích (lưu Null hay lưu giá trị mặc định).
|
|
30
|
+
|
|
31
|
+
### Toàn vẹn dữ liệu
|
|
32
|
+
- [ ] Dữ liệu không bị thay đổi giá trị ngoài ý muốn trong quá trình mapping.
|
|
33
|
+
- [ ] Không xảy ra lỗi mất dữ liệu khi chuyển đổi giữa các kiểu dữ liệu có độ chính xác khác nhau (ví dụ: Double sang Float).
|
|
34
|
+
- [ ] Các ký tự đặc biệt được xử lý (Escaped) đúng để không gây lỗi khi lưu vào DB hoặc hiển thị lại UI.
|
|
35
|
+
|
|
36
|
+
## Output mong đợi (Expected Output)
|
|
37
|
+
- Bảng Ma trận Ánh xạ dữ liệu (Data Mapping Matrix) đã được xác minh.
|
|
38
|
+
- Danh sách các Test Cases kiểm tra tính nhất quán dữ liệu qua các lớp.
|
|
39
|
+
- Báo cáo về các trường hợp sai lệch mapping hoặc mất mát dữ liệu.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Kiểm thử Xử lý trùng lặp (Duplicate Handling)
|
|
2
|
+
|
|
3
|
+
## Mục đích (Purpose)
|
|
4
|
+
Đảm bảo hệ thống phát hiện và xử lý chính xác các trường hợp dữ liệu bị trùng lặp theo quy tắc nghiệp vụ. Kiểm thử này giúp duy trì sự "sạch sẽ" và duy nhất của các thực thể quan trọng (như Khách hàng, Sản phẩm, Tài khoản), ngăn chặn dữ liệu rác và các lỗi logic do trùng lặp gây ra.
|
|
5
|
+
|
|
6
|
+
## Kiến thức cần có (Required Knowledge)
|
|
7
|
+
- Hiểu về các trường dữ liệu duy nhất (Unique Fields) của từng thực thể.
|
|
8
|
+
- Nắm vững quy tắc chống trùng lặp: Trùng lặp tuyệt đối (Exact match) vs Trùng lặp tương đối (Fuzzy match).
|
|
9
|
+
- Phân biệt giữa Cảnh báo (Warning) và Chặn (Error) khi có trùng lặp.
|
|
10
|
+
- Hiểu về cơ chế gộp dữ liệu (Data Merging/Deduplication) nếu hệ thống hỗ trợ.
|
|
11
|
+
- Kiến thức về xử lý chuỗi (Case sensitivity, Whitespace, Accent marks).
|
|
12
|
+
|
|
13
|
+
## Quy trình thực hiện (Process)
|
|
14
|
+
1. **Xác định tiêu chí trùng lặp:** Liệt kê các trường hoặc tổ hợp các trường xác định một bản ghi là duy nhất (ví dụ: Email, hoặc Số CMND + Ngày cấp).
|
|
15
|
+
2. **Kiểm thử Trùng lặp khi tạo mới:** Thử tạo một bản ghi có thông tin giống hệt bản ghi đã tồn tại.
|
|
16
|
+
3. **Kiểm thử Trùng lặp khi cập nhật:** Thử sửa một bản ghi hiện có thành thông tin trùng với một bản ghi khác.
|
|
17
|
+
4. **Kiểm thử Xử lý chuỗi (String normalization):** Kiểm tra xem các trường hợp khác biệt về khoảng trắng, viết hoa/thường, hoặc dấu tiếng Việt có bị coi là trùng lặp không (ví dụ: `nguyen van a` vs `Nguyen Van A`).
|
|
18
|
+
5. **Kiểm thử Cảnh báo trùng lặp:** Nếu nghiệp vụ cho phép trùng nhưng cần cảnh báo, xác minh thông báo xuất hiện và cho phép người dùng xác nhận tiếp tục hoặc hủy bỏ.
|
|
19
|
+
6. **Kiểm thử Gộp dữ liệu (Merge):** Nếu có tính năng gộp, xác minh dữ liệu từ hai bản ghi trùng được tổng hợp lại chính xác và bản ghi cũ bị xóa/ẩn đúng cách.
|
|
20
|
+
|
|
21
|
+
## Checklist
|
|
22
|
+
### Phát hiện trùng lặp
|
|
23
|
+
- [ ] Hệ thống chặn và báo lỗi khi nhập trùng dữ liệu cho các trường Unique.
|
|
24
|
+
- [ ] Quy tắc trùng lặp áp dụng đúng cho cả trường hợp nhập tay trên UI và Import từ file.
|
|
25
|
+
- [ ] Các trường hợp trùng lặp do viết hoa/viết thường (Case-insensitive) được xử lý đúng theo yêu cầu.
|
|
26
|
+
- [ ] Khoảng trắng thừa ở đầu/cuối chuỗi không làm hệ thống hiểu nhầm là dữ liệu khác nhau.
|
|
27
|
+
|
|
28
|
+
### Thông báo & Trải nghiệm
|
|
29
|
+
- [ ] Thông báo lỗi trùng lặp hiển thị rõ ràng, chỉ ra trường nào bị trùng và (nếu có thể) bản ghi nào đang bị trùng.
|
|
30
|
+
- [ ] Người dùng không bị mất dữ liệu đã nhập khi gặp lỗi trùng lặp (hệ thống giữ lại thông tin trên form để sửa).
|
|
31
|
+
|
|
32
|
+
### Tính toàn vẹn khi Gộp/Xóa
|
|
33
|
+
- [ ] Khi gộp bản ghi, các dữ liệu lịch sử (Orders, Comments, Transactions) của bản ghi phụ được chuyển sang bản ghi chính đầy đủ.
|
|
34
|
+
- [ ] Bản ghi bị coi là trùng và bị xóa không còn xuất hiện trong các danh sách hiển thị và báo cáo.
|
|
35
|
+
|
|
36
|
+
## Output mong đợi (Expected Output)
|
|
37
|
+
- Danh sách các quy tắc chống trùng lặp (Deduplication Rules) đã được kiểm chứng.
|
|
38
|
+
- Bộ Test Scenarios bao phủ các kịch bản trùng lặp biên và xử lý chuỗi.
|
|
39
|
+
- Báo cáo về các lỗ hổng cho phép nhập trùng dữ liệu rác vào hệ thống.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Kiểm thử Di cư dữ liệu (Data Migration Testing)
|
|
2
|
+
|
|
3
|
+
## Mục đích (Purpose)
|
|
4
|
+
Xác minh rằng dữ liệu được chuyển đổi và di chuyển từ hệ thống cũ (Source/Legacy) sang hệ thống mới (Target) một cách đầy đủ, chính xác và an toàn. Đảm bảo tính liên tục của nghiệp vụ và không làm hỏng tính toàn vẹn của dữ liệu trong cấu trúc schema mới.
|
|
5
|
+
|
|
6
|
+
## Kiến thức cần có (Required Knowledge)
|
|
7
|
+
- Hiểu về cấu trúc Database của cả hệ thống nguồn và hệ thống đích.
|
|
8
|
+
- Nắm vững các quy tắc chuyển đổi dữ liệu (Mapping & Transformation Rules).
|
|
9
|
+
- Sử dụng thành thạo các công cụ ETL (Extract, Transform, Load) hoặc các Scripts di cư.
|
|
10
|
+
- Kiến thức về làm sạch dữ liệu (Data Cleansing) và xử lý dữ liệu lỗi.
|
|
11
|
+
- Hiểu về quy trình Rollback và khôi phục dữ liệu (Backup/Restore).
|
|
12
|
+
|
|
13
|
+
## Quy trình thực hiện (Process)
|
|
14
|
+
1. **Phân tích dữ liệu nguồn và đích:** So sánh schema, kiểu dữ liệu, ràng buộc giữa hai hệ thống để lập bảng mapping.
|
|
15
|
+
2. **Kiểm thử tiền di cư (Pre-migration Testing):** Kiểm tra chất lượng dữ liệu nguồn, xác định các bản ghi lỗi, thiếu thông tin hoặc không hợp lệ để xử lý trước.
|
|
16
|
+
3. **Kiểm thử Di cư thử nghiệm (Pilot/Trial Migration):** Thực hiện di cư một phần dữ liệu (subset) sang môi trường Staging để kiểm tra các scripts và quy tắc chuyển đổi.
|
|
17
|
+
4. **Kiểm thử tính toàn vẹn (Integrity Testing):** So sánh số lượng bản ghi (Record count) và tổng các giá trị số (Hash totals/Sum) giữa nguồn và đích sau khi di cư.
|
|
18
|
+
5. **Kiểm thử chức năng sau di cư (Post-migration Testing):** Sử dụng hệ thống mới với dữ liệu vừa di cư để thực hiện các nghiệp vụ thông thường, đảm bảo dữ liệu cũ hoạt động đúng trong môi trường mới.
|
|
19
|
+
6. **Kiểm thử Hiệu năng & Downtime:** Đo lường thời gian cần thiết để thực hiện di cư và đảm bảo nó nằm trong khung giờ cho phép (Downtime window).
|
|
20
|
+
7. **Kiểm thử Rollback:** Thực hiện giả lập lỗi trong quá trình di cư và kiểm tra khả năng phục hồi lại trạng thái ổn định ban đầu.
|
|
21
|
+
|
|
22
|
+
## Checklist
|
|
23
|
+
### Tính đầy đủ & Chính xác (Completeness & Accuracy)
|
|
24
|
+
- [ ] Tổng số bản ghi ở hệ thống đích khớp với số bản ghi ở hệ thống nguồn (trừ đi các bản ghi đã lọc bỏ có chủ đích).
|
|
25
|
+
- [ ] Không có bản ghi nào bị trùng lặp sau khi di cư.
|
|
26
|
+
- [ ] Dữ liệu tại các trường quan trọng (Tên, Số tiền, Ngày tháng, ID) khớp chính xác 100%.
|
|
27
|
+
- [ ] Các mối quan hệ (Foreign Keys) giữa các bảng vẫn được duy trì đúng.
|
|
28
|
+
|
|
29
|
+
### Biến đổi dữ liệu (Transformation)
|
|
30
|
+
- [ ] Các quy tắc chuyển đổi (ví dụ: gộp trường, tách trường, đổi đơn vị) được thực hiện đúng.
|
|
31
|
+
- [ ] Dữ liệu mặc định được điền đúng cho các trường mới không có ở hệ thống cũ.
|
|
32
|
+
- [ ] Bảng mã ký tự (Encoding) được chuyển đổi đúng, không bị lỗi font tiếng Việt.
|
|
33
|
+
|
|
34
|
+
### Hiệu năng & Rollback
|
|
35
|
+
- [ ] Thời gian thực hiện di cư thực tế không vượt quá thời gian dự kiến.
|
|
36
|
+
- [ ] Kế hoạch Rollback đã được kiểm thử và hoạt động thành công.
|
|
37
|
+
- [ ] Các Log di cư được ghi lại đầy đủ để phục vụ việc đối soát và xử lý lỗi.
|
|
38
|
+
|
|
39
|
+
## Output mong đợi (Expected Output)
|
|
40
|
+
- Báo cáo đối soát dữ liệu (Data Reconciliation Report) trước và sau di cư.
|
|
41
|
+
- Danh sách các bản ghi bị lỗi hoặc không thể di cư (nếu có).
|
|
42
|
+
- Xác nhận từ các bên liên quan về tính sẵn sàng và chính xác của dữ liệu trên hệ thống mới.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# 05.01. API Testing
|
|
2
|
+
|
|
3
|
+
## Mục đích
|
|
4
|
+
Đảm bảo tính đúng đắn, độ tin cậy, hiệu suất và bảo mật của các giao diện lập trình ứng dụng (API). Kiểm thử API tập trung vào việc xác thực logic nghiệp vụ ở tầng server, khả năng trao đổi dữ liệu giữa các thành phần phần mềm và đảm bảo hệ thống hoạt động ổn định trước khi tích hợp với giao diện người dùng (UI).
|
|
5
|
+
|
|
6
|
+
## Kiến thức cần có
|
|
7
|
+
- **Giao thức mạng:** Hiểu về HTTP/HTTPS, các phương thức (GET, POST, PUT, DELETE, PATCH).
|
|
8
|
+
- **Cấu trúc dữ liệu:** Thành thạo JSON, XML, Query Parameters, Form-data.
|
|
9
|
+
- **Mã phản hồi (Status Codes):** Hiểu ý nghĩa các nhóm mã 2xx (Thành công), 3xx (Chuyển hướng), 4xx (Lỗi Client), 5xx (Lỗi Server).
|
|
10
|
+
- **Xác thực và Ủy quyền:** Biết cách sử dụng Bearer Token, API Keys, OAuth2, Basic Auth.
|
|
11
|
+
- **Công cụ:** Sử dụng thành thạo Postman, Insomnia, JMeter hoặc các thư viện code (RestAssured, Axios).
|
|
12
|
+
|
|
13
|
+
## Quy trình thực hiện
|
|
14
|
+
1. **Phân tích tài liệu API:** Đọc Swagger/OpenAPI hoặc tài liệu kỹ thuật để hiểu các Endpoint, Request payload, và Expected Response.
|
|
15
|
+
2. **Thiết lập môi trường:** Cấu hình Base URL, biến môi trường (Environment variables) và các thông tin xác thực cần thiết.
|
|
16
|
+
3. **Thiết kế kịch bản kiểm thử:**
|
|
17
|
+
- **Happy Path:** Kiểm tra với dữ liệu hợp lệ.
|
|
18
|
+
- **Negative Testing:** Kiểm tra với dữ liệu không hợp lệ, thiếu trường bắt buộc, sai định dạng.
|
|
19
|
+
- **Boundary Testing:** Kiểm tra giới hạn của các tham số đầu vào.
|
|
20
|
+
4. **Thực thi và Kiểm chứng:** Gửi request và kiểm tra Response (Status code, Body, Headers, Response time).
|
|
21
|
+
5. **Kiểm tra tác động DB (nếu có):** Xác nhận dữ liệu được lưu trữ hoặc thay đổi chính xác trong cơ sở dữ liệu sau khi gọi API.
|
|
22
|
+
|
|
23
|
+
## Checklist
|
|
24
|
+
- [ ] Status code trả về đúng với kịch bản (ví dụ: 201 cho tạo mới, 404 cho không tìm thấy).
|
|
25
|
+
- [ ] Cấu trúc JSON/XML của Response khớp với schema định nghĩa.
|
|
26
|
+
- [ ] Dữ liệu trong Response chính xác (kiểu dữ liệu, giá trị cụ thể).
|
|
27
|
+
- [ ] Các trường bắt buộc (Required fields) được xử lý đúng (trả lỗi nếu thiếu).
|
|
28
|
+
- [ ] API trả về thông báo lỗi thân thiện và mã lỗi logic chính xác (Error codes).
|
|
29
|
+
- [ ] Thời gian phản hồi (Response time) nằm trong ngưỡng cho phép.
|
|
30
|
+
- [ ] Header chứa các thông tin bảo mật cần thiết (ví dụ: `X-Content-Type-Options: nosniff`).
|
|
31
|
+
- [ ] Kiểm tra lỗi bảo mật cơ bản: Không bị IDOR, không lộ stack trace khi gặp lỗi 500.
|
|
32
|
+
|
|
33
|
+
## Output mong đợi
|
|
34
|
+
- **Bộ sưu tập API (Postman Collection):** Chứa đầy đủ các request đã được phân loại.
|
|
35
|
+
- **Báo cáo kết quả kiểm thử:** Danh sách các endpoint đã test kèm trạng thái (Pass/Fail).
|
|
36
|
+
- **Tài liệu lỗi (Bug Reports):** Mô tả chi tiết các lỗi logic, dữ liệu hoặc hiệu năng phát hiện được.
|
|
37
|
+
- **Scripts tự động hóa (nếu có):** Các đoạn mã kiểm thử tự động để chạy lại khi cần.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# 05.02. Third-party Integration Testing
|
|
2
|
+
|
|
3
|
+
## Mục đích
|
|
4
|
+
Kiểm thử khả năng kết nối và trao đổi dữ liệu giữa hệ thống đang phát triển với các dịch vụ của bên thứ ba (ví dụ: Cổng thanh toán, Nhà cung cấp SMS/Email, Hệ thống ERP, Dịch vụ bản đồ). Mục tiêu là đảm bảo tích hợp mượt mà, xử lý lỗi tốt khi bên thứ ba gặp sự cố và bảo mật dữ liệu truyền tải.
|
|
5
|
+
|
|
6
|
+
## Kiến thức cần có
|
|
7
|
+
- **Cơ chế tích hợp:** Hiểu về Webhooks, Callbacks, Rest API, SOAP, hoặc SDK của bên thứ ba.
|
|
8
|
+
- **Mạng và Bảo mật:** Kiến thức về IP Whitelisting, SSL/TLS Handshake, API Keys, JWT.
|
|
9
|
+
- **Kỹ thuật giả lập:** Cách sử dụng Mock (ví dụ: Mockoon, WireMock) hoặc Sandbox environment của bên thứ ba.
|
|
10
|
+
- **Xử lý bất đồng bộ:** Hiểu về Message Queues hoặc cơ chế xử lý background jobs khi chờ phản hồi từ bên thứ ba.
|
|
11
|
+
|
|
12
|
+
## Quy trình thực hiện
|
|
13
|
+
1. **Nghiên cứu tài liệu Integration:** Hiểu rõ các luồng nghiệp vụ, format dữ liệu yêu cầu và các mã lỗi của bên thứ ba.
|
|
14
|
+
2. **Cấu hình Sandbox/Staging:** Đăng ký và thiết lập thông tin kết nối (App ID, Secret Key, Callback URL) trên môi trường thử nghiệm của bên thứ ba.
|
|
15
|
+
3. **Kiểm thử kết nối (Connectivity):** Xác nhận hệ thống có thể "ping" và kết nối được đến server bên thứ ba (kiểm tra Firewall, DNS).
|
|
16
|
+
4. **Kiểm thử dữ liệu (Data Mapping):**
|
|
17
|
+
- Gửi dữ liệu từ hệ thống chính -> 3rd party (đúng format, đúng giá trị).
|
|
18
|
+
- Nhận dữ liệu từ 3rd party -> hệ thống chính (parse đúng dữ liệu, xử lý đúng logic).
|
|
19
|
+
5. **Kiểm thử Webhooks/Callbacks:** Giả lập các sự kiện từ bên thứ ba (ví dụ: Thanh toán thành công) và kiểm tra hệ thống chính cập nhật trạng thái tương ứng.
|
|
20
|
+
6. **Kiểm thử khả năng chịu lỗi (Resilience):** Giả lập tình huống bên thứ ba bị chậm (latency), sập (down), hoặc trả về lỗi 5xx.
|
|
21
|
+
|
|
22
|
+
## Checklist
|
|
23
|
+
- [ ] Kết nối thành công đến môi trường Sandbox/Staging của bên thứ ba.
|
|
24
|
+
- [ ] Dữ liệu gửi đi tuân thủ đúng định dạng và giới hạn của bên thứ ba.
|
|
25
|
+
- [ ] Dữ liệu nhận về được xử lý chính xác, không gây lỗi logic cho hệ thống chính.
|
|
26
|
+
- [ ] Webhook được xác thực nguồn gốc (Signature validation) để tránh giả mạo.
|
|
27
|
+
- [ ] Cơ chế Retry hoạt động đúng khi kết nối thất bại (ví dụ: Exponential backoff).
|
|
28
|
+
- [ ] Hệ thống hiển thị thông báo lỗi rõ ràng cho người dùng khi bên thứ ba gặp sự cố.
|
|
29
|
+
- [ ] Xử lý thành công các trường hợp trùng lặp Callback (Idempotency).
|
|
30
|
+
- [ ] Thông tin nhạy cảm (Secret Keys, Password) không bị log ra console hoặc file log.
|
|
31
|
+
|
|
32
|
+
## Output mong đợi
|
|
33
|
+
- **Tài liệu kịch bản tích hợp:** Mô tả các luồng trao đổi dữ liệu.
|
|
34
|
+
- **Kết quả kiểm thử môi trường Sandbox:** Xác nhận mọi tính năng hoạt động đúng với môi trường giả lập.
|
|
35
|
+
- **Báo cáo xử lý lỗi (Exception handling report):** Danh sách các trường hợp ngoại lệ đã được xử lý.
|
|
36
|
+
- **Log giao dịch:** Bản ghi chi tiết các request/response trao đổi với bên thứ ba.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 05.03. Batch Processing Testing
|
|
2
|
+
|
|
3
|
+
## Mục đích
|
|
4
|
+
Kiểm thử các tiến trình xử lý dữ liệu hàng loạt chạy ngầm (Cron jobs, Background workers, Scheduled tasks). Đảm bảo các tiến trình này thực thi đúng thời điểm, xử lý chính xác khối lượng dữ liệu lớn mà không gây treo hệ thống, và có khả năng phục hồi khi gặp lỗi.
|
|
5
|
+
|
|
6
|
+
## Kiến thức cần có
|
|
7
|
+
- **Hệ điều hành & Cron:** Cách cấu hình cron expression (ví dụ: `0 0 * * *`).
|
|
8
|
+
- **Cơ sở dữ liệu:** Kỹ năng truy vấn DB để kiểm tra trạng thái dữ liệu trước và sau khi xử lý.
|
|
9
|
+
- **Hệ thống hàng đợi (Message Queues):** Hiểu về RabbitMQ, Kafka, Redis Queue.
|
|
10
|
+
- **Giám sát (Monitoring):** Biết cách xem log hệ thống và sử dụng các công cụ giám sát (Grafana, Kibana).
|
|
11
|
+
|
|
12
|
+
## Quy trình thực hiện
|
|
13
|
+
1. **Xác định trigger:** Kiểm tra xem tiến trình được kích hoạt bởi thời gian (Schedule) hay bởi một sự kiện (Event-driven).
|
|
14
|
+
2. **Chuẩn bị dữ liệu mẫu (Massive data):** Tạo tập dữ liệu lớn để kiểm tra hiệu năng và giới hạn xử lý.
|
|
15
|
+
3. **Kích hoạt tiến trình:**
|
|
16
|
+
- Chờ đến thời điểm tự động.
|
|
17
|
+
- Kích hoạt thủ công (Manual trigger) để kiểm tra nhanh.
|
|
18
|
+
4. **Theo dõi thực thi:**
|
|
19
|
+
- Kiểm tra log để xem tiến trình bắt đầu và kết thúc khi nào.
|
|
20
|
+
- Theo dõi tài nguyên hệ thống (CPU, RAM) trong quá trình xử lý.
|
|
21
|
+
5. **Kiểm chứng dữ liệu:** Đối soát dữ liệu trong DB sau khi batch job kết thúc.
|
|
22
|
+
6. **Kiểm thử trường hợp lỗi:** Ngắt kết nối mạng hoặc tắt server giữa chừng để kiểm tra khả năng phục hồi.
|
|
23
|
+
|
|
24
|
+
## Checklist
|
|
25
|
+
- [ ] Tiến trình chạy đúng thời gian đã cấu hình.
|
|
26
|
+
- [ ] Xử lý thành công toàn bộ dữ liệu đầu vào.
|
|
27
|
+
- [ ] Không xảy ra lỗi tràn bộ nhớ (Memory leak) hoặc timeout khi xử lý khối lượng lớn.
|
|
28
|
+
- [ ] Trạng thái của job (Pending, Running, Success, Failed) được cập nhật chính xác trong bảng quản lý job.
|
|
29
|
+
- [ ] Cơ chế Retry hoạt động đúng cho các record bị lỗi lẻ tẻ.
|
|
30
|
+
- [ ] Tính Idempotency: Chạy lại job nhiều lần trên cùng một bộ dữ liệu không gây ra dữ liệu trùng lặp hoặc sai lệch.
|
|
31
|
+
- [ ] Các job chạy song song (Concurrency) không gây ra tranh chấp dữ liệu (Deadlock).
|
|
32
|
+
- [ ] Log ghi lại đầy đủ thông tin: số record thành công, số record thất bại, lý do lỗi.
|
|
33
|
+
|
|
34
|
+
## Output mong đợi
|
|
35
|
+
- **Báo cáo thực thi Batch Job:** Chi tiết thời gian bắt đầu, kết thúc và kết quả xử lý.
|
|
36
|
+
- **Kết quả đối soát dữ liệu:** Bảng so sánh dữ liệu trước và sau khi chạy batch.
|
|
37
|
+
- **Danh sách lỗi phát hiện:** Các lỗi về hiệu năng hoặc logic xử lý dữ liệu lớn.
|
|
38
|
+
- **Tài liệu cấu hình:** Hướng dẫn cấu hình và kích hoạt các job.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# 05.04. File Upload and Download Testing
|
|
2
|
+
|
|
3
|
+
## Mục đích
|
|
4
|
+
Kiểm thử tính năng tải lên (upload) và tải xuống (download) các tập tin. Đảm bảo hệ thống xử lý đúng các định dạng file, giới hạn kích thước, lưu trữ an toàn và bảo vệ hệ thống khỏi các tệp tin độc hại.
|
|
5
|
+
|
|
6
|
+
## Kiến thức cần có
|
|
7
|
+
- **Định dạng file:** Hiểu về MIME types, File Extensions, File Signatures (Magic numbers).
|
|
8
|
+
- **Bảo mật web:** Kiến thức về lỗ hổng Upload Malware, Path Traversal, XSS qua file nội dung.
|
|
9
|
+
- **Hệ thống lưu trữ:** Hiểu cách hoạt động của Local Storage, AWS S3, Google Cloud Storage.
|
|
10
|
+
- **Mạng:** Hiểu về multipart/form-data, chunked upload, và resume download.
|
|
11
|
+
|
|
12
|
+
## Quy trình thực hiện
|
|
13
|
+
1. **Kiểm thử Upload cơ bản:** Tải lên các file hợp lệ với các định dạng cho phép (.jpg, .pdf, .docx).
|
|
14
|
+
2. **Kiểm thử Validation:**
|
|
15
|
+
- Tải file sai định dạng (ví dụ: đổi đuôi `.exe` thành `.jpg`).
|
|
16
|
+
- Tải file vượt quá kích thước tối đa cho phép.
|
|
17
|
+
- Tải file trống (0 KB).
|
|
18
|
+
3. **Kiểm thử Security (Malicious files):** Thử tải lên các file chứa script độc hại (php, js, shell).
|
|
19
|
+
4. **Kiểm thử Lưu trữ:** Xác nhận file sau khi upload được lưu đúng đường dẫn và có thể truy cập được với quyền phù hợp.
|
|
20
|
+
5. **Kiểm thử Download:**
|
|
21
|
+
- Tải xuống file và kiểm tra tính toàn vẹn (Checksum MD5/SHA).
|
|
22
|
+
- Kiểm tra tên file sau khi tải về không bị lỗi font/encoding.
|
|
23
|
+
6. **Kiểm thử hiệu năng:** Upload/Download nhiều file cùng lúc hoặc file dung lượng cực lớn.
|
|
24
|
+
|
|
25
|
+
## Checklist
|
|
26
|
+
- [ ] Chỉ cho phép upload các định dạng file đã được định nghĩa (Whitelist).
|
|
27
|
+
- [ ] Kiểm tra định dạng file dựa trên nội dung (File signature), không chỉ dựa trên phần mở rộng (Extension).
|
|
28
|
+
- [ ] Giới hạn kích thước file (Max file size) hoạt động chính xác cả ở phía Client và Server.
|
|
29
|
+
- [ ] Tên file được sanitize (loại bỏ ký tự đặc biệt, khoảng trắng) để tránh lỗi hệ thống.
|
|
30
|
+
- [ ] File upload được quét virus/malware (nếu yêu cầu).
|
|
31
|
+
- [ ] Ngăn chặn ghi đè file cũ nếu trùng tên (thêm UUID hoặc timestamp vào tên file).
|
|
32
|
+
- [ ] Quyền truy cập file (Public/Private) được thiết lập đúng sau khi upload.
|
|
33
|
+
- [ ] Tính năng "Resume download" hoạt động khi kết nối mạng bị gián đoạn.
|
|
34
|
+
- [ ] Header `Content-Disposition` được cấu hình đúng để trình duyệt thực hiện tải xuống thay vì thực thi file.
|
|
35
|
+
|
|
36
|
+
## Output mong đợi
|
|
37
|
+
- **Bộ Testcases Upload/Download:** Bao phủ đầy đủ các kịch bản tích cực và tiêu cực.
|
|
38
|
+
- **Danh sách file mẫu (Test Assets):** Các file test với đủ loại định dạng và kích thước.
|
|
39
|
+
- **Báo cáo lỗ hổng bảo mật:** (nếu có) liên quan đến việc xử lý file.
|
|
40
|
+
- **Kết quả kiểm tra lưu trữ:** Xác nhận file tồn tại và đúng nội dung trên server/cloud.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# 08.01. Kiểm thử Hệ thống Quản trị Nội dung (CMS - Content Management System)
|
|
2
|
+
|
|
3
|
+
### Mục đích
|
|
4
|
+
Đảm bảo quy trình quản lý vòng đời nội dung (tạo, duyệt, đăng, lưu trữ) diễn ra chính xác, an toàn và tối ưu. Mục tiêu là giúp biên tập viên có trải nghiệm quản trị tốt nhất và người dùng cuối nhận được nội dung chính xác, nhanh chóng.
|
|
5
|
+
|
|
6
|
+
### Kiến thức cần có
|
|
7
|
+
- **Content Lifecycle:** Hiểu các trạng thái của nội dung (Draft, Pending, Published, Archived).
|
|
8
|
+
- **Công cụ soạn thảo:** Hiểu về WYSIWYG (What You See Is What You Get), Markdown, và các rủi ro bảo mật đi kèm (XSS).
|
|
9
|
+
- **SEO & Social:** Hiểu về Meta tags, OpenGraph, Schema.org, Sitemap và các kỹ thuật tối ưu hóa công cụ tìm kiếm.
|
|
10
|
+
- **Media Management:** Hiểu về định dạng ảnh/video, kỹ thuật nén và resize ảnh tự động.
|
|
11
|
+
- **RBAC:** Hiểu về phân quyền người dùng (Admin, Editor, Contributor, Reader).
|
|
12
|
+
|
|
13
|
+
### Quy trình thực hiện
|
|
14
|
+
1. **Kiểm thử quy trình soạn thảo:** Kiểm tra các công cụ định dạng văn bản, chèn link, chèn media và tính năng xem trước (Preview).
|
|
15
|
+
2. **Kiểm thử luồng phê duyệt (Workflow):** Thực hiện luồng từ người viết bài chuyển qua người duyệt và người đăng bài.
|
|
16
|
+
3. **Kiểm thử quản lý Media:** Upload các loại file khác nhau, kiểm tra thư viện ảnh và khả năng tái sử dụng tài nguyên.
|
|
17
|
+
4. **Kiểm thử hiển thị (Frontend):** Kiểm tra nội dung hiển thị trên nhiều kích thước màn hình (Responsive) và các trình duyệt khác nhau.
|
|
18
|
+
5. **Kiểm thử SEO & Metadata:** Sử dụng các công cụ kiểm tra thẻ meta và cấu trúc dữ liệu.
|
|
19
|
+
6. **Kiểm thử đa ngôn ngữ (nếu có):** Kiểm tra tính năng dịch thuật và hiển thị nội dung theo từng vùng địa lý.
|
|
20
|
+
|
|
21
|
+
### Checklist
|
|
22
|
+
- [ ] Trình soạn thảo có hiển thị đúng định dạng khi Copy-Paste từ Word/Google Docs không?
|
|
23
|
+
- [ ] Nội dung ở trạng thái "Draft" (Nháp) có đảm bảo không bị truy cập trái phép từ bên ngoài không?
|
|
24
|
+
- [ ] Tính năng "Lên lịch đăng bài" có hoạt động chính xác theo múi giờ cấu hình không?
|
|
25
|
+
- [ ] Ảnh upload lên có được tự động tối ưu dung lượng (ví dụ chuyển sang WebP) không?
|
|
26
|
+
- [ ] Thẻ `canonical` có trỏ đúng về trang gốc để tránh lỗi trùng lặp nội dung (Duplicate Content) không?
|
|
27
|
+
- [ ] Khi xóa một bài viết, các liên kết nội bộ (Internal links) và file đính kèm có được xử lý đúng không?
|
|
28
|
+
- [ ] Hệ thống có lưu lại lịch sử chỉnh sửa (Version Control) để khôi phục khi cần thiết không?
|
|
29
|
+
- [ ] Phân quyền có hoạt động đúng (ví dụ: Contributor không có nút "Xuất bản") không?
|
|
30
|
+
|
|
31
|
+
### Output mong đợi
|
|
32
|
+
- **Bộ Test Scenarios cho CMS:** Tập trung vào các luồng nghiệp vụ đặc thù của biên tập viên.
|
|
33
|
+
- **Báo cáo lỗi hiển thị/SEO:** Danh sách các vấn đề về giao diện người dùng và các yếu tố ảnh hưởng đến thứ hạng tìm kiếm.
|
|
34
|
+
- **Đánh giá quy trình:** Đề xuất cải thiện luồng phê duyệt nội dung để tăng hiệu suất làm việc.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# 08.02. Kiểm thử Hệ thống Thương mại điện tử (E-Commerce)
|
|
2
|
+
|
|
3
|
+
### Mục đích
|
|
4
|
+
Đảm bảo sự ổn định, chính xác và an toàn của toàn bộ vòng đời mua sắm trực tuyến. Trọng tâm là tính chính xác của dữ liệu tài chính, quản lý tồn kho, trải nghiệm thanh toán mượt mà và khả năng vận hành chính xác của các chương trình khuyến mãi.
|
|
5
|
+
|
|
6
|
+
### Kiến thức cần có
|
|
7
|
+
- **E-commerce Funnel:** Hiểu luồng từ Tìm kiếm -> Xem sản phẩm -> Giỏ hàng -> Thanh toán -> Theo dõi đơn hàng.
|
|
8
|
+
- **Payment Gateways:** Hiểu cách tích hợp và các trạng thái thanh toán (Success, Pending, Failed, Refunded).
|
|
9
|
+
- **Promotion Logic:** Hiểu cách áp dụng và kết hợp (Stacking) các loại Coupon, Voucher, Flash sale, Loyalty points.
|
|
10
|
+
- **Inventory Management:** Hiểu về cơ chế giữ chỗ (Reservation), trừ kho và hoàn kho.
|
|
11
|
+
- **Logistics & Tax:** Hiểu cách tính phí vận chuyển dựa trên vị trí/trọng lượng và cách tính thuế.
|
|
12
|
+
|
|
13
|
+
### Quy trình thực hiện
|
|
14
|
+
1. **Kiểm thử danh mục và sản phẩm:** Kiểm tra các biến thể sản phẩm (màu sắc, kích cỡ), giá bán và hiển thị thông tin.
|
|
15
|
+
2. **Kiểm thử Giỏ hàng & Thanh toán:** Thực hiện các kịch bản thêm/sửa/xóa giỏ hàng và thanh toán qua nhiều phương thức (COD, Thẻ, Ví điện tử).
|
|
16
|
+
3. **Kiểm thử Khuyến mãi:** Áp dụng các loại mã giảm giá khác nhau, kiểm tra điều kiện áp dụng và tính toán giá cuối cùng.
|
|
17
|
+
4. **Kiểm thử Quản lý đơn hàng (OMS):** Theo dõi đơn hàng từ khi đặt đến khi giao thành công hoặc bị hủy/trả hàng.
|
|
18
|
+
5. **Kiểm thử Tích hợp:** Kiểm tra sự kết nối giữa website với hệ thống kho (ERP), hệ thống vận chuyển và cổng thanh toán.
|
|
19
|
+
6. **Kiểm thử dưới tải cao:** Đặc biệt quan trọng cho các sự kiện Flash Sale.
|
|
20
|
+
|
|
21
|
+
### Checklist
|
|
22
|
+
- [ ] Giá tổng cộng có được tính toán đúng sau khi trừ khuyến mãi và cộng phí ship/thuế không?
|
|
23
|
+
- [ ] Số lượng tồn kho có được trừ ngay khi user đặt hàng thành công (hoặc giữ chỗ) không?
|
|
24
|
+
- [ ] Khi đơn hàng bị hủy, số lượng tồn kho có được hoàn lại (Restock) chính xác không?
|
|
25
|
+
- [ ] Hệ thống có xử lý đúng trường hợp thanh toán thành công nhưng mạng bị ngắt giữa chừng không?
|
|
26
|
+
- [ ] Mã giảm giá có bị sử dụng quá số lượt cho phép hoặc sử dụng sau khi hết hạn không?
|
|
27
|
+
- [ ] Email/Thông báo (Push notification) về trạng thái đơn hàng có được gửi đúng lúc không?
|
|
28
|
+
- [ ] Thông tin cá nhân và thông tin thanh toán của khách hàng có được bảo mật (Masking/Encryption) không?
|
|
29
|
+
- [ ] Người dùng có thể thực hiện thanh toán với số tiền âm hoặc giá trị không hợp lệ không?
|
|
30
|
+
|
|
31
|
+
### Output mong đợi
|
|
32
|
+
- **Bộ Test Scenarios E-Commerce:** Bao phủ toàn bộ các luồng nghiệp vụ từ người mua đến người bán.
|
|
33
|
+
- **Báo cáo kiểm thử khuyến mãi:** Chi tiết các trường hợp tính toán giá và logic voucher.
|
|
34
|
+
- **Báo cáo tích hợp:** Kết quả kiểm tra sự đồng bộ dữ liệu giữa các hệ thống liên quan.
|
|
35
|
+
- **Đề xuất tối ưu luồng Checkout:** Giảm thiểu các bước không cần thiết để tăng tỷ lệ chuyển đổi.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# 99.01. Review Độ bao phủ Kiểm thử (Test Coverage Review)
|
|
2
|
+
|
|
3
|
+
### Mục đích
|
|
4
|
+
Đảm bảo bộ testcase bao phủ toàn diện các yêu cầu nghiệp vụ, các kịch bản rủi ro và các khía cạnh kỹ thuật của sản phẩm. Việc review giúp phát hiện các "vùng mù" (blind spots) trong kiểm thử, từ đó giảm thiểu tối đa rủi ro lọt lỗi (Defect leakage) ra Production.
|
|
5
|
+
|
|
6
|
+
### Kiến thức cần có
|
|
7
|
+
- **RTM (Requirement Traceability Matrix):** Cách xây dựng ma trận truy vết từ yêu cầu sang testcase.
|
|
8
|
+
- **Kỹ thuật thiết kế Testcase:** Phân vùng tương đương, Phân tích giá trị biên, Bảng quyết định.
|
|
9
|
+
- **Độ bao phủ (Coverage):** Hiểu về Requirement Coverage, Code Coverage, và Logic/Business Rule Coverage.
|
|
10
|
+
- **Phân tích rủi ro:** Xác định các tính năng trọng yếu cần ưu tiên bao phủ cao hơn.
|
|
11
|
+
|
|
12
|
+
### Quy trình thực hiện
|
|
13
|
+
1. **Thu thập tài liệu đầu vào:** Tập hợp SRS, thiết kế UI/UX, tài liệu API và các luồng nghiệp vụ (Flowcharts).
|
|
14
|
+
2. **Xây dựng Ma trận truy vết:** Liệt kê tất cả các yêu cầu và đối chiếu xem mỗi yêu cầu đã có ít nhất một testcase tương ứng chưa.
|
|
15
|
+
3. **Phân tích kịch bản:**
|
|
16
|
+
- Kiểm tra độ bao phủ của Happy Path (luồng chính).
|
|
17
|
+
- Kiểm tra độ bao phủ của Negative Path (luồng lỗi, ngoại lệ).
|
|
18
|
+
- Kiểm tra các ràng buộc dữ liệu (Data constraints).
|
|
19
|
+
4. **Review chéo (Peer Review):** Tổ chức buổi review với các bên liên quan (BA, Dev, QA Lead) để lấy ý kiến đóng góp.
|
|
20
|
+
5. **Bổ sung và Tối ưu:** Cập nhật các kịch bản còn thiếu và loại bỏ các testcase trùng lặp hoặc không còn giá trị.
|
|
21
|
+
6. **Xác nhận hoàn tất:** Đánh giá tỷ lệ bao phủ cuối cùng trước khi bắt đầu thực hiện kiểm thử.
|
|
22
|
+
|
|
23
|
+
### Checklist
|
|
24
|
+
- [ ] 100% các Business Requirement đã được ánh xạ sang ít nhất một testcase chưa?
|
|
25
|
+
- [ ] Các kịch bản kiểm thử phân quyền (RBAC) đã bao phủ hết tất cả các Role người dùng chưa?
|
|
26
|
+
- [ ] Đã có các testcase kiểm tra giá trị biên cho tất cả các trường nhập liệu chưa?
|
|
27
|
+
- [ ] Các thông báo lỗi (Error Messages) hiển thị trên UI đã có kịch bản verify chưa?
|
|
28
|
+
- [ ] Các kịch bản về hiệu năng hoặc bảo mật cơ bản đã được đưa vào bộ testcase chưa?
|
|
29
|
+
- [ ] Các lỗi đã từng xảy ra ở phiên bản trước (hoặc dự án tương tự) đã có kịch bản regression chưa?
|
|
30
|
+
- [ ] Bộ testcase đã bao phủ các kịch bản tích hợp với bên thứ ba (nếu có) chưa?
|
|
31
|
+
|
|
32
|
+
### Output mong đợi
|
|
33
|
+
- **Ma trận truy vết yêu cầu (RTM):** Bảng đối chiếu giữa Requirement và Testcase ID.
|
|
34
|
+
- **Báo cáo đánh giá độ bao phủ:** Tỷ lệ % bao phủ và danh sách các vùng còn thiếu sót.
|
|
35
|
+
- **Bộ testcase hoàn thiện:** Đã được bổ sung và phê duyệt, sẵn sàng cho việc thực thi.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# 99.02. Học tập và Đóng gói Kiến thức (Knowledge Learning & Extraction)
|
|
2
|
+
|
|
3
|
+
### Mục đích
|
|
4
|
+
Hệ thống hóa quá trình học tập từ thực tế dự án, các lỗi nghiêm trọng (Production bugs) hoặc các công nghệ mới. Mục tiêu là chuyển hóa kinh nghiệm cá nhân thành tri thức chung của team, tránh lặp lại các sai lầm cũ và nâng cao năng lực chuyên môn cho toàn bộ đội ngũ QA.
|
|
5
|
+
|
|
6
|
+
### Kiến thức cần có
|
|
7
|
+
- **RCA (Root Cause Analysis):** Kỹ thuật phân tích nguyên nhân gốc rễ (ví dụ: 5 Whys, Biểu đồ xương cá).
|
|
8
|
+
- **Kỹ năng viết lách:** Khả năng trình bày vấn đề kỹ thuật một cách súc tích, dễ hiểu.
|
|
9
|
+
- **Kỹ năng nghiên cứu (Research):** Tìm hiểu các giải pháp, công cụ hoặc xu hướng kiểm thử mới từ cộng đồng quốc tế.
|
|
10
|
+
- **Phương pháp quản lý tri thức:** Cách lưu trữ và phân loại tài liệu để dễ dàng tra cứu.
|
|
11
|
+
|
|
12
|
+
### Quy trình thực hiện
|
|
13
|
+
1. **Thu thập nguồn học tập:** Lấy thông tin từ các Bug Post-mortem, các bài học sau mỗi Sprint (Retrospective), hoặc nghiên cứu các công cụ mới.
|
|
14
|
+
2. **Phân tích và Đúc rút:**
|
|
15
|
+
- Với lỗi: Tại sao nó xảy ra? Tại sao quy trình hiện tại không phát hiện được? Làm thế nào để ngăn chặn?
|
|
16
|
+
- Với công nghệ mới: Nó giải quyết vấn đề gì? Cách áp dụng vào dự án thực tế như thế nào?
|
|
17
|
+
3. **Tài liệu hóa:** Viết hướng dẫn, tạo "Cheat-sheet" hoặc cập nhật vào Repository.
|
|
18
|
+
4. **Chia sẻ và Đào tạo:** Tổ chức các buổi Tech Sharing, Demo hoặc Training cho các thành viên trong team.
|
|
19
|
+
5. **Thực thi và Kiểm chứng:** Áp dụng kiến thức mới vào các dự án tiếp theo và đo lường hiệu quả.
|
|
20
|
+
6. **Cập nhật quy chuẩn:** Nếu kiến thức có giá trị lâu dài, hãy cập nhật nó thành một kỹ năng chuẩn trong Repository.
|
|
21
|
+
|
|
22
|
+
### Checklist
|
|
23
|
+
- [ ] Nguyên nhân gốc rễ của vấn đề đã được xác định chính xác (không chỉ dừng lại ở bề nổi) chưa?
|
|
24
|
+
- [ ] Bài học đúc rút có giải pháp hành động (Actionable items) cụ thể không?
|
|
25
|
+
- [ ] Tài liệu có đầy đủ ví dụ minh họa hoặc các bước thực hiện (Step-by-step) không?
|
|
26
|
+
- [ ] Đã có kế hoạch chia sẻ kiến thức này cho những người liên quan chưa?
|
|
27
|
+
- [ ] Kiến thức mới có mâu thuẫn với các quy chuẩn hiện tại không? Nếu có, đã được thảo luận để cập nhật chưa?
|
|
28
|
+
- [ ] Tài liệu có được gắn thẻ (Tags) hoặc phân loại đúng để dễ dàng tìm kiếm sau này không?
|
|
29
|
+
|
|
30
|
+
### Output mong đợi
|
|
31
|
+
- **Tài liệu Lessons Learned:** Tổng hợp các kinh nghiệm từ lỗi hoặc dự án đã qua.
|
|
32
|
+
- **Hướng dẫn kỹ thuật (Technical Guides):** Các kỹ thuật kiểm thử mới được đóng gói.
|
|
33
|
+
- **Buổi Tech Sharing:** Sự lan tỏa tri thức trong cộng đồng QA.
|
|
34
|
+
- **Kho tri thức (Knowledge Base) cập nhật:** Luôn tươi mới và có giá trị thực tiễn cao.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# 99.03. Cập nhật và Bảo trì Kho kỹ năng (Skill Repository Maintenance)
|
|
2
|
+
|
|
3
|
+
### Mục đích
|
|
4
|
+
Đảm bảo kho kỹ năng QA (QA Skill Repository) luôn được cập nhật, chính xác và phản ánh đúng thực tế công nghệ cũng như quy trình làm việc hiện hành. Việc bảo trì giúp kho tài liệu luôn là nguồn tham chiếu tin cậy và có giá trị sử dụng cao cho mọi thành viên trong team.
|
|
5
|
+
|
|
6
|
+
### Kiến thức cần có
|
|
7
|
+
- **Quản lý Repository:** Hiểu về cấu trúc thư mục, quy tắc đặt tên và quản lý phiên bản bằng Git.
|
|
8
|
+
- **Tiêu chuẩn Markdown:** Quy chuẩn về định dạng văn bản để đảm bảo tính đồng nhất.
|
|
9
|
+
- **Quy trình Review:** Hiểu cách thực hiện Pull Request (PR) và quy trình phê duyệt thay đổi.
|
|
10
|
+
- **Tổng hợp phản hồi:** Khả năng phân tích ý kiến từ người dùng (QA members) để cải thiện nội dung.
|
|
11
|
+
|
|
12
|
+
### Quy trình thực hiện
|
|
13
|
+
1. **Thu thập phản hồi:** Lắng nghe ý kiến từ team về các khó khăn hoặc các điểm chưa rõ ràng khi sử dụng Repository.
|
|
14
|
+
2. **Rà soát định kỳ (Audit):** Mỗi quý một lần, thực hiện kiểm tra toàn bộ nội dung để tìm các thông tin đã lỗi thời.
|
|
15
|
+
3. **Đề xuất thay đổi:** Tạo Issue hoặc liệt kê các mục cần thêm mới, sửa đổi hoặc xóa bỏ.
|
|
16
|
+
4. **Thực hiện cập nhật:**
|
|
17
|
+
- Soạn thảo nội dung mới tuân thủ đúng Template quy định.
|
|
18
|
+
- Cập nhật các tệp tin liên quan (ví dụ: `README.md`, `skill_modules.md`).
|
|
19
|
+
5. **Review và Merge:** Gửi Pull Request để các thành viên khác review trước khi chính thức cập nhật vào nhánh chính.
|
|
20
|
+
6. **Thông báo (Announce):** Cập nhật vào Nhật ký thay đổi (Change History) và thông báo cho toàn team về các điểm mới.
|
|
21
|
+
|
|
22
|
+
### Checklist
|
|
23
|
+
- [ ] Các tệp tin mới/chỉnh sửa có tuân thủ đúng cấu trúc 5 phần (Mục đích, Kiến thức, Quy trình, Checklist, Output) không?
|
|
24
|
+
- [ ] Quy tắc đặt tên file và thư mục có đúng chuẩn (lowercase, kebab-case, đánh số thứ tự) không?
|
|
25
|
+
- [ ] Có kỹ năng nào bị trùng lặp hoặc chồng chéo nội dung cần được gộp lại không?
|
|
26
|
+
- [ ] Các liên kết nội bộ (Internal links) và liên kết bên ngoài có hoạt động chính xác không?
|
|
27
|
+
- [ ] Các thuật ngữ chuyên môn có được sử dụng thống nhất trong toàn bộ Repository không?
|
|
28
|
+
- [ ] Đã cập nhật `99.04.change-history.md` cho đợt thay đổi này chưa?
|
|
29
|
+
|
|
30
|
+
### Output mong đợi
|
|
31
|
+
- **Pull Request hoàn thiện:** Chứa các thay đổi đã được kiểm duyệt và phê duyệt.
|
|
32
|
+
- **Kho kỹ năng cập nhật:** Nội dung chính xác, trình bày đẹp mắt và dễ tra cứu.
|
|
33
|
+
- **Thông báo cập nhật:** Tóm tắt các thay đổi quan trọng gửi tới team QA.
|