1. Mô tả lỗi
Hard-code trong automation là việc ghi cố định trực tiếp vào test script các giá trị như:
-
dữ liệu test
-
locator
-
URL
-
account
-
timeout
-
đường dẫn file
thay vì lấy từ cấu hình hoặc nguồn dữ liệu bên ngoài.
Hậu quả:
-
khó tái sử dụng
-
khó bảo trì
-
dễ sai khi đổi môi trường, dữ liệu hoặc luồng test
2. Nguyên nhân phổ biến
2.1. Viết test nhanh, không thiết kế cấu trúc
-
tập trung cho test chạy được trước
-
chưa tách cấu hình và dữ liệu
2.2. Không áp dụng data-driven / config-driven
-
chưa có file config
-
chưa có data source
2.3. Không chuẩn hóa locator
-
locator viết trực tiếp trong từng test
-
không có Object Repository / Page Object
2.4. Thiếu quy ước trong team
-
mỗi người viết một kiểu
-
không có guideline
3. Dấu hiệu nhận biết
-
Trong code xuất hiện nhiều giá trị cố định như:
-
URL
-
username / password
-
xpath
-
thời gian wait
-
-
Khi đổi môi trường hoặc đổi dữ liệu:
→ phải sửa rất nhiều file test.
4. Cách khắc phục (thực tế nên làm)
4.1. Tách cấu hình ra file riêng
Ví dụ:
-
base URL
-
timeout
-
browser / device
4.2. Áp dụng data-driven cho dữ liệu test
-
tách input / expected ra file data
-
test script chỉ đọc dữ liệu
4.3. Chuẩn hóa locator
-
dùng Page Object / Object Repository
-
không viết xpath trực tiếp trong test case logic
4.4. Dùng biến và config thay vì giá trị cứng
-
không cho hard-code dữ liệu môi trường
-
không cho hard-code locator trong test logic