Что такое тест в Турции?

Я наткнулся на слово «Тест Турции», узнав о тестировании кода. Я не знаю, что это значит.

Что такое тест в Турции? Почему это так называется?

Проблема Турции связана с интернационализацией программного обеспечения или просто с его неправильным поведением в различных языковых культурах.

В разных странах существуют разные стандарты написания дат (14.04.2008 в Турции и 4/14/2008 в США), цифры (т.е. 123,45 в Польше и 123,45 в США) и правила о верхнем индексе характера (например, в Турции с буквами i, I и ı).

Как указал Джефф Мозер, проблема была названа турецким пользователем, который впервые обнаружил ошибку в функции ToUpper() . Более подробная информация приведена ниже.

Однако проблема не ограничивается Турцией и перестраивает конверсии.

В Польше и многих других странах даты и цифры также написаны с различными манерами и проблемами, связанными с датой или интерпретацией чисел, также называются проблемой Турции .

Ссылки с Google search for Turkey Проблема с деталями уже дана:

  • Проводит ли ваш код тест индейки Джеффом Мозером,
  • Что случилось с Турцией? Джеффом Этвудом.

Здесь описано испытание индейки

Забудьте об Турции, это даже не пройдет в США. Вам нужно нечувствительное к регистру сравнение. Итак, вы пытаетесь:

 String.Compare(string,string,bool ignoreCase): 

….

Проходят ли какие-либо из них «Тест Турции?»

Не случайно!

Причина: Вы попали в проблему «Турецкий я».

Как обсуждается партиями и множеством людей, «я» на турецком языке ведет себя иначе, чем на большинстве языков. В стандарте Unicode наш строчный «i» становится «İ» (U + 0130 «Письменное письмо с буквой I с точкой выше»), когда он перемещается в верхний регистр. Аналогично, наш верхний регистр «I» становится «ı» (U + 0131 «Латинская малая буква Dotless I»), когда он перемещается в нижний регистр.

Мы пишем даты меньше по размеру, чем dd.MM.yyyy: 28.10.2010

Мы используем «.» (Точка) для разделителя тысяч и «,» (запятая) для разделителя с разделителями: 4.567,9

Имеем ö => Ö, ç => Ç, ş => Ş, ğ => Ğ, ü => Ü, и, самое главное, ı => I и i => İ ; другими словами, нижний регистр верхнего I является бесчисленным, а верхний регистр нижнего i пунктирован.

Люди могут иметь очень стрессовые времена из-за бессмысленных ошибок, вызванных вышеуказанными правилами.

Если ваш код правильно работает в Турции, он, вероятно, будет работать где угодно.

Так называемый «тест Турции» связан с интернационализацией программного обеспечения. Одной из проблем глобализации / интернационализации является то, что форматы даты и времени в разных культурах могут различаться на многих уровнях (день / месяц / год, разделитель дат и т. Д.).

Кроме того, в Турции существуют специальные правила капитализации, что может привести к проблемам. Например, турецкий «i» характер является общей проблемой для многих программ, которые используют его неправильно.

Ссылка, предоставленная @Luixv, дает исчерпывающее описание проблемы.

Резюме состоит в том, что если вы собираетесь проверить свой код только на одном неанглийском языке, проверьте его на турецком языке.

Это связано с тем, что у турецкого языка есть примеры большинства случаев с краями, с которыми вы, вероятно, столкнетесь с локализацией, включая «необычные» строки формата и нестандартные символы (например, различные правила капитализации для i).

У Джеффа Этвуда есть статья в блоге на том же самом, что я натолкнулся на нее первым. в резюме попытки запустить ваше приложение под турецким Locale – отличный тест на ваш I18n.

вот статья jeffs

  • Сценарии сценариев установки
  • WebDriver: проверьте, существует ли элемент?
  • Selenium WebDriver выбрасывает исключения времени ожидания спорадически
  • Запуск приложения до и после Suite в jUnit 4.x
  • Как проверить регулярные выражения с помощью нескольких двигателей RE?
  • Зависимость от теста
  • Почему мои тесты на Perl терпят неудачу с `use encoding 'utf8'`?
  • Получение контекста в AndroidTestCase или InstrumentationTestCase в функции тестирования устройства Android Studio
  • Инструменты для генерации Mock Data?
  • Переключить вкладки с помощью Selenium WebDriver с Java
  • Ошибка шифрования на Android 4.2
  • Давайте будем гением компьютера.