TTMI GROUP -HRM

HRM Task QA Report

Phạm vi: Nhắc việc / Công việc / Quản lý lịch lặp / Notification deadline và assign / UX luồng thao tác / phân quyền nhân viên. Môi trường production, account role lead và nhân viên.

Ngày test: 14/09/2026 - 15/09/2026

Kết quả kiểm thử

Bảng có filter trạng thái và hình ảnh ở cột cuối

57Total
41Pass
1Fail
14Warning
1Blocked

Trạng thái: Tất cả57/57 dòng

Chức năng Thiết bị Kịch bản Kết quả mong đợi Kết quả thực tế Trạng thái Hình ảnh
TASKCông việc 4 case
TASK-01 Tạo task thường đầy đủ thông tin Web Tạo task có assignee suongdtt, follower phuongttx1, mô tả, ngày bắt đầu và deadline. Task lưu thành công, có ID, xuất hiện trên board đúng cột. Task tạo thành công, nằm ở Chưa bắt đầu, deadline 17:00 15/09/2026. Pass Task thường hiển thị trên board
TASK-02 Lọc theo người thực hiện Web Chọn filter người thực hiện Đặng Thị Thu Sương · suongdtt. URL/chip filter cập nhật và board chỉ hiển thị task liên quan. Filter fAssignee trả về 4 công việc test đúng dữ liệu. Pass Bộ lọc suongdtt trả về 4 task
TASK-03 Đổi trạng thái từ card Web Từ card task thường, mở menu trạng thái và chọn Đang làm. Nếu lead được quyền thì card chuyển cột; nếu không, action nên bị disable hoặc giải thích trước. Hệ thống chặn bằng dialog “Bạn không có quyền cập nhật tiến độ”, hướng user mở task để thao tác. Chưa kịp capture dialog, nên cần dev kiểm tra lại rule/UX tại action trên card. Warning Chưa có ảnh dialog
TASK-04 Điều hướng vào module Task Web Từ dashboard bấm menu Công việc & Dự án. URL và nội dung cùng chuyển sang module task ngay. Có lần URL đổi sang /tasks?mode=board nhưng nội dung dashboard vẫn giữ tới khi reload. Lỗi xảy ra thoáng qua trong lúc chuyển route nên chưa có ảnh capture trực tiếp. Warning Chưa có ảnh
REMINDERNhắc việc 3 case
REM-01 Phân loại task sắp đến hạn Web Mở Nhắc việc sau khi tạo task deadline 15/09/2026. Task deadline ngày mai nằm trong nhóm Công việc sắp đến hạn. Task thường hiển thị nhãn NGÀY MAI, assignee Sương, trạng thái chưa bắt đầu. Pass Nhắc việc hiển thị task sắp đến hạn
REM-02 Phân loại task lặp theo deadline Web Kiểm tra các task con sinh từ lịch lặp trong màn nhắc việc. Kỳ hôm nay/sắp tới được xếp đúng nhóm deadline. Kỳ 14/09 nằm trong Sắp đến hạn; kỳ 21/09 và 28/09 nằm trong Sắp tới. Pass Nhắc việc hiển thị task lặp
REM-03 Nhóm công việc không deadline Web Mở Nhắc việc sau khi có task không deadline/không assignee từ case validation. Task không deadline không bị gom sai vào quá hạn/sắp đến hạn; nếu hiển thị thì nằm trong nhóm riêng. Task [TEST Codex] Required assignee validation nằm trong Công việc không có deadline, nhãn Chưa có hạnChưa giao. Pass Nhắc việc nhóm không deadline
RECURRINGQuản lý lịch lặp 9 case
REC-01 Tạo lịch lặp hàng tuần Web Tạo lịch lặp tuần, bắt đầu 14/09/2026, deadline task sinh ra lúc 17:00. Lịch lặp lưu thành công và sinh kỳ công việc đúng rule. Lưu thành công, sinh 3 kỳ 14/09, 21/09, 28/09, cùng deadline 17:00. Pass Lịch lặp hàng tuần được tạo
REC-02 Danh sách lịch lặp đang chạy Web Mở Quản lý lịch lặp, tab Đang chạy. Lịch vừa tạo nằm dưới nhóm Hàng tuần và hiển thị assignee. Lịch hiển thị đúng nhóm, chu kỳ 1 TUẦN, bắt đầu 14/09/2026, vô hạn. Pass Danh sách lịch lặp hàng tuần
REC-03 Nút tạo kỳ thủ công sau khi đã sinh kỳ Web Mở danh sách lịch lặp tuần đã sinh 3 kỳ công việc. UI nên hiển thị mốc đã sinh kỳ/số kỳ đã tạo, hoặc xác nhận chống tạo trùng trước khi cho tạo kỳ thủ công. Nút Tạo các kỳ công việc vẫn hiển thị, chưa thấy thông tin kỳ đã sinh gần nhất. Không bấm trên production để tránh sinh trùng. Warning Nút tạo các kỳ công việc trong lịch lặp
REC-04 Tạo lịch lặp hàng ngày Web Tạo lịch lặp Hàng ngày, assignee hattp, bắt đầu 15/09/2026, deadline 17:00. Hệ thống lưu lịch và sinh các kỳ công việc riêng theo từng ngày. Lưu thành công với ID 78b36548-0ec0-4e30-bf6c-8b9e2a3c48da, sinh 3 task con 15/09, 16/09, 17/09 với nhãn HÔM NAY, NGÀY MAI, CÒN 2 NGÀY. Pass Lịch lặp hàng ngày sinh 3 task con
REC-05 Tạo lịch lặp hàng tháng Web Tạo lịch lặp Hàng tháng, chọn ngày trong tháng là 15, assignee hattp, bắt đầu 15/09/2026. Task con bám đúng ngày trong tháng đã chọn, deadline theo giờ cấu hình. Lưu thành công với ID 00e99d0b-8bac-4ad9-8a46-7ea5164a7014, sinh 3 task con 15/09, 15/10, 15/11, cùng deadline 17:00. Pass Lịch lặp hàng tháng sinh task con ngày 15
REC-06 Phân nhóm lịch lặp trong danh sách Web Mở Quản lý lịch lặp sau khi tạo đủ daily/weekly/monthly. Mỗi lịch nằm đúng nhóm tần suất, hiển thị chu kỳ, ngày bắt đầu, giới hạn và người thực hiện. Danh sách có nhóm HÀNG NGÀY, HÀNG TUẦN, HÀNG THÁNG; daily/monthly hiển thị assignee Trần Thị Phương Hà, weekly hiển thị Đặng Thị Thu Sương. Pass Danh sách lịch lặp phân nhóm daily weekly monthly
REC-07 Logic remind cho task lặp Web Mở Nhắc việc sau khi daily/monthly sinh task con. Reminder phân loại theo deadline của từng task con, không gom theo lịch lặp cha. Daily 15/09 và monthly 15/09 nằm trong Công việc sắp đến hạn; daily 17/09, monthly 15/10 và 15/11 nằm trong Công việc sắp tới; kỳ weekly 14/09 đã chuyển sang Đã quá hạn. Pass Nhắc việc phân loại task con daily monthly
REC-08 Giới hạn số lần lặp sinh đúng số kỳ Web Tạo lịch lặp Hàng ngày, assignee hattp, bật giới hạn và nhập 2 lần lặp. Hệ thống chỉ sinh đúng 2 task con theo ngày bắt đầu và ngày kế tiếp. Lưu thành công với ID fac94a7e-e60a-4869-b536-6f0a693db272, sinh đúng 2 task con ngày 15/09 và 16/09 lúc 17:00; editor hiển thị tiến độ 0 / 2. Pass Lịch lặp giới hạn 2 lần sinh đúng 2 task con
REC-09 Trạng thái giới hạn lặp sau khi lưu Web Mở lại lịch lặp đã bật giới hạn 2 lần. Form phải phản ánh đúng cấu hình đã lưu để user kiểm tra/sửa rule. Task con vẫn sinh đúng 2 kỳ, nhưng switch Giới hạn số lần lặp hiển thị tắt và mô tả Task sẽ lặp lại vô hạn, không khớp dữ liệu thực tế. Warning Switch giới hạn lặp hiển thị tắt sau khi lưu
NOTINotification / Nhắc hạn 4 case
NOTI-01 Nhắc quá hạn Web Tạo task deadline 13/09/2026 10:00, assign suongdtt, sau đó mở màn Nhắc việc. Task quá hạn hiển thị trong nhóm Công việc đã quá hạn và có nhãn trễ hạn. Task [TEST Codex] Notification qua han hiển thị trong nhóm quá hạn, nhãn TRỄ HẠN 1 NGÀY. Pass Task quá hạn trong màn nhắc việc
NOTI-02 Nhắc sắp tới hạn Web Kiểm tra các task deadline hôm nay và ngày mai trong màn Nhắc việc. Task hôm nay/ngày mai được gom vào nhóm Công việc sắp đến hạn. Task lặp 14/09 có nhãn HÔM NAY; task thường 15/09 có nhãn NGÀY MAI. Pass Task sắp tới hạn trong màn nhắc việc
NOTI-03 Thông báo cho assignee Web Tạo task mới assign cho Đặng Thị Thu Sương · suongdtt và quan sát notification phía người nhận. Account assignee nhận thông báo khi được giao task mới. Đã tạo task trigger thành công, nhưng session hiện tại là người giao việc nên chưa xác nhận được inbox/notification phía người nhận suongdtt. Cần login account người nhận hoặc xem notification log để kết luận. Blocked Blocked
NOTI-04 Self-assign cho tài khoản hiện tại Web Tạo task mới assign cho chính account đang đăng nhập hattp, deadline 15/09/2026 18:00. Task tạo thành công, người thực hiện là hattp, xuất hiện trong nhắc việc của account hiện tại. Task [TEST Codex] Self assign hattp xuất hiện trong nhóm Công việc sắp đến hạn, nhãn NGÀY MAI, assignee Trần Thị Phương Hà. Pass Self assign hattp trong màn nhắc việc
BELLNotification bell 4 case
BELL-01 Bell hiển thị unread và danh sách thông báo Web Mở icon bell ở góc phải trên account hattp. Popup mở được, có số unread, filter và danh sách notification liên quan đến task. Bell hiển thị badge 5; popup ghi 5 thông báo chưa đọc, có filter Tất cả, nút Đọc tất cả và danh sách notification task. Pass Popup notification bell có 5 thông báo chưa đọc
BELL-02 Rule sắp đến hạn trong 24 giờ Web Đối chiếu notification Công việc sắp đến hạn với các task deadline gần nhất trên board. Task chưa hoàn thành có deadline trong 24 giờ sinh notification sắp đến hạn. Popup báo [TEST Codex] Limit repeat 2 times, Lich lap hang ngay CSKHLich lap hang thang CSKH sẽ đến hạn trong vòng 24 giờ; các task này đang có deadline 17:00 15/09/2026 trên board. Pass Notification sắp đến hạn trong vòng 24 giờ
BELL-03 Rule công việc quá hạn Web Đối chiếu notification Công việc đã quá hạn với task deadline đã qua. Task chưa hoàn thành sau deadline sinh notification đã quá hạn hoàn thành. Popup báo quá hạn cho [TEST Codex] Lich lap hang tuan CSKH deadline 17:00 14/09/2026 và [TEST Codex] Notification qua han deadline 10:00 13/09/2026, đúng với dữ liệu board. Pass Notification quá hạn cho task đã qua deadline
BELL-04 Click notification / đọc tất cả Web Click một notification task, sau đó bấm Đọc tất cả trong popup bell. Click notification mở đúng task liên quan; bấm Đọc tất cả xóa badge unread, bỏ trạng thái Chưa đọc khỏi các item. Click item [TEST Codex] Lich lap hang tuan CSKH mở editor đúng task, URL có task=0c37297b-ea00-4bc1-b533-d6053bd095bb. Badge giảm từ 5 xuống 4 sau click item; sau Đọc tất cả, popup đổi thành Bạn đã xem tất cả thông báo, badge đỏ biến mất và không còn tag Chưa đọc. Pass Đọc tất cả làm mất badge unread và tag Chưa đọc
WORKFLOWLuồng xử lý & quyền thao tác 11 case
WF-01 Assignee nhận việc Web Từ task self-assign [TEST Codex] Self assign hattp, bấm Nhận việc. Task chuyển sang Đang làm, tiếp nhận Đã nhận việc, có log người thực hiện. Toast Đã nhận việc; timeline ghi Nhận việc 16:50 14/09/2026 bởi Trần Thị Phương Hà; CTA đổi thành Nộp kết quả hoàn thành. Pass Workflow nhận việc thành công
WF-02 Nộp kết quả hoàn thành Web Bấm Nộp kết quả hoàn thành, nhập nội dung kết quả và submit. Task không cần duyệt chuyển thẳng sang Hoàn thành, có log hoàn thành và toast. Toast Đã gửi kết quả; trạng thái Hoàn thành; timeline ghi Hoàn thành task. Pass Workflow hoàn thành task
WF-03 Khóa trạng thái sau hoàn thành Web Quan sát task đã hoàn thành trong editor. Không cho đổi trạng thái trực tiếp; nếu cần rollback phải qua action rõ ràng. Combobox trạng thái bị khóa ở Hoàn thành; chỉ có action riêng Mở lại công việc kèm mô tả chuyển sang cần chỉnh sửa. Pass Task hoàn thành bị khóa trạng thái
WF-04 Từ chối nhận việc Web Từ task self-assign [TEST Codex] Workflow tu choi, bấm Từ chối, nhập lý do và xác nhận. Hệ thống yêu cầu lý do, chuyển tiếp nhận sang từ chối và ghi log người/timestamp/lý do. Nút xác nhận bị khóa khi chưa nhập lý do; sau submit có toast Đã từ chối task, tiếp nhận Từ chối nhận việc, timeline lưu lý do. Pass Workflow từ chối nhận việc
WF-05 Yêu cầu hỗ trợ Web Từ task self-assign [TEST Codex] Workflow can ho tro, bấm Cần hỗ trợ, kiểm tra trạng thái nút khi nội dung trống rồi gửi yêu cầu. Khi chưa nhập nội dung thì không cho gửi; sau khi gửi, task chuyển sang trạng thái tiếp nhận cần phản hồi và ghi timeline. Nút Gửi yêu cầu hỗ trợ bị khóa khi nội dung trống; sau submit có toast Đã gửi yêu cầu hỗ trợ, tiếp nhận Chờ phản hồi hỗ trợ, timeline lưu nội dung. Pass Workflow yêu cầu hỗ trợ
WF-06 Nộp kết quả cần duyệt Web Tạo task self-assign bật Cần duyệt kết quả, nhận việc, nhập Báo cáo kết quả và bấm Nộp kết quả. Nút nộp bị khóa khi báo cáo trống; sau khi gửi, task chuyển sang Chờ duyệt thay vì hoàn thành thẳng. Nút Nộp kết quả bị khóa khi báo cáo trống; sau submit có toast Đã gửi kết quả, cột board Chờ duyệt tăng lên 1 và timeline hiển thị action duyệt. Pass Workflow nộp kết quả cần duyệt
WF-07 Reviewer duyệt kết quả Web Từ task [TEST Codex] Workflow can duyet ket qua đang Chờ duyệt, bấm Duyệt kết quả, nhập ghi chú và xác nhận. Hệ thống cho nhập điểm/ghi chú, sau duyệt chuyển task sang Hoàn thành và ghi timeline reviewer. Điểm mặc định là 100; sau duyệt có toast Đã duyệt kết quả, trạng thái Hoàn thành, timeline có ghi chú và Đánh giá: 100/100. Pass Reviewer duyệt kết quả
WF-08 Reviewer yêu cầu sửa lại Web Từ task [TEST Codex] Workflow yeu cau sua lai đang Chờ duyệt, bấm Yêu cầu sửa lại, nhập nội dung cần chỉnh sửa và xác nhận. Nút xác nhận bị khóa khi chưa nhập nội dung; sau submit task chuyển sang trạng thái cần chỉnh sửa. Textarea Nội dung cần chỉnh sửa là bắt buộc; sau submit có toast Đã yêu cầu chỉnh sửa, trạng thái Yêu cầu chỉnh sửa, timeline lưu lý do. Pass Reviewer yêu cầu sửa lại
WF-09 Nộp lại sau yêu cầu sửa Web Từ task đang Yêu cầu chỉnh sửa, bấm Nộp kết quả hoàn thành, nhập báo cáo mới và submit. Assignee nộp lại được, nút nộp khóa khi báo cáo trống, sau submit quay về Chờ duyệt. Textarea Báo cáo kết quả là bắt buộc; sau submit có toast Đã gửi kết quả, board tăng lại Chờ duyệt và timeline có lần nộp lại. Pass Nộp lại sau yêu cầu sửa
WF-10 Reviewer đánh dấu không đạt Web Tạo task approval riêng [TEST Codex] Workflow khong dat, nộp kết quả, sau đó bấm Không đạt. Hệ thống yêu cầu lý do chưa đạt, chuyển task sang trạng thái kết thúc phù hợp và ghi log. Textarea Lý do chưa đạt là bắt buộc; sau submit có toast Đã từ chối kết quả, trạng thái Chưa đạt, timeline lưu lý do. Pass Reviewer đánh dấu không đạt
WF-11 Mở lại công việc đã kết thúc Web Từ task Chưa đạt, bấm Mở lại công việc, nhập lý do mở lại và xác nhận. Nút xác nhận bị khóa khi lý do trống; sau mở lại task chuyển về trạng thái có thể nộp kết quả lại. Textarea Lý do mở lại công việc là bắt buộc; sau submit có toast Đã mở lại công việc, trạng thái Yêu cầu chỉnh sửa, timeline giữ lịch sử cũ và ghi lý do mở lại. Pass Mở lại công việc đã kết thúc
EMPLOYEERole nhân viên 12 case
EMP-01 Scope board theo role nhân viên Web Login account nhân viên Đặng Thị Thu Sương · suongdtt, mở /tasks?mode=board. Nhân viên chỉ thấy bộ phận/task thuộc phạm vi được giao, không thấy dữ liệu rộng như lead. Sidebar chỉ có 1 bộ phận, board hiển thị 6 công việc liên quan suongdtt; filter nhanh người thực hiện chỉ còn Đặng Thị Thu Sương. Pass Role nhân viên chỉ thấy scope task của suongdtt
EMP-02 Nhân viên nhận notification task Web Mở icon bell trên account nhân viên suongdtt. Popup hiển thị notification liên quan tới task được giao; trạng thái đọc/unread rõ ràng. Popup ghi Bạn đã xem tất cả thông báo, nút Đọc tất cả disabled, có 3 notification task: 1 sắp đến hạn và 2 quá hạn. Pass Notification bell role nhân viên
EMP-03 Click notification mở đúng task Web Click notification [TEST Codex] Task QA nhac viec va lich lap. Hệ thống mở đúng detail task và hiển thị action của người thực hiện. URL mở đúng task=6546c47a-f4a3-4470-893f-63d42869a8be; editor hiển thị assignee Đặng Thị Thu Sương và các action Từ chối, Cần hỗ trợ, Nhận việc. Pass Employee click notification mở đúng task
EMP-04 Tạo task khi URL thiếu department Web Ở URL /tasks?mode=board không có param department, nhập title và bấm Lưu task. Nếu sidebar đang chọn bộ phận thì form nên tự gắn department; nếu không, cần báo rõ trước khi submit. Submit bị chặn bằng toast Công việc phải thuộc dự án, phòng ban, nhóm công việc hoặc công việc cha.; tuy nhiên UI vẫn cho mở form và nút lưu bật sau khi nhập title, dễ gây hiểu nhầm. Warning Employee form lưu bật khi thiếu context hoặc assignee
EMP-05 Nhân viên tự tạo task cho mình Web Mở URL có department, tạo task [TEST Employee Codex] Self create task employee, chọn assignee chính suongdtt. Task lưu thành công, người giao việc và người thực hiện đúng nhân viên hiện tại. Task tạo thành công với ID 13a4de82-2620-4b2c-8fc1-49e0fbbe5fe0; people picker người thực hiện chỉ hiển thị Đặng Thị Thu Sương, sau lưu task nằm trong board. Pass Employee tự tạo task thành công
EMP-06 Workflow nhân viên nhận và hoàn thành Web Từ task employee vừa tạo, bấm Nhận việc, nhập báo cáo và bấm Nộp kết quả. Task chuyển Đang làm, sau đó Hoàn thành; timeline ghi đúng người thực hiện. Sau nhận việc, trạng thái là Đang làm, tiếp nhận Đã nhận việc; sau nộp kết quả task chuyển Hoàn thành, có log Nhận việcHoàn thành task bởi Đặng Thị Thu Sương. Pass Employee hoàn thành task tự tạo
EMP-07 Quyền xem/tạo lịch lặp của nhân viên Web Mở Quản lý lịch lặp bằng account nhân viên. Danh sách lịch lặp nên bị giới hạn theo assignee/quyền; nút tạo lịch lặp cần đúng rule phân quyền. Danh sách chỉ còn lịch hàng tuần của Đặng Thị Thu Sương, không thấy lịch daily/monthly của hattp. Tuy nhiên nút Tạo lịch lặp vẫn hiển thị cho nhân viên, cần dev xác nhận đây là quyền mong muốn hay cần ẩn/chặn. Warning Employee chỉ thấy lịch lặp liên quan suongdtt
EMP-08 Nhắc việc theo scope nhân viên Web Mở Nhắc việc bằng account nhân viên sau khi hoàn thành task employee. Reminder chỉ liệt kê task trong scope nhân viên và phân nhóm đúng deadline/trạng thái. Màn nhắc việc hiển thị 2 quá hạn, 1 sắp đến hạn, 3 sắp tới, 1 không deadline; task [TEST Employee Codex] Self create task employee nằm trong nhóm không deadline với nhãn Đã nhận việcHoàn thành. Pass Employee reminder phân nhóm đúng theo scope
EMP-09 Mở trực tiếp task ngoài scope Web Dùng account nhân viên mở trực tiếp URL task self-assign của lead hattp: task=29e48e1f-92d5-46be-8fb4-d5864c2e7ae6. Nếu không có quyền xem, hệ thống nên báo rõ Không có quyền, redirect về danh sách hợp lệ hoặc đóng modal tải. Modal Đang tải công việc đứng lâu và không trả thông báo quyền truy cập; tab cần mở lại để tiếp tục thao tác. Warning Employee mở task ngoài scope bị loading
EMP-10 Task lead giao: action theo người thực hiện Web Mở task [TEST Codex] Task QA nhac viec va lich lap bằng account nhân viên được assign. Nhân viên nhìn thấy đúng action nhận việc/từ chối/cần hỗ trợ, không có quyền xóa task. Header menu chỉ có Xem lịch sử; workflow hiển thị Từ chối, Cần hỗ trợ, Nhận việc; thông tin assignee/follower/deadline đúng task lead giao. Pass Employee thấy action hợp lệ trên task lead giao
EMP-11 Gửi cần hỗ trợ từ task lead giao Web Trên task lead giao, bấm Cần hỗ trợ, nhập lý do và gửi yêu cầu hỗ trợ. Yêu cầu được gửi, tiếp nhận chuyển sang chờ phản hồi hỗ trợ và timeline lưu nội dung. Có toast Đã gửi yêu cầu hỗ trợ; tiếp nhận đổi sang Chờ phản hồi hỗ trợ; timeline ghi nội dung bởi Đặng Thị Thu Sương lúc 14:40 15/09/2026. Pass Employee gửi yêu cầu hỗ trợ thành công
EMP-12 Form tạo lịch lặp ở role nhân viên Web Từ danh sách lịch lặp, bấm Tạo lịch lặp bằng account nhân viên. Nếu nhân viên được phép tạo lịch lặp, form cần giới hạn người giao/người nhận đúng scope; nếu không, nên ẩn hoặc chặn nút ngay từ danh sách. Form mở được, người giao việc mặc định là Đặng Thị Thu Sương, tần suất mặc định Hàng tuần; Lưu task đang bị khóa khi thiếu người thực hiện/ngày, nhưng rule quyền tạo lịch lặp cần xác nhận. Warning Employee mở form tạo lịch lặp
UXTrải nghiệm thao tác 10 case
UX-01 Đồng bộ từ khóa trong luồng tạo Web Mở form từ nút Tạo công việc và rà lại wording trong modal. Thuật ngữ thống nhất để user hiểu cùng một khái niệm. Đang lẫn Task Editor, Nhóm task, Lưu task, Nhập tiêu đề task với Tạo công việcThông tin công việc. Warning Form tạo công việc lẫn từ khóa task và công việc
UX-02 Lưu task khi thiếu người thực hiện Web Nhập mỗi tiêu đề, chưa chọn Người thực hiện *, sau đó bấm Lưu task. Hệ thống phải chặn submit, báo lỗi required và không tạo task. Task vẫn được tạo thành công với ID d9457cef-dfa2-47fa-b42c-a0926a177c26; detail vẫn hiển thị assignee là Chọn người thực hiện. Fail Task được lưu dù thiếu người thực hiện
UX-03 Thoát form đang sửa dở Web Nhập tiêu đề tạm trong form tạo rồi bấm Quay lại. Nếu có thay đổi chưa lưu, nên hỏi xác nhận hoặc giữ draft. Form đóng thẳng về board, URL bỏ action=create, không có cảnh báo mất dữ liệu. Warning Form tạo trước khi bấm Quay lại
UX-04 Search theo tiêu đề đồng bộ URL Web Nhập Self assign vào ô Tiêu đề công việc. Board lọc đúng kết quả, URL phản ánh filter để reload/share trạng thái. URL thêm fTitle=Self+assign, board chỉ còn task [TEST Codex] Self assign hattp. Pass Filter tiêu đề và chuyển luồng UX
UX-05 Chuyển luồng Nhắc việc / Lịch lặp Web Từ board đang có filter tiêu đề, chuyển sang Nhắc việc, quay lại board, rồi mở Quản lý lịch lặp. URL và CTA chuyển đúng ngữ cảnh; user quay lại được danh sách công việc. URL đổi đúng mode=reminder, mode=board, tab=recurring&view=list; màn lịch lặp hiển thị CTA Quay lại công việc. Pass Luồng chuyển sang quản lý lịch lặp
UX-06 URL filter title không áp dụng ở Nhắc việc Web Mở URL mode=reminder&fTitle=Required+assignee+validation. Nếu URL có filter title, màn nhắc việc nên lọc theo title hoặc bỏ param/chip rõ ràng. Màn vẫn hiển thị nhiều task khác ngoài keyword; filter title trong URL không được phản ánh trên UI nhắc việc. Warning Nhắc việc bỏ qua fTitle trên URL
UX-07 Inline action cũ còn hiển thị sau khi nộp lại Web Sau khi reviewer yêu cầu sửa, assignee nộp lại kết quả và task quay về Chờ duyệt. Các action inline cũ nên được reset/ẩn sau khi trạng thái đã đổi để tránh user bấm nhầm. Task đã quay về Chờ duyệt, nhưng UI vẫn còn hiển thị nút Xác nhận yêu cầu sửa lại bên dưới các action reviewer. Warning Inline action cũ còn hiển thị sau khi nộp lại
UX-08 Deadline trước ngày bắt đầu Web Tạo task với Ngày bắt đầu 16/09/2026 và Deadline 15/09/2026 17:00. Hệ thống phải chặn tạo và hiển thị lỗi rõ tại field ngày/deadline. Task không được tạo, board không tăng số lượng và không thấy card mới; tuy nhiên UI chặn im lặng, không có inline error/toast để user biết cần sửa field nào. Warning Deadline trước ngày bắt đầu bị chặn nhưng không báo lỗi rõ
UX-09 Tạo task con từ task cha Web Trong task cha [TEST Codex] Parent child progress, bấm Tạo task con. Form task con nên tự gắn Task cha hiện tại và để user nhập tiêu đề mới. Form mở ra nhưng title bị copy từ task cha, field Task cha hiển thị Không có; phải đổi title và chọn lại task cha thủ công. Warning Tạo task con chưa tự gắn task cha
UX-10 Tiến độ task cha theo task con Web Tạo task cha, gắn task con [TEST Codex] Child progress item, sau đó hoàn thành task con. Task cha cập nhật tiến độ theo số task con đã hoàn thành và mở hành động hoàn tất cha khi đạt 100%. Trước khi hoàn thành task con, task cha hiển thị 0 / 1; sau khi nộp kết quả task con, task cha hiển thị 1 / 1 hoàn thành (100%) và có nút Hoàn tất Task Cha. Pass Task cha cập nhật 1 trên 1 sau khi task con hoàn thành

Dev check nhanh

Gom theo khu vực xử lý

Ưu tiên P2

  • FE routing: kiểm tra route transition từ dashboard sang /tasks, trạng thái remount và cache content.
  • BE auth/UX: xác nhận rule lead khi đổi trạng thái từ card; nếu không cho thao tác, nên disable option hoặc đổi thông báo trước khi submit.
  • Workflow: luồng nhận việc, hoàn thành, từ chối, cần hỗ trợ, chờ duyệt, duyệt kết quả, yêu cầu sửa lại, nộp lại, không đạt và mở lại đều pass; còn một warning nhỏ về inline action cũ chưa reset sau khi nộp lại.
  • Role nhân viên: account suongdtt chỉ thấy scope 1 bộ phận và các task/lịch lặp liên quan; tạo task self-assign, nhận việc, hoàn thành và gửi cần hỗ trợ từ task lead giao đều pass.
  • Permission direct URL: nhân viên mở trực tiếp task ngoài scope bị đứng ở modal Đang tải công việc; cần trả về thông báo không có quyền hoặc redirect rõ ràng.
  • UX wording: thống nhất Task hay Công việc trong modal tạo/sửa, button, placeholder và label nhóm.
  • Form validation: đang tạo được task khi thiếu Người thực hiện *; cần chặn cả FE và API, đồng thời kiểm tra dữ liệu rỗng đã tồn tại.
  • Context khi tạo task: với role nhân viên, URL thiếu department vẫn mở được form và bật nút lưu; submit mới báo thiếu dự án/phòng ban/nhóm/task cha. Nên tự gắn context từ sidebar hoặc chặn sớm.
  • Date validation: deadline trước ngày bắt đầu đã bị chặn tạo, nhưng UI chưa báo lỗi rõ; nên thêm inline error hoặc toast chỉ đúng field cần sửa.
  • Recurring scheduler: daily/weekly/monthly và giới hạn 2 lần đã sinh task con đúng kỳ; cần bổ sung mốc đã sinh kỳ cuối và chống tạo trùng khi bấm Tạo các kỳ công việc.
  • Recurring editor: lịch giới hạn 2 lần sinh đúng dữ liệu, nhưng khi mở lại form thì switch giới hạn hiển thị tắt và mô tả thành lặp vô hạn.
  • Notification bell: badge unread, popup danh sách, rule sắp đến hạn trong vòng 24 giờđã quá hạn hoàn thành đều khớp với deadline task đang có trên board; click notification mở đúng task liên quan.
  • Permission recurring: role nhân viên chỉ thấy lịch lặp của mình nhưng vẫn thấy nút Tạo lịch lặp; cần xác nhận rule vận hành có cho nhân viên tự tạo lịch lặp không.
  • Employee support flow: khi nhân viên bấm Cần hỗ trợ trên task lead giao, hệ thống đổi tiếp nhận sang Chờ phản hồi hỗ trợ và lưu timeline đúng người gửi.

Ưu tiên P3

  • People picker: search user pass, nhưng list follower dài; nên ưu tiên team hiện tại và đóng dropdown khi qua field khác.
  • Filter state: pass với fAssignee; nên bổ sung test cho URL, chip filter, count board và empty state.
  • Reminder filter: URL có fTitle nhưng màn nhắc việc vẫn hiển thị nhiều task khác; cần thống nhất filter giữa board và reminder.
  • Unsaved draft: form tạo đang đóng không cảnh báo khi có thay đổi chưa lưu; cân nhắc confirm hoặc autosave draft.
  • Task cha/con: tiến độ cha cập nhật đúng lên 1 / 1, nhưng nút tạo task con chưa tự điền task cha và còn copy title từ task cha.
  • Reminder grouping: pass với hôm nay, ngày mai, 7 ngày, 14 ngày; nên test thêm quá hạn, không deadline và timezone.
  • Assignee notification: cần login bằng account người nhận hoặc xem notification log để xác nhận thông báo khi được giao task.
  • Read state: click từng notification giảm unread count; Đọc tất cả đổi popup sang Bạn đã xem tất cả thông báo, bỏ badge đỏ và bỏ tag Chưa đọc.

Case đề xuất thêm

Checklist mô phỏng theo hướng QA/QC cho module quản lý công việc

Luồng nghiệp vụ

  • Required & data integrity: thiếu title, thiếu người thực hiện, deadline nhỏ hơn ngày bắt đầu, ngày bắt đầu rỗng, deadline rỗng, title rất dài, ký tự đặc biệt/emoji.
  • Workflow trạng thái: người được giao nhận việc, từ chối, cần hỗ trợ, chuyển Chưa bắt đầuĐang làmChờ duyệtHoàn thành, và rollback khi bị yêu cầu chỉnh sửa.
  • Permission matrix: creator, assignee, follower, lead, member thường; ai được sửa title/deadline/assignee/status, ai được xóa task, ai xem được task của bộ phận khác.
  • Task cha/con: tạo task con, hoàn thành một phần, hoàn thành toàn bộ, xóa task cha khi còn task con, đổi assignee task con khác task cha.

Reminder & recurring

  • Deadline boundary: task quá hạn đúng 0 phút, 1 phút, 23:59, qua ngày mới, cuối tháng, cuối năm, timezone Asia/Ho_Chi_Minh.
  • Notification matrix: tạo task, đổi assignee, đổi deadline, comment/tag, sắp tới hạn, quá hạn, hoàn thành, bị từ chối, cần hỗ trợ.
  • Lịch lặp: hàng ngày/tuần/tháng, ngày 29/30/31, dừng lịch lặp, sửa rule sau khi đã sinh kỳ, chống sinh trùng khi bấm tạo kỳ nhiều lần.
  • Không deadline: task không có deadline có xuất hiện ở nhắc việc không, có bị gom sai vào sắp tới hạn/quá hạn không.

UX & vận hành

  • Search/filter: filter nhiều điều kiện cùng lúc, clear filter, reload giữ filter, empty state, count board đúng khi filter theo assignee/status/group/title.
  • Unsaved changes: đóng form, đổi tab, reload trang, back browser khi có dữ liệu chưa lưu; có confirm hoặc draft không.
  • Attachment/comment: upload file quá lớn, file sai định dạng, comment rỗng, mention người dùng, xóa/sửa comment, permission follower nhận comment.
  • Responsive: mobile/tablet, sidebar collapse, board ngang nhiều cột, modal task editor không tràn màn, people picker không che nút lưu.

Audit & độ tin cậy

  • Audit log: thay đổi assignee, deadline, status, priority, checklist; log phải đúng người, đúng thời điểm, đúng nội dung thay đổi.
  • Concurrency: hai người cùng sửa một task, người A đổi assignee trong khi người B đổi deadline, tránh mất dữ liệu bản ghi sau.
  • Performance: board 100/500/1000 task, search/filter vẫn phản hồi tốt, reminder không timeout, lịch lặp sinh nhiều kỳ không treo UI.
  • Security: nhập script/HTML trong title/comment/description, link độc hại, file upload tên lạ; hiển thị phải được escape an toàn.

Dữ liệu test

Dữ liệu còn trên production với prefix [TEST Codex] và [TEST Employee Codex]

Task thường

  • Title: [TEST Codex] Task QA nhac viec va lich lap
  • ID: 6546c47a-f4a3-4470-893f-63d42869a8be
  • Assignee: Đặng Thị Thu Sương · suongdtt
  • Follower: Trình Thị Xuân Phương · phuongttx1
  • Notification overdue: [TEST Codex] Notification qua han, ID 21e5ba5e-f6d3-4645-bda9-4e01d77eeb6f
  • Self-assign/workflow: [TEST Codex] Self assign hattp, ID 29e48e1f-92d5-46be-8fb4-d5864c2e7ae6, đã nhận việc và hoàn thành trong test workflow.
  • Workflow từ chối: [TEST Codex] Workflow tu choi, ID 093d992f-44c7-4b96-8be8-eafa7024bee5, đã từ chối với lý do test.
  • Workflow cần hỗ trợ: [TEST Codex] Workflow can ho tro, ID ece9a7f5-54a7-473b-a9a4-7e06e6e62354, đang Chờ phản hồi hỗ trợ.
  • Workflow cần duyệt kết quả: [TEST Codex] Workflow can duyet ket qua, ID 637bd4ed-6d18-4d4a-bf1a-6518b4e35f8c, đã được duyệt và Hoàn thành.
  • Workflow yêu cầu sửa lại: [TEST Codex] Workflow yeu cau sua lai, ID 502c801d-cdeb-4d3a-9b2f-7ca4aefe69c6, đã yêu cầu sửa và nộp lại, hiện Chờ duyệt.
  • Workflow không đạt / mở lại: [TEST Codex] Workflow khong dat, ID ee1bf272-def6-4f3e-92cf-a8a7953ee6c7, đã bị đánh dấu Chưa đạt rồi mở lại về Yêu cầu chỉnh sửa.
  • Validation fail: [TEST Codex] Required assignee validation, ID d9457cef-dfa2-47fa-b42c-a0926a177c26, được tạo dù thiếu người thực hiện.
  • Task cha/con: [TEST Codex] Parent child progress, ID a4b84478-00ad-4a18-8b9b-2f05be4b2240; task con [TEST Codex] Child progress item, ID f788c91b-b516-45ef-a6ad-9a21ec0d6aeb, đã hoàn thành và cập nhật cha lên 1 / 1.
  • Role nhân viên: [TEST Employee Codex] Self create task employee, ID 13a4de82-2620-4b2c-8fc1-49e0fbbe5fe0, tạo bởi/assign cho Đặng Thị Thu Sương, đã nhận việc và hoàn thành.
  • Role nhân viên gửi hỗ trợ: [TEST Codex] Task QA nhac viec va lich lap, ID 6546c47a-f4a3-4470-893f-63d42869a8be, hiện Chờ phản hồi hỗ trợ sau khi Đặng Thị Thu Sương gửi yêu cầu hỗ trợ.

Lịch lặp

  • Title: [TEST Codex] Lich lap hang tuan CSKH
  • ID: 67cd15e7-8c95-4d86-b55c-ae5a9fc39f12
  • Kỳ weekly sinh ra: 14/09/2026, 21/09/2026, 28/09/2026, 05/10/2026
  • Daily: [TEST Codex] Lich lap hang ngay CSKH, ID 78b36548-0ec0-4e30-bf6c-8b9e2a3c48da, kỳ 15/09/2026, 16/09/2026, 17/09/2026
  • Monthly: [TEST Codex] Lich lap hang thang CSKH, ID 00e99d0b-8bac-4ad9-8a46-7ea5164a7014, kỳ 15/09/2026, 15/10/2026, 15/11/2026
  • Limit repeat: [TEST Codex] Limit repeat 2 times, ID fac94a7e-e60a-4869-b536-6f0a693db272, sinh đúng 2 kỳ 15/09/202616/09/2026 nhưng form mở lại hiển thị giới hạn đang tắt.
  • Deadline mỗi kỳ: 17:00