Những thực hành tồn tại để thử nghiệm đơn vị địa phương cụ thể?


17

Gần đây chúng tôi đã phát hiện ra một vấn đề cụ thể về ngôn ngữ trong ứng dụng của chúng tôi và trong khi nó rất dễ khắc phục (một khi chúng tôi đã tìm ra điều gì đang xảy ra), nhóm đã suy nghĩ về thực tiễn kiểm tra đơn vị về vấn đề này.

Chúng tôi muốn nắm bắt những vấn đề này sớm hơn, lý tưởng nhất là trước khi chúng bị khách hàng phát hiện và chúng tôi muốn bảo vệ bản thân khỏi việc giới thiệu các lỗi cụ thể của địa phương trong tương lai, nhưng sao chép mọi bài kiểm tra đơn vị trong ít nhất một nền văn hóa khác có vẻ như rất nhiều trên không.

Làm thế nào để bạn hoặc làm thế nào bạn sẽ tiếp cận thử nghiệm đơn vị đa địa phương?


1
Muốn cung cấp thêm một số chi tiết liên quan đến vấn đề bạn đã có? Nghe có vẻ thú vị, và tôi muốn biết thêm về nó.
Mchl

1
@Mchl Đó là lỗi địa phương Thổ Nhĩ Kỳ . Chúng tôi đã có một số mã so sánh chuỗi bao gồm chữ i.
Adam Lear

Câu trả lời:


4

Nói chung, bạn sẽ không cần phải sao chép mọi bài kiểm tra đơn vị. Bạn nên xác định những gì thực sự phụ thuộc vào miền địa phương (danh sách kiểm tra tốt ở đây ). Nhiều thứ liên quan đến quốc tế hóa phải chịu mức độ thử nghiệm cao hơn sau đó là thử nghiệm đơn vị.

Nếu bạn đang xử lý dữ liệu chuỗi có thể có các bảng mã khác nhau, thì bạn có thể sử dụng "kiểm tra theo hướng dữ liệu", tức là truyền dữ liệu theo các bảng mã khác nhau cho cùng một phương thức kiểm tra. Đối với Java, TestNG phù hợp nhất cho việc này.

Một vấn đề khác có thể là định dạng và phân tích ngày / giờ. Hầu hết các địa phương sử dụng: để phân tách các yếu tố thời gian, nhưng có những người sử dụng dấu chấm và người Brazil sử dụng hm và s (12h15m30s). Điều này cũng có thể được sử dụng bởi dữ liệu được truyền ở các địa phương khác nhau - bạn không cần phải kiểm tra tất cả chúng.

Và GUI thử nghiệm với các địa điểm từ phải sang trái thường không phải là một chủ đề của thử nghiệm đơn vị.

Điểm mấu chốt là bạn cần xác định dữ liệu nào trong các thử nghiệm đơn vị của mình là cụ thể theo địa phương và sử dụng thử nghiệm dựa trên dữ liệu (nhà cung cấp dữ liệu) để cung cấp dữ liệu này cho các thử nghiệm của bạn.


3

Dưới đây là một vài gợi ý:

  • Luôn phát triển trên một máy có cài đặt cục bộ khác với đối tượng mục tiêu chính của bạn. Nó sẽ giúp bạn tìm ra các lỗi liên quan đến ngày tháng, tiền tệ và mọi vấn đề định dạng số rất nhanh chóng. Làm tương tự với máy chủ xây dựng của bạn, đặt nó ở Brazil hoặc Việt Nam (không phải về mặt vật lý, chỉ là các cài đặt).

  • Sử dụng dấu và ký tự đặc biệt trong tiêu đề kiểm tra, chuỗi, v.v. trong bài kiểm tra đơn vị của bạn. Vấn đề quốc tế hóa phổ biến nhất tôi gặp phải với phần mềm tôi sử dụng (không phải phần mềm tôi phát triển) là với é và è hoặc thậm chí ç trong tiếng Pháp. Đặt chúng trong mỗi chuỗi bạn sử dụng trong các bài kiểm tra của bạn. Sử dụng một từ phổ biến bạn sử dụng tất cả các thời gian nhưbrèç©

  • Đừng quên sử dụng dấu và biểu đồ đặc biệt trong đường dẫn . Bản thân Visual Studio.NET vẫn còn nhiều vấn đề với điều đó! Bạn nên truy cập tạo các thư mục như vậy và đọc / ghi từ chúng trong các bài kiểm tra của bạn.

  • Nếu bạn sử dụng Visual Studio .NET, trong thuộc tính dự án, trong Phân tích mã , hãy bật Quy tắc toàn cầu hóa . Các vấn đề phổ biến nhất sẽ tạo ra một cảnh báo lúc biên dịch.

  • Thuê một người nước ngoài trong nhóm của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.