國際化軟件測試包括軟件國際化測試和軟件本地化能力測試。軟件的國際化測試是重要的測試階段,必須在本地化測試之前進行測試。國際化軟件的測試目的是判斷軟件的國際化設計程度,確定軟件是否支持可能的區域,是否可以容易的本地化。
一、國際化軟件測試的重要性
軟件項目團隊的所有成員都應該認識并且高度重視國際化測試的重要性。
首先,任何不良的國際化設計的軟件錯誤,將存在于所有本地化的語言版本,都需要修改源語言程序的代碼才能修復該類錯誤,這將增加軟件的本地化成本。
其次,良好國際化設計的軟件將需要最小程度的本地化測試。因為良好的區域語言支持已經集成在軟件的國際化設計中,需要翻譯的資源已經從程序代碼中分離出來,可以很容易的翻譯資源文件中需要本地化的內容,而且不會破壞程序的功能。
二、國際化軟件測試的原則
為了提高國際化測試的質量,需要遵循下面的原則:
● 一旦程序的代碼足夠穩定,盡早進行測試。
● 按照組件和功能特征的優先級從高到低的順序進行測試
● 重點放在處理多語言字符串的直接或間接的輸入/輸出(I/O)
● 國際化功能測試與本地化能力測試并行進行。
● 使用偽本地化和偽鏡像技術進行本地化能力測試。
三、軟件國際化測試的方法
軟件的國際化測試主要測試軟件的國際化功能特征,需要測試國際化軟件的通用功能、文本處理功能和區域支持功能。
采用下面的方法進行國際化測試:
1、測試通用功能
● 在各種語言環境下安裝應用程序。
● 各種系統和用戶區域設置的通用功能。
● 通過各種區域設置卸載應用程序。
2、測試文本處理功能
● 使用不同區域的輸入法編輯器交互式文本輸入。
● 多語言文本的剪貼板操作。
● 用戶界面的文本處理。
● 雙字節字符集的輸入和輸出。
● 多字節字符集文本的緩沖區大小的處理。
3、測試區域特征功能
● 遵循區域標準,正確輸入、存儲并檢索區域特定數據。
● 驗證帶有數據分割符的輸入時間、日期和數值。
● 紙張和信封的大小和打印的正確性。
● 區域有關的度量衡的處理功能。
四、軟件本地化能力測試的方法
本地化能力測試的目的是驗證被測軟件的用戶界面不用修改代碼,就能夠容易地被翻譯成任何目標語言。
為了快速有效的測試軟件的本地化能力,常用以下的測試方法:
1、測試偽本地化版本
偽本地化版本測試可以不用實際本地化,就能夠發現在本地化過程中的用戶界面的翻譯錯誤。鏡像技術也是偽本地化版本測試的常用技術,發現一些本地化過程中的控件布局方面的錯誤。
2、檢查程序的代碼
在檢查程序的代碼時,確保代碼滿足下列要求:
● 所有資源都獨立于代碼,并且以標準的資源格式編寫。
● 不用指針算法來計算字符串長度、訪問字符串元素。
● 不是通過剝離或串聯,在運行時構建字符串。
● 沒有假設字符串緩沖區的固定長度。
● 不在圖標和位圖內包含需要本地化的文本。
● 不存在對驅動器和文件名或者注冊鍵的假設。
3、檢查用戶界面和文檔
確保用戶界面和文檔中所用的術語清晰、一致、明確。當用戶界面和文檔提到相同的特性,是用的術語不一致,或者當文檔使用了太多的技術行話時,會使本地化過程增減很大難度。如果本地化能力依賴于偽本地化,更應該注重檢查文檔的內容。
4、選擇實際的本地化版本進行測試
雖然針對偽本地化版本的測試能夠發現很多本地化能力方面的問題,但是仍然不能代替對實際的本地化版本進行本地化能力的測試。在選擇合適的本地化版本時,通??紤]以下方面:
● 選擇熟悉的可以迅速創建和測試的本地化語言版本。
● 選擇特別容易暴露本地化問題的語言版本。
● 選擇非常重要的目標市場的語言版本。
原文轉自:http://www.anti-gravitydesign.com