本地化測試錯誤特征分析與測試方法
軟件 本地化測試 是項系統性任務,講究團隊協作精神。 軟件測試 工程師負責測試、發現、報告軟件錯誤。軟件錯誤修復工程師的工作是及時正確修復處理這些軟件錯誤。為了便于軟件錯誤修復工程師能夠迅速重現報告的錯誤,尋找錯誤產生的原因,然后及時修復錯誤
軟件
本地化測試是項系統性任務,講究團隊協作精神。
軟件測試工程師負責
測試、發現、報告軟件錯誤。軟件錯誤修復
工程師的工作是及時正確修復處理這些軟件錯誤。為了便于軟件錯誤修復工程師能夠迅速重現報告的錯誤,尋找錯誤產生的原因,然后及時修復錯誤,需要
測試工程師正確完整地報告發現的錯誤。另外,不同類型的軟件錯誤,又分別由來自不同公司的軟件錯誤修復工程師進行修復。例如,軟件功能錯誤和軟件 國際化錯誤只能由源語言軟件供應商的軟件錯誤修復工程師進行修復,而
本地化錯誤由
本地化服務商的軟件錯誤修復工程師進行修復。
下面對本地化軟件的錯誤的三種典型類型進行分類討論,探討錯誤的表現特征,產生的原因,測試要求,發現錯誤的方法。
1 、功能錯誤 表現特征 · 不能實現設計要求的功能。
· 產生與設計要求不符合的結果。
· 絕大多數存在于源語言軟件和本地化軟件,也有僅出現在本地化軟件中。
· 經常出現在軟件的菜單項、工具欄按鈕和對話框的功能按鈕中。
產生原因 · 源語言軟件編碼錯誤。
· 錯誤本地化,如將程序中的變量字串名進行了翻譯等。
測試要求 · 保證輸入數據正確,或者打開了正確的
測試用例。
· 明確正確的輸出結果和中間數據數值及格式。
測試方法 · 對于菜單項或工具欄按鈕,通過全面測試各個選項,認真觀察每一步是否正確執行,輸出結果(包括格式和數值)是否正確。
· 對于對話框,可以逐個執行各按鈕,各個列表選項等觀察執行結果。
· 對于命令行形式的多個并列選項,采用路徑跟蹤法,按分支順序測試嵌套的全部子項。
說明
· 特別注意不同選項、不同按鈕相互操作的影響。
· 注意檢查快捷鍵是否遺漏,是否多余,是否不同,是否起作用。
2 、 國際化錯誤 表現特征 · 控件或對話框中顯示不可辯識或無意義的明顯錯誤的字符。
· 不支持雙字節字符的輸入和輸出,包括雙字節的文件名和路徑名。
· 與當地不符合的默認打印紙張大小。
· 與當地不符合的日期和時間格式。
· 本地化軟件的列表項排序錯誤。
· 某些沒有本地化的字符串。
· 僅出現在本地化后的版本中。
產生原因 · 源程序在設計時沒有正確進行 國際化設計,例如,沒有提供雙字節字符集的支持。
· 源程序在設計時沒有將可以本地化的字符串與軟件代碼進行徹底分離。
·
軟件本地化后,單字節字符向雙字節字符轉化過程中,由于單字節和雙字節之間的差別,可能使得某些本地化后的雙字節字符的顯示亂碼。
測試要求 · 本地化后的軟件字符顯示正確完整,無亂碼或明顯錯別字。
· 與本地區域有關的數據類型(日期 / 時間,貨幣符號,紙張大小,字體,
度量單位等)的顯示符合本地的格式要求。
測試方法
· 執行菜單或按鈕,檢查對話框中的字符。
· 打開幫助文檔,檢查所有需要翻譯的字符。
說明 · 注意檢查對話框下拉列表中需要拖動滾動條才能顯示的內 · 需要確認源語言軟件對應項正確,僅本地化軟件存在錯誤。
3 、本地化錯誤 包括翻譯錯誤和控件大小和位置引起的布局錯誤。
表現特征 · 應該翻譯而沒有翻譯的英文字符。
· 不應該翻譯而翻譯的中文字詞。
· 錯誤翻譯的字詞。
· 較多隱含在對話框各控件以及幫助文檔中。
· 只在本地化版本中存在該類型錯誤。
· 控件相互重疊或排列不均勻。
· 控件中字符顯示不完整。
· 主要出現在本地化版本的對話框中。
產生原因 · 翻譯人員不熟悉翻譯要求。
· 翻譯人員工作疏漏。
· 用戶界面的翻譯與標準術語表不一致。
· 軟件本地化后,由于源語言和本地化語言的表達方式不同,本地化后的字符數與源語言不同,每個字符所占空間尺寸不同,使得在英文版本正確顯示的控件字符,可能在本地化版本顯示不正確。
· 在編譯本地化軟件之前,沒有對資源文件對話框及其控件調整大小。
· 本地化人員調整軟件資源文件不當引起。例如,對話框及其控件高度或寬度的不正確調整。
測試要求 · 明確需要翻譯和不需要翻譯的內容。
· 明確正確的翻譯方式。
· 根據術語表,確認術語翻譯的正確性與一致性。
· 對話框中控件布局均勻,字符顯示完整正確。
· 對話框中控件數量相等,沒有多余或丟失的控件
測試方法 · 主要同時打開中英文版本,執行相同的操作。
· 結合標準界面翻譯術語表,參照對比。
· 執行將要打開對話框的菜單或工具欄按鈕,觀察打開對話框中的控件布局。
· 對比檢查源語言軟件和本地化軟件對應的對話框中控件的數量
說明
· 對于對話框,如果含有下拉列表框,要打開列表框查看全部項。
· 特別要注意選項中開關類翻譯錯誤。
· 可能在執行不同的操作后,如選擇了不同單選或復選按鈕后,編輯框顯示重疊等。
· 執行后帶省略號的菜單或命令按鈕,將會顯示對話框。
· 一些對話框控件的布局錯誤如果也存在于源語言軟件中,則屬于軟件設計錯誤,應該分配給軟件供應商處理。
以上對本地化
軟件測試經常遇到的三種錯誤類型進行了分析,實際測試是一個動態的過程,不能孤立靜態地對待發現的錯誤,錯誤的類型并不是絕對的,需要具體問題。例如,本地化軟件中如果發現應該翻譯而沒有翻譯的錯誤,既可能是由于本地化翻譯過程中忘記翻譯引起的本地化錯誤,也可能是源語言軟件設計
編程中的硬編碼引起的 國際化錯誤。再者,某些軟件功能錯誤既可能是由于本地化翻譯過程中采用了錯誤的翻譯格式 ( 例如,某些不應該翻譯的程序變量字符被翻譯了 ) 引起的錯誤,也可能是源語言軟件編程錯誤。最后,一個錯誤可能包含著其他的不同類型的錯誤。比如在對話框中,選擇某個按鈕,產生一個錯誤提示對話框,這可能是一個按鈕功能錯誤,如果對話框中存在需要翻譯而沒有翻譯的英文,則又是一個本地化翻譯錯誤,如果對話框中存在無法辨識的字符,則又是一個 國際化錯誤,如果對話框中按鈕排列重疊,則還是一個本地化布局錯誤。
總之,本地化軟件的錯誤的產生是多方面的,不能僅僅歸結為軟件本地化過程帶來的錯誤。實際上,良好的 國際化設計的源程序是減少軟件本地化錯誤的根本保證。當然,提高軟件本地化過程能力,提高翻譯和檢查,優化本地化軟件編譯流程,能夠減少很多因本地化產生的錯誤。 軟件測試工程師需要認真思考軟件錯誤表現的實質,深入分析錯誤
原文轉自:http://www.anti-gravitydesign.com