Trường chọn quốc gia trông đơn giản tới mức nhiều nhóm bỏ qua nó khi viết kiểm thử. Nhưng đây là ô nhập mà gần như mọi biểu mẫu đều có, và nó nằm ở giao diện giữa người dùng với phần còn lại của hệ thống. Một lỗi nhỏ ở đây sẽ lan sang địa chỉ, giấy tờ, vận chuyển và tiền tệ. Bài này gom lại những nhóm kiểm tra dễ bị bỏ sót nhất.
Trường chọn quốc gia thường có những dạng nào?
Có bốn dạng phổ biến, và mỗi dạng cần một bộ ca kiểm thử khác nhau. Dạng thứ nhất là danh sách chọn truyền thống, mở ra một danh sách dài và người dùng cuộn để tìm. Dạng thứ hai là ô nhập kèm gợi ý, người dùng gõ vài ký tự rồi chọn từ danh sách rút gọn. Dạng thứ ba là ô nhập tự do không có gợi ý. Dạng thứ tư là kết hợp giữa ô nhập và danh sách chọn, dùng khi cần hỗ trợ cả tìm nhanh và tra cứu đầy đủ.
Mỗi dạng có rủi ro riêng. Danh sách dài dễ làm người dùng chọn nhầm dòng, đặc biệt khi hai mục nằm cạnh nhau trong danh sách. Ô nhập kèm gợi ý phụ thuộc hoàn toàn vào chất lượng tìm kiếm. Ô nhập tự do thì mở ra toàn bộ vấn đề chuẩn hoá chuỗi. Dạng kết hợp gom rủi ro của cả ba, nhưng lại là dạng phù hợp nhất cho biểu mẫu dài.
Trước khi viết ca kiểm thử, hãy xác định biểu mẫu của bạn dùng dạng nào. Nhiều lỗi chỉ tồn tại ở một dạng, và nếu bạn không biết mình đang kiểm thử dạng gì thì kết quả sẽ khó diễn giải.
Một điểm cần chốt ngay từ đầu là hệ thống lưu gì khi người dùng chọn. Nếu nó lưu tên hiển thị thay vì một mã ổn định, thì mọi thay đổi về sau trong danh sách đều có thể làm hỏng dữ liệu cũ. Đây là loại lỗi chỉ lộ ra sau nhiều tháng.
Tìm kiếm phải khớp được những cách viết nào
Người dùng hiếm khi gõ đúng tên mà hệ thống đang hiển thị. Họ có thể gõ thiếu dấu, gõ khác dấu, gõ sai chữ hoa chữ thường, hoặc gõ một cách viết khác mà họ đã quen. Một ô tìm kiếm chỉ khớp chính xác sẽ khiến người dùng tưởng rằng nơi họ cần không có trong danh sách.
Vì vậy nhóm kiểm tra đầu tiên là nhóm về cách viết. Hãy thử gõ tên với chữ hoa ở giữa, gõ toàn chữ thường, gõ thiếu dấu và gõ đủ dấu. Với mỗi biến thể, kết quả đúng là gợi ý vẫn hiện ra, hoặc có một thông báo rõ ràng rằng không tìm thấy.
Nhóm thứ hai là nhóm về tiền tố và khoảng trắng. Nhiều hệ thống khớp từ đầu chuỗi thay vì khớp ở giữa, và điều đó khiến người dùng gõ một từ ở giữa tên không ra kết quả. Khoảng trắng thừa ở đầu và cuối chuỗi cũng là nguyên nhân thường gặp khiến tìm kiếm trả về danh sách rỗng.
Nhóm thứ ba là nhóm về thứ tự từ. Tên của nhiều nơi gồm nhiều từ, và người dùng có thể gõ theo thứ tự khác với thứ tự trong danh sách. Một số hệ thống xử lý được việc này, một số thì không, và điều quan trọng là bạn biết hệ thống của mình thuộc loại nào để ghi vào tài liệu.
Cuối cùng, hãy kiểm tra trường hợp có nhiều kết quả khớp và trường hợp không có kết quả nào. Cả hai đều cần một trạng thái hiển thị rõ ràng, vì đây là lúc người dùng dễ bỏ cuộc nhất.
Vì sao phải sắp xếp theo quy tắc của ngôn ngữ
Sắp xếp theo thứ tự bảng chữ cái nghe thì đơn giản, nhưng quy tắc sắp xếp khác nhau giữa các ngôn ngữ. Thứ tự của các chữ cái có dấu không giống nhau ở mọi nơi, và việc xử lý dấu như một phần của chữ hay như một ký tự riêng cũng khác nhau.
Hệ quả là nếu danh sách được sắp xếp bằng một quy tắc cố định, người dùng ở một số nơi sẽ thấy danh sách trông như bị xáo trộn. Họ sẽ mất thời gian cuộn thay vì gõ, và với danh sách dài thì đó là trải nghiệm tệ.
Một vấn đề nữa là sắp xếp không được phép phụ thuộc vào ngôn ngữ giao diện một cách cứng nhắc. Nếu người dùng đang đọc giao diện bằng thứ tiếng này nhưng lại cần tìm theo cách viết của một thứ tiếng khác, hệ thống nên xử lý được cả hai.
Trong kiểm thử, cách làm thực tế là chọn vài mục đứng gần nhau và kiểm tra thứ tự hiển thị của chúng trong ít nhất hai ngôn ngữ có quy tắc sắp xếp khác nhau. Chỉ cần vài ca như vậy là đủ để phát hiện việc sắp xếp đang bị viết cứng.
Bạn cũng nên kiểm tra xem việc sắp xếp có được áp dụng sau khi lọc hay không. Một lỗi khá phổ biến là danh sách ban đầu được sắp xếp đúng, nhưng khi người dùng gõ để lọc thì kết quả lại trả về theo thứ tự ngẫu nhiên.
Bàn phím và trình đọc màn hình thì kiểm thử thế nào?
Đây là nhóm bị bỏ qua nhiều nhất, dù nó ảnh hưởng tới một nhóm người dùng thật. Với trường chọn quốc gia, người dùng bàn phím cần làm được bốn việc: mở danh sách, di chuyển giữa các mục, chọn một mục, và đóng danh sách mà không chọn gì.
Với mỗi việc, hãy thử cả phím mũi tên lẫn việc gõ ký tự đầu để nhảy tới mục gần nhất. Hành vi thứ hai thường không được hỗ trợ, và đó là một thiếu sót đáng sửa vì nó đúng với kỳ vọng của người dùng thành thạo.
Trình đọc màn hình cần đọc được ba thứ: nhãn của ô nhập, mục đang được chọn, và số lượng kết quả khi người dùng đang gõ để tìm. Thiếu thông tin thứ ba, người dùng không biết mình nên gõ thêm hay nên mở danh sách ra.
Một ca kiểm thử hữu ích là thao tác toàn bộ biểu mẫu chỉ bằng bàn phím, từ ô đầu tiên tới nút gửi, và ghi lại chỗ nào làm mất tiêu điểm. Những chỗ mất tiêu điểm thường là nguyên nhân gốc của các lỗi trợ năng khác.
Cuối cùng, hãy nhớ kiểm tra trạng thái lỗi. Khi biểu mẫu báo lỗi ở trường chọn quốc gia, thông báo lỗi phải được đọc lên, và tiêu điểm nên quay về đúng ô đó. Nếu không, người dùng bàn phím sẽ phải tự dò lại từ đầu biểu mẫu.
Đổi quốc gia thì những trường nào phải tính lại
Trường chọn quốc gia hiếm khi đứng một mình. Thay đổi nó thường kéo theo việc tính lại các trường khác, và đây là nguồn lỗi lớn nhất của ô nhập này.
Vài thứ thường phải tính lại:
- Danh sách các cấp hành chính trung gian, vì tên và cách chia không giống nhau giữa các nơi.
- Nhãn của các trường liên quan, vì thứ tự và cách gọi có thể khác nhau.
- Danh sách các loại giấy tờ được chấp nhận, vì mỗi chế độ có quy định riêng.
- Cách kiểm tra định dạng của số điện thoại, mã bưu chính và số giấy tờ, vì các trường này không dùng chung một quy tắc.
- Đơn vị tiền tệ và cách hiển thị giá trị, vì cả hai đều gắn với nơi đang xét.
Cách kiểm thử đúng là thay đổi giá trị của ô này rồi quan sát toàn bộ biểu mẫu, chứ không chỉ quan sát chính ô đó. Đặc biệt cần kiểm tra trường hợp người dùng đã nhập dữ liệu vào các trường phụ thuộc rồi mới đổi nơi. Hệ thống nên xử lý việc này theo một quy tắc đã định, và quy tắc đó phải được nói rõ với người dùng.
Cũng nên kiểm tra việc đổi qua lại nhiều lần giữa hai nơi. Một số lỗi chỉ xuất hiện khi giá trị bị đổi đi đổi lại, vì trạng thái cũ không được dọn sạch.
Phần dành cho nhà phát triển: lưu tên hiển thị và mã riêng
Nguyên tắc quan trọng nhất là lưu hai thứ tách biệt: một mã ổn định để tham chiếu, và một tên hiển thị theo ngôn ngữ để đọc. Mã không đổi khi tên đổi, và tên có thể đổi khi ngôn ngữ giao diện đổi.
Vài điểm nên chốt:
- Dùng mã ổn định làm giá trị gửi lên và lưu xuống, không dùng tên hiển thị.
- Kiểm thử việc sắp xếp và tìm kiếm với ít nhất hai ngôn ngữ có quy tắc khác nhau.
- Kiểm thử biểu mẫu chỉ bằng bàn phím, và ghi lại những chỗ mất tiêu điểm.
- Cho việc đổi nơi một quy tắc rõ ràng: xoá, giữ, hay hỏi lại người dùng.
- Giữ một bộ ca cố định cho những tổ hợp đã từng gây lỗi.
Muốn thử tay vài trường hợp, bạn có thể mở danh mục quốc gia và vùng lãnh thổ rồi xem cách các mục được trình bày, ví dụ Nhật Bản. Những mục danh sách, cách viết và dữ liệu người dùng nhập nêu trong bài chỉ là ví dụ do bài tự dựng ra để minh hoạ các ca kiểm thử; chúng không phải dữ liệu thật của bất kỳ cá nhân hay tổ chức nào và không dùng được làm bằng chứng nghiệp vụ.
Bước tiếp theo
Hãy chọn một biểu mẫu đang chạy và kiểm thử riêng ô chọn nơi cư trú theo bốn nhóm trên. Sau đó, bài quốc gia và ngôn ngữ khác nhau giải thích vì sao ngôn ngữ giao diện không được dùng để suy ra quy tắc định dạng, còn bài kịch bản địa chỉ xuyên biên giới nói về những lúc một biểu mẫu phải xử lý nhiều nơi cùng lúc.