Co To jest test indyka?

Natknąłem się na słowo "Test indyka" podczas nauki o testowaniu kodu. Nie wiem, co to znaczy.

Co To jest test indyka? Dlaczego tak się nazywa?

Author: Vadim Kotov, 2009-04-28

6 answers

Problem Turcji jest związany z internacjonalizacją oprogramowania lub po prostu z jego niewłaściwym zachowaniem w różnych kulturach językowych.

W różnych krajach obowiązują różne standardy zapisu daty (14.04.2008 w Turcji i 14.04.2008 w USA), liczby (tj. 123,45 w Polsce i 123,45 w USA) oraz zasady pisania wielkich liter (jak w Turcji z literami i, I I i).

Jak wskazałJeff Moser poniżej problem został nazwany przez użytkownika tureckiego, który jako pierwszy znalazł błąd w ToUpper() funkcja. Więcej szczegółów w komentarzach poniżej.

Problem nie ogranicza się jednak do Turcji i konwersji łańcuchów.

W Polsce i wielu innych krajach daty i liczby zapisywane są również na różne sposoby a problemy związane z interpretacją daty lub liczb są również nazywane problemem Turcji .

Linki z Google Szukaj problemu ze szczegółami są już podane:

 17
Author: Grzegorz Gierlik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:17:17

Tutaj jest opisany test indyka

Zapomnij o Turcji, to nie przejdzie nawet w USA. Potrzebujesz porównania wielkości liter. Więc spróbuj:
String.Compare(string,string,bool ignoreCase):

....

Czy któraś z nich zdała " test indyka?"

Nie ma mowy!

Powód: zostałeś uderzony problemem "tureckie I".

Jak mówi wiele osób, "ja" w języku tureckim zachowuje się inaczej niż w większości języków. Na Standard Unicode, nasza mała litera "i" staje się " I "(U+0130 "Łacińska Wielka Litera I z kropką powyżej"), gdy przechodzi do wielkich liter. Podobnie, nasza wielka litera " I "staje się" i " (u+0131 "łacińska mała litera bez kropki I"), gdy przesuwa się do małych liter.

 16
Author: Luixv,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-27 20:58:24

Zapisujemy daty Mniejsze do większych jak dd. MM. RRRR: 28.10.2010

Używamy"."(kropka) dla separatora tysięcy i", " (przecinek) dla separatora dziesiętnego: 4.567, 9

Mamy ö=>Ö, ç=>Ç, ş=>Ş, ç=>ç, ü=>Ü, i najważniejsze i=>I I => i; innymi słowy, małe litery górnego I są bez kropki, a małe litery dolnego i są kropkowane.

Ludzie mogą mieć bardzo stresujące czasy z powodu bezsensownych błędów spowodowanych przez powyższe zasady.

Jeśli Twój kod poprawnie działa w Indyk, pewnie zadziała wszędzie.

 8
Author: nerkn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-17 08:24:17

Tzw. "test indyka" jest związany z internacjonalizacją oprogramowania. Jednym z problemów globalizacji / internacjonalizacji jest to, że formaty daty i czasu w różnych kulturach mogą się różnić na wielu poziomach (kolejność dnia/miesiąca/roku, separator daty itp.).

Ponadto Turcja ma pewne specjalne zasady kapitalizacji, co może prowadzić do problemów. Na przykład, turecki znak " i " jest częstym problemem dla wielu programów, które źle go kapitalizują.

 4
Author: splattne,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-16 14:52:06

Link podany przez @ Luixv zawiera wyczerpujący opis problemu.

Podsumowanie jest takie, że jeśli zamierzasz przetestować kod tylko w jednym innym języku niż Angielski, przetestuj go na tureckim.

Dzieje się tak dlatego, że język turecki ma przypadki większości przypadków krawędzi, które prawdopodobnie napotkasz z lokalizacją, w tym "nietypowe" ciągi formatowe i niestandardowe znaki (takie jak różne reguły kapitalizacji dla i).

 2
Author: Richard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-28 09:42:29

Jeff Atwood ma artykuł na blogu o tym samym, który jest pierwszym miejscem, na które sam się natknąłem. podsumowując próba uruchomienia aplikacji w języku tureckim jest doskonałym testem twojego I18n.

Oto jeffs Artykuł

 1
Author: TygerKrash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-28 09:44:14