Localization
ローカリゼーション・テストとは、通常、サポートされているすべてのロケールまたは言語パックにまたがる多言語アプリケーションの機能テストです。通常、サポートされているすべての言語構成で同じテストシナリオを実行します。その目的は、サポートされているすべての言語でアプリケーションが同じように動作し、UI 文字列の翻訳が正しく正確であることを確認することです。
ローカライゼーション・テストは、一度テスト・スイートを設計すれば、あとは多くのコンフィギュレーションでそれを実行することができるため、自動テストに最適です。自動化によって、技術的な作業と言語的な作業が効果的に分離されるため、技術的なスキルと外国語の両方に精通したQA担当者を雇う必要がなくなります。通常、自動化テストはエンジニアに任せ、スクリーンショットやレポートのようなテスト結果のレビューは言語学者に委託すれば十分です。
T-Plan Robotは、ローカリゼーションテストの自動化に最適です。プロジェクトを成功させるためのヒントをいくつかご紹介します:
コマンドラインから変数値を受け取れるようにテストスクリプトを設計する。詳細は -v/--variable スイッチを参照してください。Automatic Executionsを参照してください。
自動テストスクリプトを作成する際には、テスト対象のアプリケーションを操作するために、マウスのクリックや移動、ドラッグを使用しないようにしてください。翻訳によって GUI コンポーネントのサイズや動作に違いが生じ、マウス操作は信頼できなくなります。可能な限りキーボードにこだわり、単純なキー、ショートカット/ホットキー、ニーモニックキー、Tab/Shift+Tabのようなフォーカスコントロールを使ってアプリケーションを操作してください。
スクリプトが実行前と同じ状態でリモートデスクトップを離れるようにしてください。常にクリーンなデスクトップで起動するのが良いアイデアです。例えば、スクリプトの冒頭でCtrl+F4を数回呼び出すと、ベース状態を確保しやすくなります。
すべての出力を1つのフォルダに保存する場合は、言語コードをスクリーンショットの一部にし、ファイル名を報告することで上書きを防ぎます。
次の例は、Ubuntu上のFirefoxを複数の異なる言語でローカライズする簡単なテストです:英語(デフォルト言語)、スペイン語、フランス語、ドイツ語、イタリア語、ロシア語、日本語、簡体字中国語です。
スクリプトは非常にシンプルで、前述のルールに従っています。FirefoxのCLIオプション-UILocaleを利用します。これは、言語識別子で指定された言語(実際には、HTTPリクエストヘッダで送信されるユーザーの優先言語と同じです)でブラウザを起動することができます。
これを実現するには、指定された Firefox 言語パックがインストールされていなければならないことに注意してください。言語識別子 (例: en-us、es-es) はスクリプト内で LANG という変数によって定義され、その値は -v/--variableRobot CLI オプションによって後で書き換えることができます。
ファイルメニューを開き、環境設定とヘルプウィンドウを起動し、ブラウザウィンドウの下部にブラウズバーを表示します。途中3枚のスクリーンショットが撮影され、各言語のレポートが生成されます。
Var LANG=en-us
# This procedure will open Firefox in the locale specified by argument.
# It will then open the browser menu, Preferences and Help windows and Search bar.
# Screenshots will be taken at major points.
# Parameter: {1} - desired browser locale, e.g. en-us, es-es, de-de
procedure test_firefox {
# Close all windows and open the Run Application window on Gnome Linux
Press Alt+F4 count=2 wait=1s
Press Alt+F2 wait=4s
# Start Firefox in desired language
Typeline "firefox -UILocale {1}"
# Wait for major update of the remote screen
Waitfor update extent="50%" timeout="30s" ontimeout="Exit 1"
# Open the Firefox menu - keys F10 and "arrow down"
Press F10 wait=200
Press Down wait=1s
Screenshot firefox-menu-{1}.jpg desc="Firefox File menu. It should be properly localized into {1}."
# Open the Firefox Preferences window. # As the File menu is open, key "arrow right" will display the Edit menu # and key "arrow up" will jump to the last menu item Preferences
Press Right wait=500
Press Up wait=500
Press Enter wait=5s
Screenshot firefox-preferences-{1}.jpg desc="Firefox Preferences window. It should be properly localized into {1}."
# Escape will dispose the Preferences window
Press Esc wait=500
# Display the Firefox Search bar (F3 key) and open the Help window (F1).
Press F3 wait=1s
Press F1 wait=5s
Screenshot firefox-help-{1}.jpg desc="Firefox Help window and the Search bar (at the bottom). It should be properly localized into {1}."
# Close the browser so that we can rerun the script safely
Press Alt+F4 count=2 wait=1s
}
# Start an HTML report
Report index-{LANG}.html desc="Example of Robot automated localization testing of Firefox."
# Call the test procedure. # Value of the argument variable can be passed from CLI.
test_firefox {LANG}
ローカルのVNCサーバーでスクリプトを実行するには、CLIを通じて希望の言語識別子を渡す必要があります。コマンドは次のようになります:
robot.sh -c localhost:1 -p <password> -r example3.txt -n -v LANG=<language_identifier>
上記で説明した 8 つの言語で Firefox をテストするには、各言語識別子ごとに 1 回ずつ、コマンドを 8 回連続して実行する必要があります。
次の表は、提案されたすべての言語での自動実行のレポートです。