什么是土耳其测试?

Dha*_*ana 35 testing localization internationalization turkey-test

我在学习代码测试时遇到了"土耳其测试"这个词.我真的不知道这意味着什么.

什么是土耳其测试?为什么这么称呼?

Grz*_*lik 21

土耳其问题与软件国际化有关,或仅仅与其在各种语言文化中的不当行为有关.

在不同的国家有(土耳其2008年4月14日和美国2008年4月14日)不同标准的写作日期,数字(即波兰123,45和123.45在美国)和规则有关字符uppercasing(如在土耳其与字母我,我和ı).

正如Jeff Moser在下面指出的那样,问题是由土耳其用户命名的,他首先在ToUpper()功能中找到了这个bug .以下评论中有更多细节.

然而,问题不仅限于土耳其和字符串转换.

在波兰和许多其他国家,日期和数字也用不同的方式写成,与日期或数字解释有关的问题也称为土耳其问题.

谷歌搜索土耳其的链接问题详情已经给出:

  • 我称之为"土耳其测试",因为土耳其的用户是第一个在我的代码中发现由我在帖子中描述的ToUpper()错误触发的错误. (10认同)
  • "我不知道为什么这个问题被称为土耳其问题,因为在波兰和许多其他欧洲国家,日期和数字也用不同的方式写成." 它主要是关于'''字母的大写/小写.例如,Microsoft Service Trace Viewer工具正在遭受此问题.当你想在Inetpub文件夹下打开一个日志文件时,你得到的是一条错误消息"'c:\ınetpub\ ...'无法打开" (4认同)
  • 这是因为字母i的土耳其案规则/我是哪里适当的国际字符串处理有细粒度的精妙之处,没有人期待显着的例子屈指可数之一,因此往往在非常痛苦的方式来破解代码.这封信在英语和土耳其语中很常见,但你需要知道你正在使用哪种语言来正确地取消它.当您在土耳其语环境中使用非土耳其语的相当常见的场景时,这尤其令人痛苦 - 您需要使用每个字符串的语言设置!相反,日期格式是儿童游戏. (3认同)

Lui*_*ixv 16

这里描述了火鸡测试

忘记土耳其,这甚至不会在美国通过.您需要不区分大小写的比较.所以你试试:

String.Compare(string,string,bool ignoreCase):
Run Code Online (Sandbox Code Playgroud)

....

这些中的任何一个都通过"土耳其测试吗?"

不是机会!

原因:你遇到了"土耳其语"问题.

正如许多人所讨论的那样,土耳其语中的"我"与大多数语言的行为不同.根据Unicode标准,当它移动到大写时,我们的小写"i"变为"İ"(U + 0130"Latin Capital Letter I With Dot Above").同样,当它移动到小写时,我们的大写"I"变成"ı"(U + 0131"Latin Small Letter Dotless I").


ner*_*rkn 8

我们写日期越来越小,像dd.MM.yyyy:28.10.2010

我们使用'.'(点)表示千位分隔符,','(逗号)表示小数分隔符:4.567,9

我们有ö=>Ö,ç=>Ç,ş=>Ş,ğ=>Ğ,ü=>Ü,最重要的是ı=>我和我=>İ ; 换句话说,上部I的小写字母是无点的,而下部i的大写字母是点状的.

由于上述规则导致无意义的错误,人们可能会遇到非常紧张的时期.

如果您的代码在土耳其正常运行,它可能在任何地方都可以运行.