為了滿足全球化軟件世界范圍內(nèi)發(fā)布的需要,全球化軟件的開發(fā)過程中,軟件的國際化設(shè)計(jì)和本地化工程處理是兩個(gè)重要的步驟。與開發(fā)過程相對應(yīng),作為軟件質(zhì)量保證過程的全球性軟件測試過程,包含一系列相互關(guān)聯(lián)的測試技術(shù)和流程,可以分為功能/性能測試、國際化測試、本地化能力測試和本地化測試等階段。
功能/性能測試
功能/性能測試的對象是原始語言開發(fā)的軟件。測試的目的是保證軟件的功能和性能符合軟件設(shè)計(jì)說明書和用戶的使用需求。
功能/性能測試是全球化軟件測試的第一個(gè)測試過程,是進(jìn)行其他測試的基礎(chǔ)。測試的依據(jù)是軟件設(shè)計(jì)說明書,測試的內(nèi)容包含設(shè)計(jì)說明書中全部的軟件的功能特征和性能。
對于原始語言為英語的軟件功能/性能測試,從測試環(huán)境分析,應(yīng)該選擇至少一種英文操作系統(tǒng),進(jìn)行特征功能測試,配置不同的硬件進(jìn)行性能和兼容性測試。
由于大部分軟件的開發(fā)都是里程碑式的功能不斷完善的過程,因此,功能/性能測試將包括單元測試、集成測試、系統(tǒng)測試等過程。
另外,雖然離岸外包測試正成為軟件測試的新模式,但是軟件的功能/性能測試仍然采用開發(fā)現(xiàn)場測試的模式,以保持測試者與開發(fā)者的實(shí)時(shí)直接交流。
總之,功能/性能測試的重點(diǎn)是軟件的功能和性能,只有通過了該測試,才能進(jìn)行下一步的其他測試。
國際化測試
國際化測試的目的是測試軟件的國際化支持能力,發(fā)現(xiàn)軟件的國際化的潛在問題,保證軟件在世界不同區(qū)域中都能正常運(yùn)行。
國際化測試的測試環(huán)境,以Windows應(yīng)用軟件為例,針對世界軟件市場的語言優(yōu)先級,需要首先應(yīng)用德語和日語的操作系統(tǒng)。這兩種語言代表最重要的區(qū)域市場,同時(shí)日語又作為東亞雙字節(jié)字符的典型語言??梢栽谟⑽腤indows操作系統(tǒng)上安裝具體的語言支持文件進(jìn)行區(qū)域設(shè)置。
將日語作為系統(tǒng)默認(rèn)區(qū)域設(shè)置進(jìn)行測試,可驗(yàn)證 ANSI(非 Unicode)組件中的雙字節(jié)字符集 (DBCS) 處理。將德語作為系統(tǒng)默認(rèn)區(qū)域設(shè)置進(jìn)行測試,可確保需要進(jìn)行文本轉(zhuǎn)換時(shí)能夠正確處理 ANSI 和 OEM 代碼頁。
國際化測試使用每種可能的國際輸入類型,針對任何區(qū)域性或區(qū)域設(shè)置檢查產(chǎn)品的功能是否正常,軟件國際化測試的重點(diǎn)在于執(zhí)行國際字符串的輸入/輸出功能。
國際化測試數(shù)據(jù)必須包含東亞語言、德語、復(fù)雜腳本字符和英語(可選)的混合字符;其中復(fù)雜腳本字符指阿拉伯語、希伯來語、泰語。
國際化測試中發(fā)現(xiàn)的比較嚴(yán)重的軟件錯(cuò)誤包括軟件在不同的區(qū)域設(shè)置環(huán)境下的功能丟失或數(shù)據(jù)破壞。這些錯(cuò)誤經(jīng)常出現(xiàn)在字符編碼轉(zhuǎn)換和雙字節(jié)字符的輸入/輸出過程中。
本地化能力測試
本地化能力是指不需要重新設(shè)計(jì)或修改代碼,將程序的用戶界面翻譯成任何目標(biāo)語言的能力。本地化能力高的軟件可以容易地實(shí)施本地化處理。
本地化能力測試的目的是測試軟件的本地化支持能力,盡早發(fā)現(xiàn)軟件本地化時(shí)將會出現(xiàn)的潛在錯(cuò)誤。本地化能力測試通過以后,表示產(chǎn)品已可用于本地化,才能進(jìn)行軟件的本地化過程和本地化測試。
為了降低本地化能力測試的成本,提高測試效率,本地化能力側(cè)是通常在軟件的偽本地化版本上進(jìn)行。軟件的偽本地化是指將軟件中需要本地化的英文文本,使用其它本地化的文本替換,模擬本地化版本的過程。
值得注意的是對于阿拉伯語等的文本從右到左的顯示方式,需要采用鏡像技術(shù)模擬本地化版本。
本地化能力測試中發(fā)現(xiàn)的典型錯(cuò)誤包括:字符的硬編碼(即軟件中需要本地化的字符寫在了代碼內(nèi)部),對需要本地化的字符長度設(shè)置了國定值,在軟件運(yùn)行時(shí)以控件位置定位,圖標(biāo)和位圖中包含了需要本地化的文本,軟件的用戶界面與文檔術(shù)語不一致等。
本地化測試
本地化測試的目的是測試特定目標(biāo)區(qū)域設(shè)置的軟件本地化質(zhì)量。本地化測試的對象是軟件的本地化版本。
本地化測試的環(huán)境是在本地化的操作系統(tǒng)上安裝本地化的軟件。從測試方法上可以分為基本功能測試,安裝/卸載測試,當(dāng)?shù)貐^(qū)域的軟硬件兼容性測試。
測試的內(nèi)容主要包括軟件本地化后的界面布局和軟件翻譯的語言質(zhì)量,包含軟件、文檔和聯(lián)機(jī)幫助等部分。
本地化測試的軟件錯(cuò)誤主要包括軟件用戶界面錯(cuò)誤包括:布局錯(cuò)誤(版式、大小和位置)、本地化有關(guān)的功能錯(cuò)誤、翻譯錯(cuò)誤和雙字節(jié)支持錯(cuò)誤。
軟件的翻譯質(zhì)量包括翻譯的準(zhǔn)確性、完整性、一致性,以及特定區(qū)域市場的文化、傳統(tǒng)、習(xí)俗和政治的敏感內(nèi)容。
為了保證軟件本地化測試的質(zhì)量和成本,通常外包給當(dāng)?shù)卣Z言為母語的本地化服務(wù)公司。
總之,全球化軟件的測試是保證軟件全球發(fā)布的質(zhì)量保證活動。軟件的功能/性能測試、國際化測試、本地化能力測試和本地化測試是一系列互相聯(lián)系的測試過程。遵循國際化設(shè)計(jì)和保持良好的本地化能力,可以保證軟件的國際化和本地化測試,實(shí)現(xiàn)軟件的全球化和本地化。