Internationalization Testing

在國際化全球化的趨勢下, 軟體產品也愈來愈重視軟體發行國際化的相容性. 簡單說, Internationalization (I18N) Testing 大致包含三個部分: 1. Globalization. 2. Localizability. 3. Localization 1. Globalization: 著重於軟體在各種語言上運行的相容性. 也就是說軟體不論在中文, 在英文, 在日文, 應該都要可以正確運作 2. Localizability: 軟體要真正打入各種不同語言文化的市場, 就要把軟體上的使用者界面, 各種錯誤訊息, 所有使用者看的到的字串都翻成當地的語言, 但把所有字串翻譯完後常會導致軟體不能正確運作, 最常見的狀況就是程式員把呼叫字串直接硬寫到CODE裏面, 如果這時把字串在UI上翻譯成不同的語言, 呼叫不到正確的字串就會導致軟體不能正確運作 3. Localization: 當翻譯完成, 真正組建”在地化”版本的軟體後, 還要經過完整的測試方能確保所有翻譯不會導致UI的問題, 翻譯的問題…等等 說這麼多, 舉個例子. 到某知名網路地圖上查從 “Taipei, Taiwn” 到 “Taichung, Taiwan” 的 driving direction, 會發現圖上會顯示從台北一路開到台”東”去, 而不是台中. 我知道沒圖沒真相但這個地圖不是微軟的 maps.live.com 所以恕我就不貼圖分享了. 反正大家應該都猜到我在那個網站上發現這個BUG. 希望沒有外國人真的因此從台北一路開到台東還沒吃到太陽餅. 像這樣的BUG, 我個人就會把它歸到…

1

Why do you want to be a software tester? For newbies or who are considering to choose this career…

身為軟體測試工程師, 有時和台灣一些其它從事軟體業的朋友聊起軟體測試這一行在台灣的狀況, 感覺是每個人都覺得軟體測試很重要, 但實際上從事軟體測試的人員, 或說公司在招募軟體測試工程師時, 又多是招募一些剛入行比較缺乏工作經驗, 或技術能力要求相對較低的人員, 給的薪水也比其它軟體工程師低一些. 要是上一些入口網站搜尋”軟體測試”, 有些人對軟體測試的了解還有軟體測試工程師的定位還真是另人搖頭, 例如”低階”, “乏味″…等等負面的字眼, 大概會因此阻擋很多有理想有抱負的年輕人進入這個行業. 個人有幸在微軟當軟體測試工程師, 並沒有感受到這些不受尊重的負面字眼發生在我的工作中, 不過既然有如上的狀況出現, 雖然沒有正確的取樣數據, 但這在台灣應該還是常見的狀況. 如果不改善, 這對軟體產業在台灣的發展絕對會有不好的影響. 我個人有時也會被問到軟體測試工程師在做什麼, 以及我為什麼要從事軟體測試, 而不是當個 DEVELOPER 或 PM, 原因其實很簡單, 因為我認為測試軟體, 不但要看懂 DEVELOPER 的程式碼, 了解整個軟體架構的設計, 還要做出計畫, 和開發團隊溝通, 並在某種程度上了解客戶的需求(雖然我認為搞懂客戶的需求其實是 PM 的責任). 最後, 還要想盡辦法去預防 BUG, 調查分析發生 BUG 成因, 並提供測試報告給軟體發行團隊評估產品發行的風險, 簡言之, 一個好的軟體測試工程師, 需要了解所有(負責領域的)開發流程的技術和流程環節, 還要利用各式各樣的工程方法來降低軟體出錯的機率, 或找到軟體的錯誤, 這其實是很有挑戰性且樂趣一點也不少於其它角色的工作. 至於究竟一個稱職的軟體測試工程師需要那些技能, 或更簡單的講, 要如何做軟體測試, 如果不怕看英文的話, 不妨參考…

1

What is the customer impact of this bug?

在我之前的 POST, Tester vs QA, 中有一小段文字是說, “tester 並不負責提供 user scenarios, 那是 pm (或 ba) 的事”. 可是在個人的工作經驗中, 三不五時就會被問到, “這個 BUG 的 customer imapct 是什麼?” 言下之意, 是要我, 也就是報告 BUG 的 Tester, 回答或評估這個 BUG 對客戶的影響有多大. 說實話, 有時候我還真的可以回答這個問題, 但有一個先決條件, 就是我已經有 PM (或 BA) 交給我的使用案例 (Use Case) 或情節 (Scenario) 了, 而這個 BUG 就剛好會導致使用案例失敗, 那對客戶的影響很簡單, 就是這個案例或情節掛掉, 會導致客戶沒辦法這樣使用產品. 但大多時候, 事情不會這個剛好, 而且就算剛好是掛在已經有的 CASE…

2