軟件本地化測試的測試對象是本地化的軟件,需要在本地化的操作系統上進行。雖然本地化的軟件是基于源程序軟件創建的,但二者的測試內容和重點具有很大的不同。
一般地,二者的不同在于:第一,測試順序不同。首先要現對源程序軟件進行測試,然后再創建本地化軟件,測試本地化軟件。第二,測試內容和重點不同。源程序軟件主要測試功能和性能,結合軟件界面的測試。本地化軟件的測試,更注重因本地化引起的錯誤,例如,翻譯是否正確,本地化的界面是否美觀,本地化后的功能是否與源語言軟件保持一致。第三,測試環境不同。源程序軟件測試通常在源語言的操作系統上進行。本地化軟件在本地化的操作系統上進行。
本地化測試過程中,需要同時運行源程序軟件和本地化軟件,依照源程序軟件結果作為本地化軟件的主要參考。
軟件本地化的錯誤類型
軟件本地化的錯誤主要分為兩大類:第一、由于源程序軟件編碼錯誤引起的;第二,由于軟件本地化引起的。其中由于軟件本地化產生的錯誤類型包括語句沒有翻譯、翻譯錯誤、控件布局錯誤。對于東亞語系軟件,可能存在雙字節字符顯示錯誤等。
綜合分析本地化軟件的錯誤類別,可以歸結為四種類型:翻譯錯誤,功能錯誤,界面錯誤,雙字節錯誤。
每種類型的錯誤的數量不同,這與源程序軟件和本地化軟件的質量有密切關系。如果源程序軟件沒有經過完整的測試,包括功能測試和本地化性能測試,那么本地化軟件中就將存在很多功能錯誤、界面錯誤、雙字節錯誤。如果本地化軟件沒有經過良好的本地化處理,將會產生很多翻譯錯誤和界面錯誤。
揭密軟件本地化錯誤
下面對本地化軟件的錯誤的四種典型類型進行分類討論,探討錯誤的表現特征,產生的原因,測試要求,發現錯誤的方法。
翻譯錯誤:
(1) 產生原因:
1) 翻譯人員不熟悉翻譯要求。
2) 翻譯人員工作疏漏。
3) 用戶界面的翻譯與標準詞匯表不一致。
(2) 表現特征:
1) 應該翻譯而沒有翻譯的英文字符。
2) 不應該翻譯而翻譯的中文字詞。
3) 錯誤翻譯的字詞。
4) 只在本地化版本中存在該類型錯誤。
5) 較多隱含在對話框各控件以及幫助文檔中。
(3) 測試要求:
1) 明確需要翻譯和不需要翻譯的內容。
2) 明確正確的翻譯方式。
3) 根據術語表,確認術語翻譯的正確性與一致性。
(4) 測試方法:
1) 主要同時打開中英文版本,執行相同的操作。
2) 結合標準界面詞匯翻譯表,參照對比。
(5) 說明:
1) 對于對話框,如果含有下拉列表框,要打開列表框查看全部項。
2) 特別要注意選項中開關類翻譯錯誤。
功能錯誤:
(1) 產生原因:
1) 軟件編碼錯誤。
2) 錯誤本地化,如將程序中的變量進行了翻譯等。
(2) 表現特征:
1) 不能實現設計要求的功能。
2) 產生與設計要求不符合的結果。
3) 英文和中文都存在同樣的錯誤。
4) 可能隱含在軟件的任何位置或任何操作步驟中。
(3) 測試要求:
1) 保證輸入數據正確,或者打開了正確的測試用例。
2) 明確正確的輸出結果和中間數據數值及格式。
(4) 測試方法:
1) 對于菜單項或工具欄按鈕,通過全面測試各個選項,認真觀察每一步是否正確執行,輸出結果(包括格式和數值)是否正確。
2) 對于一個命令中的多個并列選項,采用路徑跟蹤法,按分支順序測試嵌套的全部子項。
3) 對于對話框,可以逐個執行各按鈕,各個列表選項等觀察執行結果。
(5) 說明:
1) 特別注意不同選項、不同按鈕相互操作的影響。
2) 注意檢查快捷鍵是否遺漏,是否多余,是否不同,是否起作用。
布局錯誤:
(1) 產生原因:
1) 軟件本地化后,由于源語言和本地化語言的表達方式不同,本地化后的字符數與源語言不同,每個字符所占空間尺寸不同,使得在英文版本正確顯示的控件字符,可能在本地化版本顯示不正確。
2) 本地化人員調整程序資源不當引起,例如,對話框及其控件高度或寬度的不正確調整。
(2) 表現特征:
1) 控件相互重疊或排列不均勻。
2) 控件中字符顯示不完整。
3) 主要出現在本地化版本的對話框中。
(3) 測試要求:
1) 對話框中控件布局均勻,字符顯示完整正確。
2) 對話框中控件數量相等,沒有多余或丟失的控件
(4) 測試方法:
1) 執行將要打開對話框的菜單或工具欄按鈕,觀察打開對話框中的控件布局。
2) 對比檢查源語言軟件和本地化軟件對應的對話框中控件的數量
(5) 說明:
1) 可能在執行不同的操作后,如選擇了不同單選或復選按鈕后,編輯框顯示重疊等。
2) 執行后帶省略號的菜單或命令按鈕,將會顯示對話框。
雙字節錯誤:
(1) 產生原因:
1) 源程序在設計時沒有考慮雙字節語言的支持。
2) 軟件本地化后,單字節字符向雙字節字符轉化過程中,由于單字節和雙字節之間的差別,可能使得某些本地化后的雙字節字符的顯示亂碼。
3) 軟件本地化后,對程序中控制符號如換行鍵“\n”的處理錯誤而引起亂碼。
(2) 表現特征:
1) 控件或對話框中顯示不可辯識的字符。
2) 控件或對話框中顯示無意義的明顯錯誤的字符。
3) 不支持雙字節字符的輸入,包括雙字節的文件名和路徑名。
4) 僅出現在本地化后的版本中。
(3) 測試要求:
1) 本地化后的軟件字符顯示正確完整,無亂碼或明顯錯別字。
(4) 測試方法:
1) 執行菜單或按鈕,檢查對話框中的字符。
2) 打開幫助文檔,檢查所有需要翻譯的字符。
(5) 說明:
1) 注意檢查對話框下拉列表中需要拖動滾動條才能顯示的內容。
總結
以上僅列出了本地化軟件測試經常遇到的四種錯誤類型,在實際測試中可能某些錯誤的現象(如列表框中有多余項或缺少項),既可以認為是布局錯誤,也可以屬于功能錯誤,應該認真思考該錯誤表現的實質,將其劃分為正確的錯誤類型。
實際測試是一個動態的過程,不能孤立靜態地對待發現的錯誤,因為一個錯誤可能包含著其他的不同類型的錯誤。比如在對話框中,選擇某個按鈕,產生一個錯誤提示對話框,這可能是一個按鈕功能錯誤,如果對話框中存在需要翻譯而沒有翻譯的英文,則又是一個翻譯錯誤,如果對話框中存在無法辨識的字符,則又是一個雙字節錯誤,如果對話框中按鈕排列重疊,則還是一個布局錯誤。
總之,本地化軟件的錯誤的產生是多方面的,不能僅僅歸結為軟件本地化過程帶來的錯誤,實際上,良好的國際化設計的源程序是減少軟件本地化錯誤的根本保證。當然,提高軟件本地化過程能力,提高翻譯和檢查,優化本地化軟件編譯流程,能夠減少很多因本地化產生的錯誤。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/