Lượt đọc: 233
Đổi mật khẩu là chức năng cần có đi kèm với màn hình login, khi người dùng thường quên mật khẩu mà không note lại. Nếu thực hiện login sai mật khẩu nhiều lần liên tiếp thì tài khoản có thể bị khóa bởi hệ thống, do đó việc tốt nhất là thực hiện đổi lại mật khẩu mới. Bài viết sau đây sẽ gợi ý cho bạn cách viết test case cho chức năng đổi mật khẩu (forgot password).
NỘI DUNG CHÍNH
UI cases
Hướng dẫn viết test case cho chức năng đổi mật khẩu – Check list UI
1. Xác minh rằng UI trên màn hình như: text, color, font, size, placeholder, hover, image, align … được hiển thị giống như design.
2. Xác minh rằng thứ tự tab index đúng như design mô tả.
3. Xác minh rằng giá trị khởi tạo khi mở màn hình đúng như design mô tả. (để trống các textbox nhập password)
4. Xác minh rằng textbox password có format nhập đúng như design mô tả. (ví dụ: password cần có ít nhất 1 chữ hoa, 1 chữ thường, 1 chữ số, 1 kí tự đặc biệt,…)
5. Xác minh min length, max length của textbox password. (ví dụ: 8-50 kí tự)
6. Màn hình có được hiển thị responsive trên các thiết bị PC, Table, Mobile có kích cỡ khác nhau hay không.
7. Màn hình có thân thiện với người dùng hay không. (ví dụ: giao diện đơn giản, button link nằm ở vị trí dễ tìm, khi hover thì có hiệu ứng để người dùng dễ nhận biết,…)

Function cases
Hướng dẫn viết test case cho chức năng đổi mật khẩu – Check list Function
8. Xác minh rằng khi chưa nhập email và nhấn gửi yêu cầu thì hiện thông báo cần nhập email đã đăng ký.
9. Xác minh rằng khi nhập email tồn tại trong hệ thống nhưng đã dừng hoạt động thì nhấn gửi yêu cầu không thành công và hiện thông báo (ví dụ: Email đã dừng hoạt động, liên hệ với admin để được hỗ trợ).
10. Xác minh rằng khi nhập email tồn tại trong hệ thống và đang hoạt động thì nhấn gửi yêu cầu thành công, hiện thông báo đã gửi link thiết lập lại password đến email.
11. Xác minh rằng link thiết lập lại password được gửi đến email của người dùng trong vòng vài phút (0~5 phút) sau khi người dùng gửi yêu cầu.
12. Xác minh rằng khi người dùng không nhận được email để thiết lập lại password thì có cơ chế xử lý phù hợp (ví dụ: nhấn gửi lại, liên hệ với admin qua số điện thoại hoặc email).
13. Xác minh rằng hệ thống có giới hạn số lần người dùng yêu cầu cấp lại mật khẩu mới trong một khoản thời gian ngắn.
14. Xác minh rằng khi nhập password mới không đúng format thì hiện thông báo cần nhập đúng format password.
15. Xác minh rằng khi đang bật Caps lock thì khi focus vào textbox password cần hiện cảnh báo đang bật Caps lock cho người dùng.
16. Xác minh rằng chức năng quên mật khẩu hoạt động được trên các thiết bị di động.
17. Xác minh rằng chức năng forgot password hoạt động được trên các trình duyệt khác nhau: Edge, Chrome, Safari, Firefox,…
18. Xác minh rằng khi nhập confirm password không giống với password thì hiện thông báo cần nhập giống.
19. Xác minh rằng sau khi thực hiện đổi password mới thành công thì hệ thống sẽ cập nhật password mới vào database.
20. Xác minh rằng sau khi thực hiện đổi password mới thành công thì có hiển thị thông báo đã đổi password thành công lên màn hình cho người dùng biết.
21. Xác minh rằng sau khi thực hiện đổi password mới thành công thì khi truy cập vào link sẽ hiện trang cảnh báo link đã hết hạn.
22. Xác minh rằng sau khi thực hiện đổi password mới thành công thì người dùng có thể login thành công với password mới.
23. Xác minh rằng sau khi thực hiện đổi password mới thành công thì người dùng không thể login thành công với password cũ.
24. Xác minh rằng hệ thống chỉ cho phép nhấn submit đổi password 1 lần, không cho nhấn nhiều lần liên tiếp.
25. Xác minh rằng nếu hệ thống tự cấp mật khẩu mới cho người dung qua email thì mật khẩu cần đủ mạnh và an toàn.
26. Xác minh rằng người dùng có thể login thành công với mật khẩu mới mà hệ thống đã cấp.
Security cases
Hướng dẫn viết test case cho chức năng đổi mật khẩu – Check list Security
27. Xác minh rằng khi nhập tại password thì hiện dấu ***
28. Xác minh rằng khi nhấn vào icon con mắt tại textbox password thì sẽ cho ẩn hiện password.
29. Xác minh rằng thông tin password không lưu lại trong html source, cookie.
30. Xác minh rằng hệ thống có giới hạn số lần người dùng có thể gửi yêu cầu quên mật khẩu. (ví dụ chỉ được phép gửi yêu cầu 3 lần trong 10 phút)
31. Xác minh rằng không cho phép copy password đã được nhập trên màn hình.
32. Xác minh rằng password được đặt lại được lưu mã hóa trong database (MD5, SHA, Bcrypt,…).
33. Xác minh hệ thống có log lại các thông tin cần thiết như ip address, device id, thời gian thay đổi password,…
34. Xác minh rằng khi hệ thống bị lỗi, trong quá trình maintenance hay ngoài giờ hoạt động cần hiển thị thông báo phù hợp.
35. Xác minh rằng hệ thống có bảo vệ thông tin người dùng (tên người dùng, địa chỉ email, mật khẩu mới).
36. Xác minh rằng hệ thống chống được tấn công XSS: nhập mã html, script, iframe,… vào textbox và submit để kiểm tra.
37. Xác minh rằng hệ thống chống được tấn công SQL injection.
38. Xác minh rằng hệ thống chống được tấn công DDOS.
Performance cases
Hướng dẫn viết test case cho chức năng đổi mật khẩu – Check list Performance
39. Xác minh rằng có thể thực hiện đổi password bình thường khi có một lượng lớn tài khoản trong database.
40. Xác minh rằng có thể thực hiện đổi password bình thường khi ổ cứng server đang gần hết dung lượng.
Lời kết
Dựa vào checklist trên bạn có thể xây dựng cho mình bộ test case để kiểm thử chức năng đổi mật khẩu tài khoản. Bạn có thể góp ý bổ sung thêm một số checklist khác còn thiếu qua phần bình luận bên dưới nhé.
Cảm ơn bạn đã theo dõi hết bài viết. Cùng nhau đón đọc nội dung mới trong những bài viết tiếp theo trong series Manual – Đọc gì học gì (docgihocgi.com) nhé.