Đối với 1 nhân viên kiểm thử phần mềm, không ít lần chúng ta gặp khó khăn trong việc define ra các nội dung cần phải thực hiện kiểm thử khi được DEV đưa cho 1 màn hình / 1 function và yêu cầu chúng ta kiểm thử. 1 màn hình với rất nhiều item: text, button, dropdownlist, tooltip... có hoạt động đúng không hay đến cả 1 dấu chấm dấu phẩy có được đặt đúng chỗ không cũng đều là những nội dung mà 1 nhân viên kiểm thử cần phải có trong bộ testcase của mình và phải đảm bảo mình đã xác nhận đủ.
Mình xin được tổng hợp lại các nội dung cần kiểm tra cơ bản như dưới đây dựa trên 2 bài báo khá hay mà mình đã tìm được với mục đích
- Giúp các bạn new tester biết được các nội dung mình cần phải kiểm tra với 1 đối tượng
- Giúp các bạn tester đã làm nhiều năm soát lại xem testcase của mình còn sót nội dung nào chưa được kiểm tra không
I. Common Checklist
- Trường bắt buộc: phải validate, gắn dấu (*)
- Message báo lỗi validate: phải hiển thị ở vị trí hợp lý để end user biết đang bị lỗi ở trường nào
- Các Error message: phải hiển thị với cùng 1 kiểu style CSS
- Các Confirm message: phải hiển thị với cùng 1 kiểu style CSS và khác với Error message
- Tooltips: nội dung Tooltips phải có nghĩa
- Drop-down list: phải có mục nhập đầu tiên dưới dạng để trống hoặc text 'Select'
- Delete Record: cần hiển thị message yêu cầu xác nhận trước khi xóa
- Add/Delete/Update Record: nên thêm option Select All/Deselect All (chọn tất cả item, bỏ chọn tất cả item)
- Trường số tiền: cần hiển thị kèm đơn vị tiền tệ, theo đúng ký hiệu tiền tệ được quy định trong spec
- Sorting: Cần set Default sorting
- Reset button: Cần set tất cả các trường về giá trị mặc định khi click button Reset
- Các giá trị số: phải được set kiểu định dạng hợp lý
- Max value of field: Các trường input cần được kiểm tra giá trị max. Khi input các giá trị lớn hơn giới hạn max thì cần báo fail và không được lưu vào database
- Special character: Kiểm tra input kí tự đặc biệt ở tất cả các trường
- Label trường: phải đặt tên trường theo tiêu chuẩn chung
- Sorting: Kiểm tra sort trang sau khi thêm/cập nhật/xóa bất kì record nào
- Timeout: Cần thiết lập 1 khoảng thời gian timeout hợp lý cho hệ thống. Kiểm tra phản hồi của app sau khi hệ thống bị timeout.
- Cookies: Kiểm tra ứng dụng đang dùng những cookies nào, việc dùng các cookies đó có hợp lý không, có gây ra vấn đề gì không
- Download file: Xác nhận các file tải xuống đang trỏ đến đường dẫn chính xác
- Resource key: phải được cấu hình trong file config hoặc database thay vì hard code (fix cứng dữ liệu trong đoạn code.)
- Resource key: cần đặt tên resource key theo quy ước tiêu chuẩn và các quy ước này cần được áp dụng xuyên suốt trong toàn hệ thống
- Validate Markup: Xác thực markup cho tất cả các trang web (xác thực HTML và CSS cho các lỗi cú pháp) để đảm bảo nó tuân thủ các tiêu chuẩn
- App crash/ trang không khả dụng: cần thiết kế 1 trang web với nội dung hợp lý để trong trường hợp application bị crash hoặc hệ thống đang bị lỗi/ đang maintain, không thể access vào được thì sẽ redirect đến trang web báo lỗi này
- Spelling/Grammatical error: Cần thực hiện kiểm tra lỗi chính tả và ngữ pháp cho các text/article/blog ... trên website
- Numeric field: Nhập các kí tự không phải số vào các trường số. Cần hiển thị message validate với nội dung hợp lý.
- Numeric field: Nhập số âm vào các trường số (xử lý thành công - thất bại theo đúng spec)
- Số thập phân: check với kiểu dữ liệu số thập phân (xử lý thành công - thất bại theo đúng spec )
VD: nếu là trường setting số coloumn, số row, số tuổi... thì ko cho phép nhập số thập phân
nếu là trường setting số ngày nghỉ phép thì cho phép nhập số thập phân: 0,5 ; 1 - Button: kiểm tra hoạt động của các button có trên các trang web
- Button: user không thể submit 1 trang 2 lần bằng cách click button submit 2 lần liên tiếp
- Calculate: Cần xử lí lỗi chia cho 0
- Space: Khi nhập dữ liệu bị thừa khoảng trắng ở đầu hoặc cuối thì các ký tự space bị thừa này cần phải được xử lý hợp lý theo spec của KH
- Privacy Policy & FAQ: được define rõ ràng và phải available cho người dùng
- Homelink: cần xuất hiện ở mỗi page
II) GUI & Usability
- Align: Tất cả các trường trên 1 trang (Ví dụ: text box, radio options, drop-down lists) phải được căn chỉnh thẳng hàng theo lề trái phải, trên dưới
- Numeric field: Các con số phải được căn trái, căn phải hợp lý trên màn hình, trừ khi có lý do đặc biệt khác
- Space: Cần set khoảng trống hợp lý giữa các label, cột, hàng, error message, ...
Các item không được sát sịt vào nhau, cũng không được quá cách xa nhau - Scrollbar: chỉ enable scrollbar dọc khi nội dung của trang web vượt quá chiều dọc của màn hình
chỉ enable scroll bar ngang khi nội dung của trang web vượt quá chiều ngang của màn hình - Font/size/color: header, footer, label, hay chuỗi ký tự nhập vào các trường cần phải được hiển thị với kích thước chữ to nhỏ, kiểu chữ Arial Time News Roman, màu sắc ... theo đúng tiêu chuẩn font/size/color ghi trong spec
"6. Description text: vì nội dung trường này thường khá dài nên cần phải được ngắt xuống dòng để phù hợp với layout của trang web.
(Nếu không xử lý xuống dòng sẽ gây ra tràn ra border màn hình)
" - Disable field: phải bị greyout và user không thể đặt con trỏ chuột để edit các trường này
- Mouse arrow: Khi click vào trường nhập text, con chuột cần phải chuyển từ hình mũi tên => con trỏ
- Drop-down list: xác nhận user không thể nhập text vào trường Drop-down list
- Submit form: Sau khi bị báo lỗi submit, những thông tin đã nhập vào phải được giữ nguyên, không bị xóa đi. User chỉ cần sửa thông tin những trường nào bị sai rồi submit lại.
- Error message: Phải mention đúng tên label của các trường trong Error Message
- Drop-down: phải được hiển thị theo thứ tự sắp xếp xác định.
- Tab & Shift+Tab: hoạt động bình thường
- Radio button: Giá trị default phải được select sẵn khi load page
- Msg trợ giúp cho các page và các trường đặc định phải được available
- Submit form: Kiểm tra trong trường hợp submit thất bại thì trường nhập đúng có bị highlight nhầm hay không
- Drop-down list: Kiểm tra xem các option của drop-down list có thể đọc được và không bị cắt bớt do giới hạn kích thước trường
- Shortcut-key: Tất cả các button trên trang phải truy cập được khi end user muốn sử dụng các phím tắt trên bàn phím và có thể thực hiện đầy đủ các thao tác bằng phím tắt
- Image: Kiểm tra ảnh vỡ trên tất cả các trang
- Link: Kiểm tra link hỏng trên tất cả các trang
- Title: Tất cả các trang đều phải có title
- Confirm message: Cần hiển thị Confirm Message trước khi thực hiện Update hay Delete
- Busy application: Nên hiển thị đồng hồ cát (~ loading icon) khi app đang loading, xử lý 1 action nào đó.
- Text: phải được căn trái
- Radio: User chỉ được chọn 1 radio option
Checkbox: User có thể chọn nhiều giá trị Checkbox" - Dropdown: Xác nhận rằng các item trong dropdownlist không bị truncate do độ rộng của trường. Ngoài ra kiểm tra xem giá trị trong dropdownlist này là fix cứng trong code hay là giá trị được update liên tục qua 1 logic khác (add vào từ Backend hoặc từ DB)
- Leap year: Xác nhận rằng các số liệu ngày tháng của năm nhuận (ngày 29 tháng 2, ...) được validate chính xác và không gây ra lỗi hệ thống, không bị tính toán sai.
-
End user có thể chạy hệ thống mà không có bất kỳ sự thất vọng, khó khăn, trở ngại nào
Hi vọng bài blog này sẽ giúp các bạn sẽ có base cơ bản, từ đó sẽ tự tạo cho mình thêm nhiều quan điểm test hơn nữa để trở thành 1 tester giỏi.
Mình sẽ post bài Phần 2 sớm để các bạn tham khảo.
Link tham khảo
https://www.softwaretestinghelp.com/sample-test-cases-testing-web-desktop-applications/
https://www.guru99.com/complete-web-application-testing-checklist.html
Leave a Reply