Chuyển tới nội dung chính

Ví dụ

Best Practices​

Đặt tên Test Case​

✓ TC_DKDL_CHON (Tên nghĩa, rõ ràng)
✓ TC_LOGIN_VALID_USER (Chứa flow logic)
✗ TC_001 (Quá chung chung)
✗ TC_TEST TEST (Chứa khoảng trắng)

Viết Description​

✓ "Chọn menu DKDL và nhập dữ liệu hợp lệ"
✓ "Login với user invalid, xác nhận lỗi"
✗ "Test"
✗ "Chạy flow"

Tổ chức DataSet​

✓ DKDL_DATA, LOGIN_DATA, COMMON_DATA (Tên rõ ràng)
✓ row1, row2, row3 (Đánh số tuần tự)
✗ data1, data2, d1, d2 (Tên mơ hồ)

Locator chất lượng cao​

✓ #user_input (Có ID rõ ràng)
✓ button:Lưu (Role-based, text rõ)
✗ div > span > input (Quá phụ thuộc CSS)
✗ //*[1]/… (XPath quá dài)

Step descriptions rõ ràng​

✓ "Nhập email: admin@test.com"
✓ "Click button 'Lưu' và kiểm tra thông báo"
✗ "Điền"
✗ "Click"

Chia test case nhỏ​

✓ TC_DELETE_01: Chọn item, click Xóa, confirm
✓ TC_DELETE_02: Chọn many items, bulk delete
✗ 1 TC chứa 50 steps (quá phức tạp, khó debug)

Ví dụ hoàn chỉnh​

Test Case đơn giản (Không dùng DataSheet)​

TestCases sheet:

TC_ID | Description | DataSet | Run
TC_LOGIN_SIMPLE | Login với hardcode data | (empty) | Y

Steps sheet:

TC_ID | Step_No | Description | Action | Locator | Value
TC_LOGIN_SIMPLE | 1 | Mở trang login | goto | (empty) | ${DOMAIN}/login
TC_LOGIN_SIMPLE | 2 | Điền username | fill | #user_input | admin
TC_LOGIN_SIMPLE | 3 | Điền password | fill | #pass_input | pass123
TC_LOGIN_SIMPLE | 4 | Click login | click | button:Đăng nhập | (empty)
TC_LOGIN_SIMPLE | 5 | Kiểm tra thành công | expectURL | (empty) | ${DOMAIN}/home

Test Case dùng DataSheet​

TestCases sheet:

TC_ID | Description | DataSet | Run
TC_LOGIN_DATA | Login với DataSheet | LOGIN_DATA | Y

Steps sheet:

TC_ID | Step_No | Description | Action | Locator | Value
TC_LOGIN_DATA | 1 | Mở trang login | goto | (empty) | ${DOMAIN}/login
TC_LOGIN_DATA | 2 | Nhập dữ liệu user1| fillData | (empty) | LOGIN_DATA.row1
TC_LOGIN_DATA | 3 | Click login | click | button:Đăng nhập | (empty)
TC_LOGIN_DATA | 4 | Kiểm tra thành công| expectText | (empty) | Trang chủ

LOGIN_DATA sheet:

DataID | user_input | pass_input | role_select
id | #email | #password | #role
row1 | admin | admin123 | Admin
row2 | user | user123 | User

Test Case với Popup/Tab​

Steps sheet:

TC_ID | Step_No | Description | Action | Locator | Value
TC_POPUP_01 | 1 | Mở trang | goto | (empty) | ${DOMAIN}/home
TC_POPUP_01 | 2 | Click nút mở popup | waitForNewPageAfterClick| button:Chi tiết | (empty)
TC_POPUP_01 | 3 | Điền dữ liệu popup | fill | #name_in_popup | Test Data
TC_POPUP_01 | 4 | Click Lưu popup | click | button:Lưu | (empty)
TC_POPUP_01 | 5 | Đóng popup | closePage | (empty) | (empty)
TC_POPUP_01 | 6 | Kiểm tra quay về main| expectURL | (empty) | ${DOMAIN}/home