Niedawno odkryliśmy w naszej aplikacji specyficzny dla danego regionu problem i chociaż łatwo go było naprawić (kiedy już zorientowaliśmy się, co się dzieje), zespół przekonał mnie o praktykach testowania jednostek w tym zakresie.
Chcielibyśmy uchwycić te problemy wcześniej, najlepiej zanim zostaną one wykryte przez klienta i chcemy uchronić się przed ponownym wprowadzeniem błędów specyficznych dla ustawień regionalnych w przyszłości, ale powielanie każdego testu jednostkowego w co najmniej jednej innej kulturze wydaje się dużo nad głową.
Jak sobie radzisz lub jak podejmiesz testy jednostkowe w wielu lokalizacjach?
unit-testing
localization
Adam Lear
źródło
źródło
Odpowiedzi:
Zasadniczo nie trzeba duplikować każdego testu jednostkowego. Powinieneś określić, co tak naprawdę zależy od ustawień regionalnych (dobra lista kontrolna jest tutaj ). Wiele rzeczy związanych z internacjonalizacją podlega wyższemu poziomowi testów niż testowi jednostkowemu.
Jeśli masz do czynienia z ciągami danych, które mogą pochodzić z różnych kodowań, możesz skorzystać z „testowania opartego na danych”, tj. Przekazując dane z różnych kodowań do tej samej metody testowej. W przypadku Java najlepiej nadaje się do tego TestNG.
Innym możliwym problemem jest formatowanie i analizowanie daty / godziny. Większość ustawień narodowych używa: do oddzielania elementów czasu, ale są takie, które używają kropek, a Brazylijczycy używają hm i s (12h15m30s). Może to również być wykorzystane przez przekazane dane w różnych lokalizacjach - nie musisz testować wszystkich z nich.
A testowanie GUI przy użyciu ustawień narodowych od prawej do lewej zwykle nie jest przedmiotem testów jednostkowych.
Najważniejsze jest to, że musisz określić, które dane w testach jednostkowych są specyficzne dla ustawień regionalnych i użyć testów opartych na danych (dostawców danych), aby dostarczyć te dane do testów.
źródło
Oto kilka sugestii:
Zawsze rozwijaj na maszynie z lokalnymi ustawieniami innymi niż główna grupa docelowa. Pomoże Ci to bardzo szybko znaleźć błędy związane z datami, walutą i każdym problemem związanym z formatowaniem liczbowym. Zrób to samo z serwerem kompilacji, umieść go w Brazylii lub Wietnamie (nie fizycznie, tylko ustawienia).
Użyj akcentów i znaków specjalnych w tytule testu, ciągach znaków itp. W testach jednostkowych. Najczęstszy problem związany z internacjonalizacją, który otrzymuję w przypadku oprogramowania, którego używam (a nie tych, które rozwijam), to é i è lub nawet ç w języku francuskim. Umieść je w każdym łańcuchu używanym w testach. Użyj zwykłego słowa, którego używasz przez cały czas
brèç©
Nie zapomnij również używać akcentów i specjalnych wykresów na ścieżkach . Sam Visual Studio.NET wciąż ma z tym wiele problemów! Powinieneś uzyskać dostęp do tworzenia takich katalogów i odczytywania / zapisywania z nich w testach.
Jeśli korzystasz z programu Visual Studio .NET, we właściwościach projektu w obszarze Analiza kodu włącz reguły globalizacji . Najczęstsze problemy generują ostrzeżenie podczas kompilacji.
Zatrudnij obcokrajowca w swoim zespole.
źródło