🍀 i18n là từ viết tắt của “internationalization” – quốc tế hóa. Từ “internationalization” có 18 ký tự, bắt đầu bằng chữ “i” và kết thúc bằng chữ “n” vì thế người ta gọi tắt là “i18n”.
Trong quá trình phát triển phần mềm, chúng ta áp dụng i18n để hỗ trợ người dùng bằng cách sử dụng nhiều ngôn ngữ và hiển thị thông tin theo khu vực khác nhau mà không cần thay đổi mã nguồn.
Vì sao i18n quan trọng?
Nếu hệ thống phần mềm của bạn là đa quốc gia, hỗ trợ người dùng trên toàn thế giới thì i18n rất quan trọng vì nó giúp sản phẩm của bạn tiếp cận thị trường toàn cầu – Một sản phẩm có khả năng hỗ trợ nhiều ngôn ngữ sẽ tiếp cận được nhiều người dùng hơn; tuân thủ quy định địa phương – vì một số quốc gia có quy định yêu cầu phần mềm phải hỗ trợ ngôn ngữ bản địa; và giúp cải thiện trải nghiệm người dùng (UX) – Người dùng có thể sử dụng phần mềm bằng ngôn ngữ họ quen thuộc, tăng sự hài lòng và gắn bó với sản phẩm của bạn.
5 khía cạnh chính của i18n
Trong lúc kiểm thử phần mềm, tester cần chú ý một số khía cạnh quan trọng của i18n như sau:
Ngôn ngữ và bản địa hóa (Localization)
- Đảm bảo văn bản được dịch chính xác và phù hợp với ngữ cảnh.
- Kiểm tra xem giao diện có hiển thị đúng với các ngôn ngữ có đặc điểm đặc biệt như tiếng Ả Rập (viết từ phải sang trái) hay tiếng Nhật (có ký tự đặc biệt).
Định dạng số, ngày giờ và đơn vị tiền tệ
- Một số quốc gia sử dụng dấu chấm “.” để phân tách phần thập phân (Ví dụ: 1,000.50 USD), trong khi Việt Nam dùng dấu phẩy “,” (Ví dụ: 123.000,50 đồng).
- Định dạng ngày tháng có thể thay đổi như MM/DD/YYYY ở Mỹ và ở Việt Nam là DD/MM/YYYY.
Độ dài văn bản
- Văn bản dịch có thể dài hơn hoặc ngắn hơn so với bản gốc, có thể gây vỡ giao diện hoặc ảnh hưởng đến trải nghiệm người dùng.
- Khi kiểm thử, nên thử với tiếng Đức
Bộ mã ký tự và hiển thị phông chữ
- Đảm bảo hệ thống mà bạn đang kiểm thử có hỗ trợ Unicode (UTF-8) để tránh lỗi hiển thị. Ví dụ, hiển thị ô vuông thay vì tiếng Việt có dấu hay tiếng Nhật.
- Kiểm tra phông chữ có hỗ trợ các ký tự của từng ngôn ngữ không.
Hỗ trợ đa ngôn ngữ và chuyển đổi ngôn ngữ
- Kiểm tra xem ứng dụng có thể thay đổi ngôn ngữ mà không cần khởi động lại hay không.
- Xác nhận rằng nội dung được tải đúng với ngôn ngữ đã chọn.
Kiểm thử i18n
Để kiểm thử i18n hiệu quả, bạn cần lưu ý những điều sau:
Lập kế hoạch kiểm thử
- Xác định danh sách các ngôn ngữ và khu vực cần kiểm thử – Hỏi PM/Khách hàng.
- Tạo test case để kiểm tra các yếu tố như bố cục, dịch thuật, chuyển đổi ngôn ngữ.
Sử dụng dữ liệu thử nghiệm
- Kiểm thử với dữ liệu đa dạng, bao gồm các ngôn ngữ có độ dài văn bản khác nhau.
- Kiểm tra với dữ liệu đặc biệt như ký tự Unicode, dấu câu, biểu tượng cảm xúc.
Kiểm thử trên nhiều thiết bị và trình duyệt
- Đảm bảo phần mềm hiển thị đúng trên các hệ điều hành, trình duyệt khác nhau.
- Kiểm tra trên cả phiên bản mobile và desktop.
Kiểm thử thủ công i18n
- Kiểm tra giao diện thủ công: Chuyển đổi ngôn ngữ trong ứng dụng và kiểm tra xem có lỗi hiển thị nào không.
- Dùng dữ liệu thử nghiệm: Nhập dữ liệu có độ dài khác nhau để kiểm tra tính linh hoạt của giao diện.
- Kiểm tra định dạng dữ liệu: Đảm bảo số, tiền tệ và ngày giờ hiển thị đúng theo từng khu vực.
- Dùng công cụ hỗ trợ:
- Google Translate Extension: Dịch nhanh nội dung để kiểm tra chất lượng bản dịch.
- Locale Switcher (Chrome Extension): Chuyển đổi nhanh ngôn ngữ trình duyệt để kiểm thử bản địa hóa.
- Pseudo-localization tools: Kiểm tra cách hiển thị văn bản mở rộng, như “PseudoLocalization“.
Tự động hóa kiểm thử i18n
- Sử dụng công cụ như Selenium, Appium để tự động hóa kiểm thử giao diện và nội dung.
- Áp dụng snapshot testing để so sánh giao diện giữa các ngôn ngữ.
Kiểm thử i18n tự động với Selenium
Yêu cầu giả định
Một công ty phát triển ứng dụng thương mại điện tử có kế hoạch mở rộng sang nhiều quốc gia. Họ cần đảm bảo rằng trang web hỗ trợ nhiều ngôn ngữ khác nhau và hiển thị đúng nội dung bản địa hóa.
Giải pháp đề xuất
Đội ngũ kiểm thử đã sử dụng Selenium WebDriver để tự động hóa kiểm thử i18n bằng cách:
- Tạo tập dữ liệu ngôn ngữ: Danh sách các ngôn ngữ được hỗ trợ (ví dụ: Tiếng Anh, Tiếng Việt, Tiếng Đức, Tiếng Nhật).
- Viết script Selenium: Mô phỏng người dùng chuyển đổi ngôn ngữ và kiểm tra các phần tử quan trọng như tiêu đề, nút, mô tả sản phẩm.
- So sánh ảnh chụp màn hình: Dùng Applitools Eyes để kiểm tra giao diện giữa các ngôn ngữ nhằm phát hiện lỗi hiển thị.
- Kiểm tra định dạng dữ liệu: Sử dụng Selenium để kiểm tra xem số, tiền tệ và ngày tháng có hiển thị đúng với từng quốc gia không.
Kết quả
Script tự động trên có thể giúp bạn đạt được một số điều sau:
- Phát hiện lỗi hiển thị khi chuyển đổi từ tiếng Anh sang tiếng Nhật do văn bản quá dài
- Phát hiện lỗi sai định dạng tiền tệ ở trang thanh toán cho thị trường châu Âu
- Giảm thời gian kiểm thử thủ công xuống 60% nhờ tự động hóa
Kết luận
i18n là một phần quan trọng trong kiểm thử phần mềm, giúp sản phẩm tiếp cận người dùng toàn cầu một cách mượt mà. Với tư cách là tester, việc hiểu rõ các khía cạnh của i18n và áp dụng các phương pháp kiểm thử phù hợp sẽ giúp đảm bảo chất lượng sản phẩm, tránh lỗi phát sinh khi triển khai ra thị trường quốc tế.
Hy vọng bài viết này sẽ giúp bạn có cái nhìn tổng quan và bắt đầu kiểm thử i18n một cách hiệu quả!