專利名稱:測試國際化軟件的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及測試在多種語言環(huán)境中執(zhí)行的國際化軟件的技術(shù)。更 具體地說,本發(fā)明涉及從在與原始語言環(huán)境不同的語言環(huán)境中執(zhí)行的 國際化軟件給用戶的輸出的測試技術(shù),所述技術(shù)能夠改進(jìn)測試對象的 可見性,從而能夠?qū)崿F(xiàn)有效測試。
背景技術(shù):
支持多種語言的軟件被稱為"國際化軟件"。在國際化軟件中,從 源代碼中分離出將顯示在屏幕上的文本串部分,這樣分離的文本串部分被保存為具體化的(externalized )資源文件。當(dāng)執(zhí)行國際化軟件時, 具體化的資源文件被參閱,并由國際化軟件用于實現(xiàn)屏幕顯示。當(dāng)采 用這樣的配置時,國際化軟件的開發(fā)人員只需要把具體化的資源文件 翻譯成另一種語言,以使國際化軟件支持所述另一種語言。此外,一 旦具體化的資源文件被翻譯,即使執(zhí)行碼被改變,也不必重做翻譯。在這種國際化軟件的開發(fā)過程中,對各種特性或方面(下面稱為 "測試類別")進(jìn)行測試,以了解國際化軟件在不同國家的語言環(huán)境中是 否正確地操作。其中,涉及給用戶的輸出的測試包括檢測將向用戶顯 示的消息或者其它字符串是否已從源代碼中分離出來,并且已被正確 地具體化為資源文件的測試。換句話說,這是一種硬編碼字符串檢測 測試,該測試確認(rèn)在源代碼中沒有直接描述(即,硬編碼)將向用戶顯 示的消息或其它字符串。另外還有就是分類結(jié)果(sort result)的確認(rèn) 測試,所述確認(rèn)測試檢查字符串的列表是否按照在每種語言中定義的 順序,例如字母表順序被正確分類。另外進(jìn)行的是語言特有字符的可 顯示性測試,所述可顯示性測試檢查每種語言特有的字符是否被正確 顯示,而不會錯亂。
具體化的資源文件的翻譯費(fèi)時。從而,在開發(fā)過程中,不可能使 用翻譯后的具體化資源文件來測試上面所述的每種類別。為此,按照 慣例開發(fā)了一種模擬翻譯具體化資源文件,從而把其用作翻成目標(biāo)語 言的具體化資源文件的方法。在這種常規(guī)技術(shù)中,對于原始資源文件 中的每個項目,在原始語言的字符串之前或之后添加很可能導(dǎo)致問題 的翻譯目標(biāo)語言的相同字符,從而產(chǎn)生具體化資源文件的模擬翻譯(參見專利文獻(xiàn)1和2)。還有一種技術(shù)就是原始語言中的窄的或單寬度字 母字符都被寬的或雙寬度字母字符代替,從而產(chǎn)生模擬翻譯(參見專利 文獻(xiàn)3)。在這些技術(shù)中,在通過參閱模擬翻譯的資源文件進(jìn)行處理的 國際化軟件的輸出的屏幕顯示上,確認(rèn)對于原始語言的每個字符串, 添加的字符或雙寬度字母字符都被正確地顯示。如果只顯示原始語言 的字符串,那么它是硬編碼的字符串。此外,如果任意添加的字符或雙寬度字母字符被另一字符替代,那么它是錯亂的字符。 [專利文獻(xiàn)l ]美國專利No.6507812 [專利文獻(xiàn)2 ]美國專利No.6453462 [專利文獻(xiàn)3]美國專利No.642512
發(fā)明內(nèi)容按照上面所述的常規(guī)技術(shù)的測試方法存在幾個問題。問題之一是 當(dāng)具體化資源文件包括具有賦值部分的字符串時,不可能對賦值部分 進(jìn)行硬編碼字符串的檢測。這是因為在通過參閱模擬翻譯的資源文件 進(jìn)行處理的國際化軟件的輸出的顯示屏幕上,不能識別賦值部分。此 外,在上面所述的常規(guī)技術(shù)中,在原始語言的字符串前/后添加翻譯目 標(biāo)語言的相同字符。這意味著當(dāng)對多個字符串分類時,理應(yīng)根據(jù)原始 語言的字符串部分評估分類結(jié)果,妨礙關(guān)于翻譯目標(biāo)語言的分類結(jié)果 的有效性的確定。此外,為了對翻譯目標(biāo)語言特有的所有復(fù)雜字符進(jìn) 行語言特有字符的可顯示性測試,理應(yīng)必須檢查至少十類字符。但是,在上述常規(guī)技術(shù)中,相同模式的字符組被添加在原始語言的每個字符 串之前,從而,考慮到可見性,只能添加兩類或三類的字符。為了覆
蓋更多的字符類型,必須準(zhǔn)備多個具體化資源文件。鑒于上面所述,本申請的發(fā)明人對常規(guī)技術(shù)的模擬翻譯進(jìn)行了一 些改進(jìn)。第一種改進(jìn)在于對于原始語言的資源文件中的每個項目,在 原始語言的字符串的第一字符的前后,或者只在前面添加翻譯目標(biāo)語 言的很可能導(dǎo)致問題的不同字符。第二種改進(jìn)在于在包括在資源文件中的賦值(assignment)部分前后添加指示賦值部分的開始和結(jié)束的 標(biāo)記。借助這些改進(jìn),在通過參閱模擬翻譯的資源文件進(jìn)行處理的國 際化軟件的輸出的顯示屏幕上,在原始語言的字符串前面顯示翻譯目 標(biāo)語言的不同字符。因此,已能夠利用改進(jìn)的模擬翻譯進(jìn)行國際化軟 件的顯示屏幕上的分類結(jié)果的確認(rèn)測試,而利用上述常規(guī)技術(shù)這是不 可能的。此外,借助改進(jìn)的模擬翻譯,可向原始語言的字符串的不同 第一字符添加任意長度的翻譯目標(biāo)語言的不同字符。從而,在改進(jìn)的 模擬翻譯中,已能夠利用單一的資源文件對大量的語言特有字符進(jìn)行 可顯示性測試。此外,在利用改進(jìn)模擬翻譯的國際化軟件的屏幕顯示 上,指示賦值部分的開始和結(jié)束的標(biāo)記被顯示在賦值部分前后。從而, 賦值部分變成可區(qū)別的,因此,在改進(jìn)的模擬翻譯中,已能夠恰當(dāng)?shù)?對賦值部分進(jìn)行硬編碼字符串的檢測。但是,常規(guī)技術(shù)的改進(jìn)測試方法仍然存在幾個問題。首先,在常 規(guī)技術(shù)的改進(jìn)測試方法中,盡管可以識別賦值部分,不過仍然存在可 能忽略硬編碼字符串的可能性。此外,在常規(guī)技術(shù)的改進(jìn)測試方法中, 盡管可以確認(rèn)作為分類的結(jié)果,字符串的列表被分類,不過對翻譯目 標(biāo)語言一無所知的測試人員不能確定分類結(jié)果是否正確。對于日語或 者具有許多種字符的其它語言,即使知曉翻譯目標(biāo)語言的測試人員也 不能立即確定分類結(jié)果是否正確。此外,就常規(guī)技術(shù)的改進(jìn)方法來說, 類型數(shù)目增多的翻譯目標(biāo)語言的字符被顯示在屏幕上,使得測試人員 不能立即確定在顯示在屏幕上的字符中是否存在錯亂字符。此外,在常規(guī)技術(shù)的改進(jìn)測試方法中,試圖在通過參閱模擬翻譯 的資源文件進(jìn)行處理的國際化軟件的單個顯示屏幕上檢查所有的測試 類別,導(dǎo)致測試對象的可見性較差。但是,如果準(zhǔn)備適合于測試類別
的相應(yīng)內(nèi)容的不同具體化資源文件,又必須把國際化軟件重啟與測試 類別的數(shù)目對應(yīng)的次數(shù),這阻礙了高效的測試。鑒于上面所述,本發(fā)明的一個目的是提供一種測試對象的可見性 得到改進(jìn),并且不需要重啟國際化軟件的有效測試國際化軟件的方法、 設(shè)備和程序,以及提供用于所述測試的字體的數(shù)據(jù)結(jié)構(gòu)。本發(fā)明的另 一目的是確保在國際化軟件的測試中,無遺漏地檢測硬編碼字符串。 本發(fā)明的另一目的是確保在國際化軟件的測試中,當(dāng)對多個字符串分 類時,能夠做出分類結(jié)果是否正確的確定,而不管是否具備翻譯目標(biāo) 語言的知識。本發(fā)明的另一目的是在國際化軟件的測試中,使關(guān)于是 否存在錯亂字符的確定變得容易。為了實現(xiàn)上面目的,本發(fā)明提供一種如下所述由計算機(jī)執(zhí)行的測 試國際化軟件的方法。這里,國際化軟件指的是通過參閱具體化資源 文件進(jìn)行處理,并且在多語言環(huán)境中執(zhí)行的軟件。測試國際化軟件的方法包括下述步驟從用第一語言編寫的具體化資源文件讀取數(shù)據(jù);通過參閱具有一對一相互關(guān)聯(lián)的第一語言的字符和第二語言的字符的變換表,把包括在所述數(shù)據(jù)中的第一語言的字符轉(zhuǎn)換成第二語言的字符,從用第一語言編寫的具體化資源文件產(chǎn)生用第二語言編寫的測試資源文件;執(zhí)行國際化軟件;并通過使用為國際化軟件的相應(yīng)測試類別準(zhǔn)備的多種字體之一 ,把從通過參閱作為具體化資源文件的測試資源文件進(jìn)行處理的國際化軟件輸出的輸出信息顯示在屏幕上。這里,包括在輸出信息中的字符代碼可被分成三組與包括在變換表中的第二語言的字符對應(yīng)的第二組的多個字符代碼,這些字符代碼應(yīng)被包括在輸出信息中;與第一語言的字符對應(yīng)的第一組的多個字符代碼,這些字符代碼不應(yīng)被包括在輸出信息中;以及不與第一語言的字符或者包括在變換表中的第二語言的字符對應(yīng)的第三組的多個字符代碼,這些字符代碼不應(yīng)被包括在輸出信息中。此外,當(dāng)使字符形 狀與作為國際化軟件的測試中的測試對象的一組多個字符代碼以及規(guī)定字符編碼方案中的一組其它字符代碼相關(guān)聯(lián)時,采用規(guī)定編碼方案 的多種字體分別使用不同的關(guān)聯(lián)規(guī)則,從而在利用相關(guān)字體的輸出信
息的顯示中,作為測試對象的字符代碼和其它字符代碼是可相互區(qū)分 開的。于是,按照本發(fā)明,按照可與其它字符代碼區(qū)分開的方式顯示作 為測試對象的字符代碼,這改進(jìn)了測試對象的可見性。雖然對于每種 測試類別來說,測試對象不同,不過按照本發(fā)明,為相應(yīng)測試類別準(zhǔn) 備多種字體,以致僅僅通過利用對應(yīng)的字體,就能夠提供適合于每種測試類別的測試的顯示屏幕,而不需要重啟國際化軟件。最好,利用多種字體之一顯示輸出信息的步驟包括利用用戶從所 述多種字體中選擇的一種字體顯示輸出信息的步驟。另一方面,上述l種字體來顯示輸出信息的;驟。此外,變換表最好具^與第二語言 的可能導(dǎo)致顯示問題的一些字符一對一關(guān)聯(lián)的第一語言的一些字符。此外,測試類別最好包括硬編碼字符串的檢測。在用于硬編碼字 符串的檢測的字體中,第 一組對應(yīng)于作為測試對象的 一組多個字符代 碼,第一組的字符代碼均無修改地與對應(yīng)于相關(guān)字符代碼的第一語言 的字符的字符形狀相關(guān)聯(lián)。最好,上述字體使規(guī)定字符編碼方案中的 每個其它字符代碼均與相同的字符形狀相關(guān)聯(lián)。相同的字符形狀最好 是不太經(jīng)常使用的符號,或者不明顯的符號,比如中空的方塊符號。此外,測試類別最好包括按照在第二語言中定義的字符的順序的字符串的分類結(jié)果的有效性。在用于確定分類結(jié)果的有效性的字體中, 第二組與作為測試對象的一組多個字符代碼對應(yīng),并且第二組的字符 代碼均與指示關(guān)于和相關(guān)字符代碼對應(yīng)的第二語言的字符定義的順序的字符形狀相關(guān)聯(lián)。最好,上述字體使規(guī)定字符編碼方案中的每個其 它字符代碼均與相同的字符形狀相關(guān)聯(lián)。相同的字符形狀最好是不太 經(jīng)常使用的符號,或者不明顯的符號,比如中空的方塊符號。此外,測試類別最好包括第二語言特有的字符的可顯示性。在用 于確定可顯示性的字體中,第三組對應(yīng)于作為測試對象的一組多個字 符代碼,并且第三組的字符代碼均與相同的字符形狀相關(guān)聯(lián)。相同的 字符形狀最好是不太經(jīng)常使用的符號,或者明顯的符號。
此外,測試類別最好包括確認(rèn)包括在用第一語言編寫的具體化資 源文件中的字符串的字符串確認(rèn)。在用于字符串確認(rèn)的字體中,第二 組對應(yīng)于作為測試對象的一組多個字符代碼,并且第二組的字符代碼 均與第一語言的字符的字符形狀相關(guān)聯(lián),第一語言的該字符具有與相 關(guān)字符代碼對應(yīng)的第二語言的字符,作為當(dāng)生成測試資源文件時的"變
換為(converted-to),,字符。在上述測試類別中,第一組還對應(yīng)于作為 測試對象的一組多個字符代碼,并且第一組的字符代碼均無修改地和 與相關(guān)字符代碼對應(yīng)的第一語言的字符的字符形狀相關(guān)聯(lián)。
按照本發(fā)明的另 一方面,提供一種在國際化軟件的測試中使用的 采用規(guī)定字符編碼方案的字體的數(shù)據(jù)結(jié)構(gòu),所述國際化軟件參閱通過 根據(jù)變換表,把包括在用第一語言編寫的具體化資源文件中的第一字 符的所有字符一對一地轉(zhuǎn)換成第二語言的字符產(chǎn)生的測試資源文件。 所述數(shù)據(jù)結(jié)構(gòu)包括作為測試中的測試對象的多個第一字符代碼;按 照第一規(guī)則一對一地與多個第一字符代碼關(guān)聯(lián)的多項第一字符形狀信 息;作為規(guī)定字符編碼方案中的其它字符代碼的多個第二字符代碼; 和按照第二規(guī)則一對一地與多個第二字符代碼關(guān)聯(lián)的多項第二字符形 狀信息。
這里,所述多個第一字符代碼對應(yīng)于和第一語言的字符對應(yīng)的多 個字符代碼,與包括在變換表中的第二語言的字符對應(yīng)的多個字符代 碼,和不與第一語言的字符或者包括在變換表中的第二語言的字符對 應(yīng)的多個字符代碼中的一個。當(dāng)從通過參閱測試資源文件進(jìn)行處理的 國際化軟件的輸出中檢測出第 一字符代碼時,從字體數(shù)據(jù)中取回與相
關(guān)第一字符代碼對應(yīng)的第一字符形狀信息,并把其用于屏幕顯示。當(dāng) 從輸出中檢測出第二字符代碼時,從字體數(shù)據(jù)中取回與相關(guān)第二字符 代碼對應(yīng)的第二字符形狀信息,并把其用于屏幕顯示。
雖然上面把本發(fā)明說明為測試國際化軟件的方法,不過也可把本 發(fā)明理解為設(shè)備、程序或存儲所述程序的存儲介質(zhì)。此外,結(jié)合測試 國際化軟件的方法說明的特征適合于說明為本發(fā)明的另一方面的用于 測試國際化軟件的測試的字體的數(shù)據(jù)結(jié)構(gòu)。此外,說明為字體的數(shù)據(jù)
結(jié)構(gòu)的本發(fā)明也可被理解為存儲字體的相關(guān)數(shù)據(jù)結(jié)構(gòu)的記錄介質(zhì)。按照本發(fā)明,可在改進(jìn)測試對象的可見性,并且不需要對每種測 試類別重啟國際化軟件的情況下,對在不同于原始語言的語言環(huán)境中 執(zhí)行的國際化軟件給用戶的輸出進(jìn)行有效測試。在本發(fā)明的實施例的 下述描述中將說明其它優(yōu)點。
圖1A表示測試對象程序的具體化資源文件的一個例子,圖1B 表示測試對象程序的一部分源代碼的例子,圖1C表示測試對象程序 的輸出屏幕的例子;圖2A表示基于常規(guī)技術(shù)的模擬翻譯資源文件的例子,圖2B表 示測試對象程序的輸出屏幕的例子;圖3表示按照本發(fā)明的實施例的創(chuàng)建測試資源文件的設(shè)備,和按 照本發(fā)明的實施例的測試測試對象程序的設(shè)備的配置例子;圖4A表示測試對象程序的具體化資源文件的例子,圖4B表示 按照本發(fā)明的實施例的變換表的例子,圖4C表示按照本發(fā)明的實施 例的測試資源文件的例子;圖5表示圖解說明按照本發(fā)明的實施例的創(chuàng)建測試資源文件的設(shè) 備的處理流程的例子的流程圖;圖6表示利用常規(guī)字體顯示測試對象程序的執(zhí)行結(jié)果的顯示屏幕 的例子;圖7A表示按照本發(fā)明的實施例的硬編碼字符檢測字體的例子, 圖7B表示利用硬編碼字符檢測字體顯示測試對象程序的處理結(jié)果的 顯示屏幕的例子;圖8A表示按照本發(fā)明的實施例的錯亂字符檢測字體的例子,圖 8B表示利用錯亂字符檢測字體顯示測試對象程序的處理結(jié)果的顯示 屏幕的例子;圖9A表示按照本發(fā)明的實施例的反轉(zhuǎn)字體的例子,圖9B表示 利用反轉(zhuǎn)字體顯示測試對象程序的處理結(jié)果的顯示屏幕的例子;
圖10A表示按照本發(fā)明的實施例的分類字體的例子,圖IOB表示利用分類字體顯示測試對象程序的處理結(jié)果的顯示屏幕的例子;圖11A表示圖解說明按照本發(fā)明的實施例的測試測試對象程序 的設(shè)備的處理流程的例子的流程圖,圖IIB表示圖解說明利用指定的 字體,創(chuàng)建處理結(jié)果的顯示屏幕的處理流程的例子的流程圖; 圖12表示按照本發(fā)明的實施例的整個系統(tǒng)的實現(xiàn)例子; 圖13表示圖解說明圖12中所示的整個系統(tǒng)的處理流程的例子的 流程圖;圖14表示顯示的用于選擇待使用字體的對話框的例子; 圖15表示按照本發(fā)明的實施例的創(chuàng)建測試資源文件的設(shè)備和按 照本發(fā)明的實施例的測試測試對象程序的設(shè)備的硬件配置的例子。
具體實施方式
雖然下面將參考附圖詳細(xì)說明實現(xiàn)本發(fā)明的最佳方式,不過下面的實施例并不限制在請求專利保護(hù)的權(quán)利要求中描述的本發(fā)明。此外, 在實施例中討論的特征的所有組合不一定是本發(fā)明的解決手段所必不 可少的。在實施例的說明中,相同的部件用相同的附圖標(biāo)記表示。在說明本發(fā)明之前,參考圖1A、 1B、 1C、 2A和2B說明國際化 軟件的具體化資源文件,改進(jìn)的模擬翻譯方法及其問題。下面,國際 化軟件被稱為"待測試程序"或者"測試對象程序",具體化資源文件被 簡稱為"資源文件"。作為資源文件的一個例子,圖1A表示原始語言 為英語的測試對象程序的資源文件100。如附圖中所示,資源文件包 括多個項目,每個項目由關(guān)鍵字(key)和賦予該關(guān)鍵字的字符串組成。 當(dāng)測試對象程序在執(zhí)行的時候遇到某個關(guān)鍵字時,它搜索資源文件尋 找相關(guān)關(guān)鍵字,并讀取賦予該關(guān)鍵字的字符串的值。下面利用圖1B 中所示的源代碼105和圖1C中所示的測試對象程序的輸出屏幕110 更詳細(xì)地說明該操作。包括在源代碼105中的命令"showMessage()"是在屏幕上顯示通 過把第二個變元賦予包括在第一個變元的字符串中的變量而獲得的字 符串的命令。具體地說,當(dāng)執(zhí)行"showMessage(),,命令時,測試對象程 序從資源文件100取回作為第一個變元的關(guān)鍵字"MSG01",并讀取對 應(yīng)的字符串值"The status is {0}."。測試對象程序隨后把作為第二個變 元接收的"Green"賦予讀取的字符串值的(0),從而最終在屏幕上顯示 "The status is Green.",如圖1C中在115中所示。注意包括在賦予關(guān) 鍵字MSGOl的字符串中的{0}是"賦值部分",賦予{0}的變量的值在執(zhí) 行時確定?,F(xiàn)在,參考圖2A和2B說明改進(jìn)的模擬翻譯方法及其問題。如 上所述,在改進(jìn)的模擬翻譯中,對于原始語言的資源文件中的每個項 目,在原始語言的字符串的第一個字符前后添加很可能導(dǎo)致問題的翻 譯目標(biāo)語言的不同字符。此外,在包括在資源文件中的賦值部分前后 添加指示"開始,,和"結(jié)束"的標(biāo)記。圖2A中所示的模擬翻譯的資源文 件200對應(yīng)于按照改進(jìn)技術(shù)模擬翻譯的圖1A中所示的資源文件100。 這里,翻譯目標(biāo)語言是日語。從圖2A可看出,在本例中,作為很可能導(dǎo)致問題的字符,字符和以及字符"講"和被選擇并被分別添加在字母表的第一個字符"T"和"G"的前后。對于其 它項目的第一個字符,選擇并在不同的字母表前后添加不同的日語字 符。每個項目的第一個字符被放入"(),,中,以便識別第一個字符。此 外,在賦值部分{0}前后添加字符 "開始"和,,終了"
圖2B表示當(dāng)被讀取以便執(zhí)行模擬翻譯的測試對象程序執(zhí)行圖IB 中所示的源代碼時顯示的屏幕205。注視在字段210中顯示的字符串 "Green",字符和"終了,,被顯示在"Green"前后,沒有日語字符被添加在第 一個字符"G"前后, 從而知道該字符串是硬編碼的賦值字符串。列表框215中的三個字符 串的第一個字符都具有在前后添加的不同日語字符,從而知道通過執(zhí) 行分類命令,可能實現(xiàn)分類結(jié)果的確認(rèn)測試。此外,在顯示在按鈕225 上的字符串"Refresh the Status"的第一個字符"R,,前后顯示的日語字 符不同于初始添加的日語字符,從而知道在相關(guān)部分中存在字符和的顯示方面的問題。但是,利用這種改進(jìn)的模擬翻譯的測試方法仍然存在如上所述的 幾個問題。 一個問題在于盡管賦值部分可被識別,不過硬編碼字符串 可能被忽略。至于具有賦值部分的字符串,不僅具有賦予其的字符串 的原始字符串,而且賦值部分中的字符串都必須被確認(rèn)是否是硬編碼 字符串。如上所述根據(jù)字符串的第 一個字符進(jìn)行硬編碼字符串的確認(rèn)。這意味著當(dāng)賦值部分位于字符串的中間時,圖2B的字段210中的字 符串的情況就是這樣,對于未被置于字符串的開始的賦值部分來說, 硬編碼字符串的確認(rèn)是不可能的。另一個問題在于即使能夠確認(rèn)作為分類的結(jié)果,字符串的列表被 重新排列,也難以確定分類是否正確。不僅對于對翻譯目標(biāo)語言一無 所知的測試人員,而且對于知曉翻譯目標(biāo)語言的測試人員來說,都難 以立即確定是否對具有大量字符的語言(例如日語)正確地進(jìn)行了分 類。另一個問題在于在利用改進(jìn)的模擬翻譯的測試方法中,翻譯目標(biāo) 語言的許多種字符被顯示在屏幕上,妨礙立即確定在顯示的字符中是否存在錯亂的字符。例如,不可能通過單獨(dú)查看圖2中的顯示屏幕205, 識別錯亂的字符。此外,就常規(guī)技術(shù)的改進(jìn)測試方法來說,顯示屏幕上測試對象的 可見性較低,因為通過參考模擬翻譯的具體化資源文件進(jìn)行處理的國 際化軟件的單一顯示屏幕被用于試圖同時確認(rèn)結(jié)果。另一方面,如果 為每個測試類別準(zhǔn)備一個適合于測試內(nèi)容的具體體資源文件,那么必 須把國際化軟件重新啟動與測試類別的數(shù)目對應(yīng)的次數(shù),阻礙了高效 的測試。鑒于上面所述,本發(fā)明通過使用新開發(fā)的測試資源文件和為相應(yīng) 的測試類別準(zhǔn)備的多種字體,解決了上述問題。更具體地說,通過利 用為相應(yīng)的測試類別準(zhǔn)備的多種字體,顯示來自通過參考資源文件執(zhí) 行處理的測試對象程序的輸出,在只為測試準(zhǔn)備一個模擬翻譯的資源 文件的同時,本發(fā)明使得能夠為每種測試類別提供適合于測試的顯示 屏幕。在適當(dāng)考慮將與字符代碼關(guān)聯(lián)的字符形狀的同時,通過為相應(yīng) 的測試類別準(zhǔn)備多種字體,并使作為測試對象的字符代碼可與不是測 試對象的字符代碼區(qū)分開,解決了相應(yīng)的測試類別特有的問題。首先,參考圖3、 4A、 4B、 4C、 5A和5B說明按照本發(fā)明的翻 譯資源文件的新方法。隨后,參考圖3、 7A、 7B、 8A、 8B、 9A、 9B、 IOA、 IOB、 IIA和IIB說明利用模擬翻譯的資源文件和為相應(yīng)的測試 類別準(zhǔn)備的多種字體測試測試對象程序的方法。圖3中用虛線劃界的部分是按照本發(fā)明的實施例,創(chuàng)建測試資源 文件的設(shè)備300的功能方框圖。設(shè)備300包括第一存儲單元,用于 保存原始資源文件310和變換表320;測試資源文件生成單元330;和 第二存儲單元,用于保存測試資源文件340。注意第一和第二存儲單 元物理上可以是單個存儲裝置。此外,雖然在本實施例中,Unicode 被用作規(guī)定的字符編碼方案,不過本發(fā)明并不局限于此。當(dāng)然可以采 用任何其它字符編碼方案。這里使用的"字符代碼"是與字符關(guān)聯(lián)的代 碼,在Unicode中被稱為"碼點,,(code point)。
原始資源文件310是測試對象程序在執(zhí)行期間參閱的原始資源文 件。作為原始資源文件310的一個例子,圖4A表示原始語言為英語的資源文件400。在本實施例中,翻譯目標(biāo)語言是日語。變換表320 是其中作為第一種語言的原始語言的字符和作為第二種語言的翻譯目標(biāo)語言的字符一一對應(yīng)關(guān)聯(lián)的表格。為了能夠?qū)崿F(xiàn)這樣的一對一映射, 要求在翻譯目標(biāo)語言中使用的字符的字符代碼的范圍大于在原始語言 中使用的字符的字符代碼的范圍。例如,英語(ASCII碼)使用字符代 碼的最小范圍,從而可選擇日語、漢語、韓語或法語作為翻譯目標(biāo)語 言。相反,當(dāng)法語是原始語言時,盡管可以選擇日語或漢語作為翻譯 目標(biāo)語言,不過不可能選擇英語。最好,在變換表320中,原始語言 的一些字符一對一地與翻譯目標(biāo)語言的很可能導(dǎo)致顯示問題的字符關(guān) 聯(lián)。這里,關(guān)于日語字符舉例說明很可能導(dǎo)致顯示問題的字符。首先,曰語字符 ,'表',,,,噂',和,,y "都具有其中第二個字節(jié)與在英語環(huán)境中用作換行等的控制代碼的位模 式對應(yīng)的字符代碼,從而在使用的某類字符編碼方案中可能不被正確 顯示。此外,在使用的某類字符編碼方案中,包括 "鰺"在內(nèi)的幾個日語字符可能被轉(zhuǎn)換成不同的字符。例如,雖然 "錄"的字符代碼在Unicode中為U+9BF5,不過在稱為"MS932"的字符編 碼方案中,它被轉(zhuǎn)換成0X88B1,而在稱為"CCSID 942"的字符編碼方 案中,它被轉(zhuǎn)換成0XE9CB。甚至除已知可能導(dǎo)致問題的那些字符之 外的字符也可能不被正確顯示。因此,在變換表320中,可取的是原 始語言的一些字符一對一地與翻譯目標(biāo)語言的很可能導(dǎo)致問題的字符
關(guān)聯(lián),以致變換表320既包括正常的字符,又包括很可能導(dǎo)致顯示問 題的字符。作為變換表320的一個例子,圖4B表示了變換表405,其中英 語字符一對一地與日語字符關(guān)聯(lián)。在變換表405中,左側(cè)的兩列中是 英語字符和賦予其的字符代碼,右側(cè)的兩列中的是對應(yīng)的日語字符和 賦予其的字符代碼。變換表320定義在原始語言中使用的字符的對應(yīng) 性,除了元字符之外,所述元字符是當(dāng)利用規(guī)則表達(dá)式創(chuàng)建圖案時使 用的符號。從變換表405可看出,在Unicode中,除元字符之外的英 語字符被賦予從U+0020 U+007E的字符代碼。這里,英語大寫字母 "S"、 "T,,和"U"分別與很可能導(dǎo)致問題的',表',,和i, y ,,關(guān)聯(lián)。測試資源文件生成單元330從第一存儲單元讀取原始資源文件 310和變換表320,并根據(jù)變換表320把第一種語言的字符轉(zhuǎn)換成第二 種語言的字符,從而根據(jù)用第一種語言編寫的測試對象程序的資源文 件310產(chǎn)生用第二種語言編寫的測試資源文件340。這樣產(chǎn)生的測試 資源文件340被保存在第二存儲單元中,作為測試對象程序的資源文 件。圖4C表示通過根據(jù)變換表405把英語字符轉(zhuǎn)換成日語字符,產(chǎn) 生自原始資源文件400的測試資源文件410。從該圖可看出,測試資 源文件410不包括原始語言(英語)的任何字符。下面參考圖5A和5B中所示的流程圖說明按照本實施例的設(shè)備 300的處理流程的例子。圖5A是圖解說明本實施例的設(shè)備的處理流程 的概略的流程圖。設(shè)備300首先從第一存儲單元讀取原始資源文件 310(步驟500)。設(shè)備300隨后根據(jù)變換表320把第一種語言的字符轉(zhuǎn) 換成第二種語言的字符,從而根據(jù)測試對象程序的用第一種語言編寫 的原始資源文件310生成用第二種語言編寫的測試資源文件340(步驟
505)。最后,設(shè)備300把生成的測試資源文件340保存到第二存儲單 元中(步驟510)?,F(xiàn)在參考圖5B詳細(xì)說明步驟505中的處理。首先,作為預(yù)處理, 設(shè)備300從第一存儲單元讀取變換表320,并從第二存儲單元讀取空 的測試資源文件340。之后,開始主處理,測試資源文件生成單元330 確定原始資源文件310是否包括任何可讀的項目(步驟515)。如果不存 在可讀的項目(步驟515: NO),那么處理被終止。如果確定存在可讀 的項目(步驟515: YES),那么測試資源文件生成單元330從原始資源 文件310讀取一個項目(步驟520)。測試資源文件生成單元330從讀取 的項目中提取關(guān)鍵字,和將其賦給一個變量Key(步驟525),并把變量 Key寫入測試資源文件340中(步驟5:30)。隨后,測試資源文件生成單元330從讀取的項目中提取字符串值, 并將其賦給變量Text(步驟535),另外從變量Text讀取一個字符并將 其賦給變量X(步驟540)。為了確認(rèn)賦值部分,測試資源文件生成單元 330確認(rèn)變量X的值,如果是數(shù)字字符,那么它確認(rèn)變量X前后的值 是否分別對應(yīng)于"{"和"}"(步驟545)。如果變量X的值不是指示賦值部 分的數(shù)字字符(步驟545: NO),那么測試資源文件生成單元330參閱 變換表320,以轉(zhuǎn)換變量X的字符,并把轉(zhuǎn)換后的字符賦給變量Y(步 驟550)。如果變量X的值是指示賦值部分的數(shù)字字符(步驟545: YES), 那么測試資源文件生成單元330把變量X的值原樣賦給變量Y(步驟 555)。假定變換表320這樣定義,以致字符"{,,和"}"在轉(zhuǎn)換之后變成 相同的字符。之后,測試資源文件生成單元330把變量Y寫入測試資 源文件340(步驟560)。隨后確認(rèn)先前從變量Text讀取的字符是否是 最后的字符(步驟565)。如果不是最后的字符(步驟565: NO),那么處 理返回步驟540。如果是最后的字符(步驟565: YES),那么處理返回 步驟515。返回圖3,圖3中由點劃線劃界的部分表示按照本發(fā)明的實施例, 利用模擬翻譯的資源文件和為相應(yīng)的測試類別準(zhǔn)備的多種字體測試測 試對象程序的設(shè)備350的功能方框圖。這里,為了便于說明,單獨(dú)說
明創(chuàng)建測試資源文件的設(shè)備300和測試測試對象程序的設(shè)備350。實 際上,可以用單臺計算機(jī)實現(xiàn)設(shè)備350的功能和設(shè)備300的功能。設(shè) 備350包括:保存測試資源文件340的第二存儲單元,測試對象程序執(zhí) 行單元355,顯示屏幕創(chuàng)建單元360,字體選擇單元365,和包括為相 應(yīng)的測試類別準(zhǔn)備的多種字體的第三存儲單元。包括在第三存儲單元 中的多個字體包括默認(rèn)字體370,硬編碼字符檢測字體375,錯亂字 符檢測字體380,反轉(zhuǎn)字體385,分類字體390,和另一字體395。注 意第二存儲單元和第三存儲單元物理上可以是相同的存儲裝置。如上所述,保存在第二存儲單元中的測試資源文件340是用作為 第二種語言的翻譯目標(biāo)語言編寫的資源文件。測試資源文件340作為 測試對象程序的資源文件被保存在第二存儲單元中。測試對象程序執(zhí) 行單元355執(zhí)行測試對象程序。當(dāng)執(zhí)行測試對象程序時,測試對象程 序執(zhí)行單元355首先從第二存儲單元讀取測試資源文件340,之后, 參閱測試資源文件340以執(zhí)行測試對象程序的處理,并輸出處理結(jié)果。顯示屏幕創(chuàng)建單元360從測試對象程序接收處理結(jié)果,并利用包 括在第三存儲單元中的默認(rèn)字體創(chuàng)建處理結(jié)果的顯示屏幕。此時,顯 示屏幕創(chuàng)建單元360把從測試對象程序接收的處理結(jié)果臨時保存在緩 沖器中。創(chuàng)建的顯示屏幕被傳送給顯示裝置以便顯示。當(dāng)從字體選擇 單元365收到字體的指定時,顯示屏幕創(chuàng)建單元360從緩沖器讀取測 試對象程序的處理結(jié)果,并利用指定的字體重新創(chuàng)建處理結(jié)果的顯示 屏幕。創(chuàng)建的顯示屏幕被再次傳送給顯示裝置以便顯示。當(dāng)通過諸如鼠標(biāo)、鍵盤之類的輸入裝置從用戶收到待使用的字體 的選擇請求時,字體選擇單元365查閱第三存儲單元,以確認(rèn)可用的 字體,并創(chuàng)建字體選擇對話框。字體選擇單元365把創(chuàng)建的對話框傳 送給顯示裝置。當(dāng)從用戶收到待使用的字體的指定時,字體選擇單元 365把指定的字體類型通知給顯示屏幕創(chuàng)建單元360?,F(xiàn)在,在說明按照本發(fā)明的實施例為相應(yīng)的測試類別準(zhǔn)備的多種 字體之前,將說明利用標(biāo)準(zhǔn)或常規(guī)字體顯示的測試對象程序的處理結(jié) 果。當(dāng)利用常規(guī)字體顯示通過參閱圖4C中所示的測試資源文件410
進(jìn)行處理的測試對象程序的處理結(jié)果時,得到如圖6中所示的顯示屏 幕660。注意圖1C中所示的顯示屏幕110是通過參閱原始資源文件 100進(jìn)行處理的測試對象程序的處理結(jié)果的顯示屏幕。如上所述,測 試資源文件410不包括任何英語字符,從而,推想沒有任何英語字符 會被顯示在輸出的顯示屏幕上。因此,在圖6中的字段665中顯示的 英語字符串"Green,,是硬編碼字符串。但是在顯示屏幕660中,既存 在日語字符又存在英語字符,使得測試人員難以立即檢測硬編碼的字 符串。此外,顯示在圖6中的按鈕680上的字符串不同于測試資源文件 410中的MSG02的字符串,這意味著它具有錯亂的字符。但是,由于 存在顯示在顯示屏幕660上的多種字符,因此僅僅通過查看顯示屏幕 660,測試人員不可能確定顯示在按鈕680上的字符串包括錯亂的字 符。此外,顯示在圖6中的列表框670上的三個字符串包括各種日語 字符,比如平假名字母,漢語字母,片假名字母和符號,因此,當(dāng)測 試人員進(jìn)行分類時,測試人員不可能立即確定分類結(jié)果是否正確。如 上所述,當(dāng)按照本發(fā)明的實施例的測試資源文件和常規(guī)字體一起使用 時,不可能為每種測試類別提供適合于測試的屏幕顯示。下面,說明按照本發(fā)明的實施例為相應(yīng)的測試類別準(zhǔn)備的多種字 體。首先,說明用于檢測硬編碼字符串的硬編碼字符檢測字體375。 在硬編碼字符串的檢測中,與作為第一種語言的原始語言的字符對應(yīng) 的多個字符代碼對應(yīng)于作為測試對象(或者說檢測對象)的多個字符 代碼。由于通過根據(jù)變換表320把包括在原始資源文件310中的原始 語言的所有字符轉(zhuǎn)換成翻譯目標(biāo)語言的字符,創(chuàng)建按照本發(fā)明的測試 資源文件340,因此可i人為包括在通過參閱測試資源文件340進(jìn)行處碼的字符,或者來源于不是測試對象的另一來源。與包括在變換表320 中的作為第二種語言的翻譯目標(biāo)語言的字符對應(yīng)的字符代碼,和不與 原始語言的字符或者包括在變換表320中的翻譯目標(biāo)語言的字符對應(yīng) 的字符代碼對應(yīng)于不是測試對象的多個字符代碼。 在硬編碼字符檢測字體375中,不是測試對象的所有字符代碼都 與相同的字符形狀關(guān)聯(lián),以便提高作為測試對象的原始語言的字符在 屏幕上的可見性。相同的字符形狀最好是不顯眼的字符形狀,比如中 空的方塊或空白,,不太經(jīng)常使用的字符形狀,或者既不顯眼又不經(jīng)常 使用的字符形狀。另一方面,作為測試對象的原始語言的字符代碼無 修改地與和相關(guān)字符代碼對應(yīng)的原始語言的字符的字符形狀關(guān)聯(lián)。作為硬編碼字符檢測字體375的一個例子,圖7A表示在利用圖 4B中所示的以英語作為原始語言,以日語作為翻譯目標(biāo)語言的變換表 405創(chuàng)建測試資源文件的情況下的硬編碼字符檢測字體的表700。表 700的最左側(cè)一列中是字符代碼,最右側(cè)一列中是賦予對應(yīng)的字符代 碼的硬編碼字符檢測字體中的字形。注意字形指的是賦予字符代碼的 字符形狀。常規(guī)字體的字形添加在表700的中央一列中以便參考。在 表700中,字符代碼U+3000 ~ U+FFEA對應(yīng)于包括在變換表405中 的日語字符。如上所述,由于它們是不作為測試對象的字符代碼,因 此這里它們均被賦予一個中空的方塊字符形狀。在表700中,字符代 碼U+0020 U+007E對應(yīng)于英語字符。如上所述,它們是作為測試對 象的字符代碼,從而它們都被賦予原始字符的字符形狀。表700中的其它字符代碼對應(yīng)于Unicode的多個其它字符代碼。 由于它們不是如上所述的測試對象,因此它們都被賦予一個中空的方 塊字符形狀,和上面說明的字符代碼一樣。應(yīng)注意表700中的行數(shù)并 不指示字符代碼的實際數(shù)目。圖7B表示在利用硬編碼字符檢測字體 的表700,顯示通過參閱圖4C中所示的測試資源文件410進(jìn)行處理測 試對象程序的處理結(jié)果的情況下的顯示屏幕705。在圖7B中,除示于 字段710中的硬編碼字符串"Green"外的字符都被顯示成中空的方塊 符號。因而,當(dāng)使用硬編碼字符檢測字體375時,不是測試對象的字 符都以相同的字符形狀顯示,這使測試人員可以容易地檢測硬編碼字 符,而不受不是檢測對象的字符(包括翻譯目標(biāo)語言的那些非檢測對象 字符)誤導(dǎo)。下面說明錯亂字符檢測字體380,錯亂字符檢測字體380用于確 定作為第二種語言的翻譯目標(biāo)語言特有的字符的可顯示性。在可顯示性的確定中,與原始語言的字符或包括在變換表320中的翻譯目標(biāo)語 言的字符不對應(yīng)的字符代碼對應(yīng)于作為測試對象(或者說檢測對象) 的多個字符代碼。由于通過根據(jù)變換表320,把包括在原始資源文件 310中的原始語言的所有字符轉(zhuǎn)換成翻譯目標(biāo)語言的字符來創(chuàng)建本發(fā) 明的測試資源文件340,因此將包括在已讀取測試資源文件340的測 試對象程序的輸出中的字符應(yīng)是包括在變換表320中的翻譯目標(biāo)語言 的字符。然而,如上結(jié)合硬編碼字符檢測字體375所述,所述輸出可 能包括以源代碼硬編碼的、或者來源于除測試對象外的另 一 資源的原 始語言的字符。原始語言的相關(guān)字符不是作為錯亂的結(jié)果而顯示的那 些字符。于是,如果輸出包括除包含在變換表320中的翻譯目標(biāo)語言 的字符和原始語言的字符之外的任何字符,那么它必定是不應(yīng)該被顯 示的字符,即,錯亂的字符。因而,與原始語言的字符對應(yīng)的字符代碼和與包括在變換表中的代碼。在錯亂字符檢測字體380中,作為測試對象的字符代碼都與相 同的字符形狀關(guān)聯(lián),以便提高作為測試對象的錯亂字符在屏幕上的可 見性。相同的字符形狀最好是明顯的字符形狀,比如郵政標(biāo)記(postal mark),或者不太經(jīng)常使用的明顯的字符形狀。另一方面,不是測試 對象的字符代碼都與相同的字符形狀關(guān)聯(lián),該相同的字符形狀不同于 與作為測試對象的字符代碼關(guān)聯(lián)的字符形狀。該相同的字符形狀最好 是不明顯的字符形狀,比如中空的方塊或者空白。作為錯亂字符檢測字體380的一個例子,圖8A表示在以英語作 為原始語言,以日語作為翻譯目標(biāo)語言,根據(jù)圖4B中所示的變換表 405產(chǎn)生測試資源文件的情況下的錯亂字符檢測字體的表800。表800 的最左側(cè)一列中的是錯亂字符檢測字體380的字符代碼,最右側(cè)一列 中的是賦予對應(yīng)的字符代碼的字形。此外,在中間一列中,是添加的 供參考的常規(guī)字體中的字形。在表800中,字符代碼U+3000 ~ U+FFEA 是與包括在變換表405中的日語字符對應(yīng)的那些字符代碼。如上所述,
它們是不作為測試對象的字符代碼,從而,它們均被賦予一個中空的 方塊字符形狀。在表800中,字符代碼U+0020 ~ U+007E是與英語字符對應(yīng)的那 些字符代碼。如上所述,它們也是不作為測試對象的字符代碼,從而, 它們均被賦予一個中空的方塊字符形狀。表800中的其它字符代碼是 Unicode中的多個其它字符代碼。由于如上所述,它們是作為測試對 象的字符代碼,因此在本例中,它們均被賦予郵政標(biāo)記的字符形狀。 應(yīng)注意表800的行數(shù)并不指示字符代碼的實際數(shù)目。圖8B表示在利用錯亂字符檢測字體380顯示通過參閱圖4C中 所示的測試資源文件410進(jìn)行處理的測試對象程序的處理結(jié)果的情況 下的顯示屏幕810。在圖8B中,郵政標(biāo)記被顯示在按鈕830上,使得 能夠立即明白錯亂的字符被顯示于其上。因而,當(dāng)使用錯亂字符檢測 字體380時,以規(guī)定的字符形狀顯示錯亂的字符,從而使測試人員可 以容易地檢測錯亂的字符,即使翻譯目標(biāo)語言具有許多種字符。此外, 用相同的不明顯的字符形狀顯示不是測試對象的字符,比如在列表框 820中顯示的那些字符,以致測試人員能夠容易地檢測錯亂的字符, 而不受除檢測對象之外的字符(例如正確顯示的翻譯目標(biāo)語言的字符) 誤導(dǎo)。下面說明用于包括在以第一種語言編寫的資源文件中的字符串 的確認(rèn)的反轉(zhuǎn)字體385。在原始字符串的確認(rèn)中,與原始語言的字符 對應(yīng)的字符代碼和與包括在變換表320中的翻譯目標(biāo)語言的字符對應(yīng) 的字符代碼對應(yīng)于作為測試對象(或者說檢測對象)的多個字符代碼。 由于通過根據(jù)變換表320,把包括在原始資源文件310中的原始語言 的所有字符轉(zhuǎn)換成翻譯目標(biāo)語言的字符來創(chuàng)建本發(fā)明的測試資源文件 340 ,因此不可能從通過參閱測試資源文件340執(zhí)行處理的測試對象程 序的輸出屏幕獲得關(guān)于原始字符串的信息。從而,為了獲得關(guān)于原始 字符串的信息,使用與原始語言的字符對應(yīng)的字符代碼和與包括在變 換表320中的翻譯目標(biāo)語言的字符對應(yīng)的字符代碼。不與原始語言的 字符對應(yīng)或者包括在變換表320中的翻譯目標(biāo)語言的字符對應(yīng)的字符
代碼對應(yīng)于不是測試對象的多個字符代碼。為了獲得關(guān)于原始字符代碼的信息,與包括在變換表320中的翻聯(lián),原始語言:該字;具^與相關(guān)字^^對應(yīng)的:譯S:語言的字 符,作為當(dāng)生成測試資源文件340時的"變換為"字符。這樣,它可被 配置成以致包括在原始資源文件310中的字符串都以原始語言顯示在 通過參閱本發(fā)明的測試資源文件340進(jìn)行處理的測試對象程序的輸出 屏幕上。此外,與原始語言的字符對應(yīng)的字符代碼都被賦予和相關(guān)字 符代碼對應(yīng)的字符的字符形狀。這確保即使存在硬編碼字符串,也能 夠獲得關(guān)于原始字符串的完美信息。同時,不是測試對象的字符代碼 都與相同的字符形狀關(guān)聯(lián),以方便識別。如上結(jié)合錯亂字符檢測字體 380所述那樣,可以認(rèn)為它們是錯亂字符的字符代碼。即,在利用反 轉(zhuǎn)字體的顯示屏幕中,不僅能夠獲得關(guān)于原始字符串的信息,而且可 以檢測錯亂字符。在這方面,相同的字符形狀最好是明顯的字符形狀, 例如郵政標(biāo)記,或者不太經(jīng)常使用的明顯的字符形狀。作為反轉(zhuǎn)字體385的一個例子,圖9A表示在以英語作為原始語 言,以日語作為翻譯目標(biāo)語言,根據(jù)圖4B中所示的變換表405產(chǎn)生 測試資源文件340的情況下的反轉(zhuǎn)字體的表850。在表850中,為了 便于理解,原始語言(英語)的字符的字符代碼和對應(yīng)的字符被添加 到最左側(cè)的兩列中。因此,位于表850中心的一列表示反轉(zhuǎn)字體385 的字符代碼,最右側(cè)的一列表示賦予對應(yīng)字符代碼的字形。它們之間 的一列表示常規(guī)字體中的字形。在表850中,字符代碼U+3000 ~ U+FFEA是與包括在變換表405中的日語字符對應(yīng)的那些字符代碼。 如上所述,它們是作為測試對象的字符代碼,從而,在轉(zhuǎn)換前,它們 被賦予原始英語字符的字符形狀。參見圖9A中由虛線劃界的部分855,字符代碼U+8868被賦予常規(guī)字體中的 "表"的字符形狀。在反轉(zhuǎn)字體385中,字符代碼U+8868被賦予"S"的字符形狀,"S"是與英語的字符代碼U+0053對應(yīng)的字符,字符代碼U+0053 具有字符代碼U+8868作為"變換為"代碼。在表850中,字符代碼 U+0020~U+007E是對應(yīng)于英語字符的那些字符代碼。如上所述,它 們是與原始語言的字符對應(yīng)的字符代碼,從而,原始語言的字符的字 符形狀被無修改地賦予它們。表850中的其它字符代碼對應(yīng)于Unicode 中的多個其它字符代碼。如上所述,它們對應(yīng)于錯亂字符,從而在本 例中,向它們賦予郵政標(biāo)記的字符形狀。應(yīng)注意表850中的行數(shù)并不 指示字符代碼的實際數(shù)目。圖9B表示在利用反轉(zhuǎn)字體385顯示的、當(dāng)啟動時讀取圖4C中 所示測試資源文件410的測試對象程序的處理結(jié)果的情況下的顯示屏 幕860。如圖9B中所示,除了具有錯亂字符的那部分按鈕880之外, 字符串都以原始語言(英語)顯示,并且屏幕與圖1C中所示的原始 顯示屏幕110大體相同。從而,當(dāng)使用反轉(zhuǎn)字體385時,測試人員能 夠容易地檢測錯亂的字符,同時他/她能夠確認(rèn)原始字符串,而不需要 打開原始資源文件。下面說明分類字體390,分類字體390被用于按照在作為第二種 語言的翻譯目標(biāo)語言中定義的字符的順序,確定字符串的分類結(jié)果的 有效性。在分類結(jié)果的有效性的確定中,與包括在變換表320中的翻碼。由于通過根據(jù)變換表320,把包括在原始資源文件310中的原始 語言的所有字符轉(zhuǎn)換成翻譯目標(biāo)語言的字符來創(chuàng)建本發(fā)明的測試資源 文件340,因此讀取測試資源文件340的測試對象程序的輸出必定包 括包含在變換表320中的翻譯目標(biāo)語言的字符。因此,與作為第一種 語言的原始語言的字符對應(yīng)的字符代碼,以及并不與原始語言的字符 或包括在變換表320中的翻譯目標(biāo)語言的字符對應(yīng)的字符代碼對應(yīng)于 不是測試對象的多個字符代碼。在分類字體3卯中,為了便于在屏幕上確定翻譯目標(biāo)語言的字符 串是否按照在翻譯目標(biāo)語言中定義的字符的順序被正確分類,作為測 試對象的字符代碼均與指示為與相關(guān)字符代碼對應(yīng)的字符定義的順序
的字符形狀相關(guān)聯(lián)。同時,不是測試對象的字符代碼都與相同的字符 形狀相關(guān)聯(lián),所述相同的字符形狀最好是不太經(jīng)常使用的字符形狀, 不明顯的字符形狀,或者不太經(jīng)常使用并且不明顯的字符形狀,比如 中空的方塊或者空白。作為分類字體390的一個例子,圖IOA表示在利用圖4B中所示 的以英語為原始語言,以日語為翻譯目標(biāo)語言的變換表405,創(chuàng)建測 試資源文件340的情況下的分類字體的表900。表900的最左側(cè)一列 中是字符代碼,最右側(cè)一列中是賦予對應(yīng)字符代碼的分類字體中的字 形。在表900的中間一列中,添加常規(guī)字體中的字形以供參考。在表 900中,字符代碼U+3000 ~ U+FFEA是與包括在變換表405中的曰語 字符對應(yīng)的字符代碼。如上所述,它們是作為測試對象的字符代碼,從而,它們均被賦予指示為相關(guān)字符定義的順序的字符形狀。注意"在 翻譯目標(biāo)語言中定義的字符的順序,,可以是任意順序;如何定義字符的順序取決于將進(jìn)行哪種測試。這里,采用包括在變換表405中的日語 字符的字符代碼的順序。對于在常規(guī)字體的字形中被賦予符號的字符 代碼,比如字符代碼U+FFEA,可被賦予諸如中空的方塊之類的不明 顯字符形狀,而不是諸如(93)之類的數(shù)字。在表900中,字符代碼U+0020 ~ U+007E是與英語字符對應(yīng)的字 符代碼。表900中的其它字符代碼對應(yīng)于Unicode中的多個其它字符 代碼。由于如上所述,它們是不作為測試對象的字符代碼,因此在本 例中,它們均被賦予一個中空的方塊字符形狀。應(yīng)注意表900中的行 數(shù)并不指示字符代碼的實際數(shù)目。圖IOB表示在利用分類字體的表卯O 顯示通過參閱圖4C中所示的測試資源文件410執(zhí)行處理的測試對象 程序的處理結(jié)果的情況下的顯示屏幕905。參見圖IOB,將在列表框 915上列舉的字符串的字符都被顯示成數(shù)字。從而,通過檢查與相應(yīng) 字符串的前些字符對應(yīng)的數(shù)字(如果它們是相同的數(shù)字,那么檢查后續(xù) 字符的數(shù)字;下面同樣如此),能夠容易地確定當(dāng)通過點擊按鈕920(參 見圖1C中的按鈕125)執(zhí)行分類命令時的分類結(jié)果是否正確。從而, 當(dāng)使用分類字體390時,即使翻譯目標(biāo)語言具有許多種字符,也能夠
容易地確定分類是否正確。上述四種字體,即,硬編碼字符檢測字體375,錯亂字符檢測字 體380,反轉(zhuǎn)字體385和分類字體3卯可按照下述方式創(chuàng)建。復(fù)制現(xiàn) 有的字體文件并賦予一個新的名稱。利用可從市場上購得的字體編輯 器等打開新創(chuàng)建的字體文件,酌情編輯將被分配給字符代碼的字符形 狀,從而創(chuàng)建本發(fā)明的任意上述字體。當(dāng)然也可通過使用字體編輯器 從頭開始創(chuàng)建本發(fā)明的字體。至于當(dāng)按照本發(fā)明創(chuàng)建字體時指定的字 符編碼方案,可以選擇任何字符編碼方案,只要它包括原始語言的字 符集和翻譯目標(biāo)語言的字符集。
下面,參考圖11A中所示的流程圖,說明按照本發(fā)明的一個實施 例的通過利用模擬翻譯的資源文件和為相應(yīng)測試類別準(zhǔn)備的多種字 體,測試測試對象程序的處理流程的例子。首先,作為預(yù)處理,按照 其可被測試對象程序執(zhí)行單元355,顯示屏幕創(chuàng)建單元360和字體選 擇單元36查閱的方式,測試資源文件340被保存在第二存儲單元中, 為相應(yīng)測試類別準(zhǔn)備的多種字體連同常規(guī)字體一起被保存在第三存儲 單元中。為了實際使用字體,必須把字體安裝到使用所述字體的計算 機(jī)中。后面將結(jié)合一個實現(xiàn)例子說明安裝方法。當(dāng)處理開始時,首先, 測試對象程序執(zhí)行單元355從第二存儲單元讀取測試資源文件340(步 驟600)。測試對象程序執(zhí)行單元355通過查閱測試資源文件340,執(zhí) 行測試對象程序的各種處理(步驟605),并輸出處理結(jié)果(步驟610)。
顯示屏幕創(chuàng)建單元360從測試對象程序接收處理結(jié)果,并利用包 括在第三存儲單元中的默認(rèn)字體創(chuàng)建處理結(jié)果的顯示屏幕(步驟615)。 此時,顯示屏幕創(chuàng)建單元360把從測試對象程序接收的處理結(jié)果臨時 保存在緩沖器中。顯示屏幕創(chuàng)建單元360把創(chuàng)建的顯示屏幕傳送給顯 示裝置(步驟620)。字體選擇單元365等待來自用戶的輸入(步驟625), 當(dāng)收到所述輸入時,它確定接收的輸入是否對應(yīng)于字體選擇請求(步驟 630)。如杲不是字體選擇請求(步驟630: NO),那么處理終止。如果 是字體選擇請求(步驟630: YES),那么字體選擇單元365通過查閱第 三存儲單元,確認(rèn)可用的字體,并創(chuàng)建字體選擇顯示屏幕(步驟635)。 字體選擇單元365隨后把創(chuàng)建的字體選擇顯示屏幕傳送給顯示裝置, 以便顯示在屏幕上(步驟640)。當(dāng)字體選擇單元365從用戶收到待使用的字體的指定時(步驟 645),它向顯示屏幕創(chuàng)建單元360提供和指定字體的類型有關(guān)的信息。 顯示屏幕創(chuàng)建單元360從緩沖器讀取測試對象程序的處理結(jié)果,并利 用用戶選擇的字體重新創(chuàng)建處理結(jié)果的顯示屏幕(步驟650)。顯示屏幕 創(chuàng)建單元360再次把創(chuàng)建的顯示屏幕傳送給顯示裝置(步驟655)。處理 隨后返回步驟625?,F(xiàn)在參考圖IIB,詳細(xì)說明步驟650中的處理。首先,顯示屏幕 創(chuàng)建單元360從緩沖器讀取測試對象程序的處理結(jié)果(步驟660)。顯示 屏幕創(chuàng)建單元360確定讀取的處理結(jié)果是否包括接下來要處理的數(shù)據(jù) (步驟665)。如果不存在接下來要處理的數(shù)據(jù)(步驟665: NO),那么處 理終止。如果存在接下來要處理的任何數(shù)據(jù)(步驟665: YES),那么顯 示屏幕創(chuàng)建單元360從處理結(jié)果讀取接下來要處理的數(shù)據(jù)(步驟670), 并確定所述數(shù)據(jù)是否包括任何字符代碼(步驟675)。如果不包括字符代 碼(步驟675: NO),那么顯示屏幕創(chuàng)建單元360根據(jù)待處理的數(shù)據(jù), 無修改地創(chuàng)建顯示屏幕的一部分(步驟680)。如果在步驟675中確定包 括至少一個字符代碼,那么顯示屏幕創(chuàng)建單元360從用戶指定的字體 中取回賦予相關(guān)字符代碼的字符形狀(步驟685),并使用取回的字符形 狀根據(jù)待處理的數(shù)據(jù)創(chuàng)建顯示屏幕的一部分(步驟690)。按照本發(fā)明的每種字體包括將作為測試對象的多個第一字符代 碼,按照第一規(guī)則與第一字符代碼一對一關(guān)聯(lián)的多項第一字符形狀信 息,作為規(guī)定字符編碼方案的其它字符代碼的多個第二字符代碼,和 按照第二規(guī)則與第二字符代碼一對一關(guān)聯(lián)的多項第二字符形狀信息。 因此,在圖11A中所示的步驟645中指定本發(fā)明的任意字體的情況下, 如果包括在待處理數(shù)據(jù)中的字符代碼是作為測試對象的第一字符代 碼,那么顯示屏幕創(chuàng)建單元360從字體中取回按照第一規(guī)則賦予相關(guān) 第一字符代碼的第一字符形狀信息,并把所述信息用于屏幕顯示。如 果包括在待處理數(shù)據(jù)中的字符代碼是不作為測試對象的第二字符代
碼,那么顯示屏幕創(chuàng)建單元360從字體中取回按照第二規(guī)則賦予第二 字符代碼的第二字符形狀信息,并把該信息用于屏幕顯示。因此,在 顯示屏幕上,按照可區(qū)分的方式顯示作為測試對象的第一字符代碼和 不作為測試對象的第二字符代碼。在步驟680或步驟690之后,處理 返回步驟665。下面參考圖12-14說明本發(fā)明的一個實現(xiàn)例子。圖12表示實現(xiàn) 本發(fā)明的系統(tǒng)950的實現(xiàn)例子。系統(tǒng)950包括Web服務(wù)器970,與 Web服務(wù)器970連接的存儲裝置955,通過網(wǎng)絡(luò)與Web服務(wù)器970 連接的客戶端975,和與客戶端975連接的存儲裝置980。存儲裝置 955包括作為測試對象程序的Web應(yīng)用程序960,和測試資源文件 965。存儲裝置980包括Web瀏覽器985和為相應(yīng)測試類別準(zhǔn)備的多 種字體9卯。當(dāng)通過網(wǎng)絡(luò)從客戶端975收到處理請求時,Web服務(wù)器970啟動 執(zhí)行所述處理的Web應(yīng)用程序960。此外,當(dāng)從Web應(yīng)用程序960 收到處理結(jié)果時,Web服務(wù)器970通過網(wǎng)絡(luò)把處理結(jié)果傳給請求處理 的客戶端975 。作為測試對象程序的Web應(yīng)用程序960從存儲裝置955 被裝入Web服務(wù)器970的RAM中,并由Web服務(wù)器970的中央處 理器(CPU)處理,從而起圖3中所示的測試對象程序執(zhí)行單元355的 作用。在啟動的時候,Web應(yīng)用程序960從存儲裝置955讀取測試資 源文件965,從而通過查閱相關(guān)的測試資源文件965,執(zhí)行所請求的處 理。從Web應(yīng)用程序輸出的處理結(jié)果被傳給Web服務(wù)器970。響應(yīng)來自測試Web應(yīng)用程序960的測試人員的請求,客戶端975 啟動Web瀏覽器985。 Web瀏覽器985從存儲裝置980被裝入客戶端 975的RAM中,并由客戶端975的CPU執(zhí)行,從而起圖3中所示的 顯示屏幕創(chuàng)建單元360和字體選擇單元365的作用。響應(yīng)測試人員的 輸入,Web瀏覽器985向Web服務(wù)器970請求Web應(yīng)用程序960提 供的處理。當(dāng)從Web服務(wù)器970收到處理結(jié)果時,充當(dāng)顯示屏幕創(chuàng)建 單元360的Web瀏覽器985利用默認(rèn)字體創(chuàng)建處理結(jié)果的顯示屏幕, 并把其顯示在客戶端975的顯示器上。
當(dāng)從測試人員收到字體選擇請求時,充當(dāng)字體選擇單元365的 Web瀏覽器985通過查閱保存在存儲裝置980中的字體,或者通過調(diào) 用獲得可用字體名稱的函數(shù),獲得可用字體的列表,并在客戶端975 的顯示器上顯示字體選擇對話框。當(dāng)從測試人員收到待使用的字體的 指定時,Web瀏覽器985使用指定的字體在客戶端975的顯示器上再 次顯示處理結(jié)果。為了使Web瀏覽器985可以查閱按照本發(fā)明為相應(yīng)測試類別準(zhǔn) 備的多種字體990,必須把字體990安裝到客戶端975中。這樣的安 裝由在客戶端975上運(yùn)行的操作系統(tǒng)(OS)實現(xiàn)。例如,當(dāng)使用Microsoft Windows(注冊商標(biāo))XP作為OS時,利用控制面板中的字體來增加、 修改和管理計算機(jī)的字體,安裝所述字體。在字體的文件菜單中準(zhǔn)備 有"Install new font"。當(dāng)使用XP之前的Microsoft Windows(注冊商標(biāo)) 版本時,可以使用稱為Adobe Type Manager(ATM)的字體管理軟件。 一旦ATM被安裝到計算機(jī)中,那么只需把字體文件拖放到系統(tǒng)文件 夾中和重啟計算機(jī)。下面參考圖13中的流程圖,說明系統(tǒng)950的處理流程。在步驟 700中,Web服務(wù)器970等待來自客戶端的請求。作為客戶端的Web 瀏覽器985等待來自測試人員的輸入(步驟705)。當(dāng)收到對Web應(yīng)用 程序960提供的處理的請求時,Web瀏覽器985把該請求傳給Web 服務(wù)器970(步驟710)。響應(yīng)收到該請求(步驟715), Web服務(wù)器970 啟動Web應(yīng)用程序960(步驟720)。當(dāng)啟動時,Web應(yīng)用程序960讀 取按照本發(fā)明的測試資源文件(步驟725),并參閱該測試資源文件,從 而執(zhí)行所請求的處理(步驟730)。 Web應(yīng)用程序960輸出處理結(jié)果, 并把處理結(jié)果傳給Web服務(wù)器970(步驟735)。響應(yīng)收到處理結(jié)果(步驟740), Web服務(wù)器970把處理結(jié)果傳給 Web瀏覽器985(步驟745)。當(dāng)收到處理結(jié)果時(步驟750), Web瀏覽 器985利用默認(rèn)字體創(chuàng)建處理結(jié)果的顯示屏幕(步驟755),并把其顯示 在客戶端975的顯示器上(步驟760)。 Web瀏覽器985等待來自測試 人員的輸入(步驟765)。當(dāng)收到來自測試人員的輸入時,Web瀏覽器 985確定所述輸入是否對應(yīng)于字體選擇請求(步驟770)。如果是字體選 擇請求(步驟770: YES),那么Web瀏覽器985查閱存儲裝置980, 以檢查可用的字體,并創(chuàng)建包括按照本發(fā)明為相應(yīng)測試類別準(zhǔn)備的多 種字體在內(nèi)的可用字體的列表。Web瀏覽器985使用創(chuàng)建的列表在客戶端975的顯示器上顯示字 體選擇對話框(步驟780)(參見圖14),并等待來自測試人員的字體的指 定。響應(yīng)來自測試人員的字體指定的輸入(步驟785), Web瀏覽器985 使用指定的字體再次顯示處理結(jié)果(步驟790,795)。在步驟770中NO 的情況下,即,如果來自測試人員的輸入不是字體選擇請求,那么處 理進(jìn)入步驟800,在步驟800, Web瀏覽器985執(zhí)行其它處理。在步 驟795或步驟800之后,處理返回步驟765,在步驟765, Web瀏覽 器985再次等待來自測試人員的輸入。在重復(fù)步驟765 ~ 795中的處理 的同時,當(dāng)測試人員在按照本發(fā)明的為相應(yīng)測試類別準(zhǔn)備的那些字體 中切換字體時,如圖7B、 8B、 9B和10B中所示的對應(yīng)顯示屏幕被依 次顯示在客戶端的顯示器上。圖15表示按照本發(fā)明的創(chuàng)建測試資源文件的設(shè)備300的硬件配 置的例子。圖15還表示按照本發(fā)明,利用模擬翻譯的資源文件和為相 應(yīng)測試類別準(zhǔn)備的多種字體,測試測試對象程序的設(shè)備350的硬件配 置的例子。圖15還可被看作當(dāng)在單臺計算機(jī)中實現(xiàn)設(shè)備300的功能和 設(shè)備350的功能時的計算機(jī)的硬件配置的例子。在參考圖12-14說明 的系統(tǒng)950中,設(shè)備350由兩臺計算機(jī)構(gòu)成,即Web服務(wù)器970和客 戶端975。在這種情況下,圖15中所示的硬件配置可被看作每個Web 服務(wù)器970和客戶端975的硬件配置的例子。系統(tǒng)1000包括CPU外圍部分,它包括由主控制器1015相互 連接的CPU 1010和RAM 1040,圖形控制器1020和顯示裝置1025; 輸入/輸出部分,它包括通過輸入/輸出控制器1030與主控制器1015 連接的通信接口 1070,石更盤驅(qū)動器1050和CD-ROM驅(qū)動器1060; 和傳統(tǒng)輸入/輸出部分,它包括與輸入/輸出控制器1030連接的超級I/0 控制器1080,與超級I/O控制器1080連接的軟盤驅(qū)動器1090,閃速
ROM 1100和鍵盤鼠標(biāo)控制器1110。主機(jī)控制器1015連接CPU 1010與RAM 1040, CPU 1010以高 的傳送速率訪問RAM 1040。 CPU 1010才艮據(jù)保存在硬盤中的程序工 作,從而控制各個部分。按照本發(fā)明的測試測試對象程序的程序保存 在記錄介質(zhì)中,比如光學(xué)記錄介質(zhì),例如軟盤、CD-ROM、 DVD或 PD,磁光記錄介質(zhì),例如MD,或者半導(dǎo)體存儲器,例如IC卡中, 并被提供給用戶。另一方面,測試測試對象程序的程序可通過網(wǎng)絡(luò)從 外部計算機(jī)下載。類似地,按照本發(fā)明的為相應(yīng)測試類別準(zhǔn)備的多種 字體被保存在記錄介質(zhì)中,比如光學(xué)記錄介質(zhì),例如軟盤、CD-ROM、 DVD或PD,磁光記錄介質(zhì),例如MD,或者半導(dǎo)體存儲器,例如IC 卡中,或者通過網(wǎng)絡(luò)下栽,并被提供給用戶。輸入/輸出控制器1030連接主控制器1015與通信接口 1070,硬 盤驅(qū)動器1050和CD-ROM驅(qū)動器1060,它們是相對高速的輸入/輸 出裝置。通信接口 1070通過網(wǎng)絡(luò)與另一計算機(jī)通信。CD-ROM驅(qū)動 器1060從CD-ROM讀取程序或數(shù)據(jù),并通過輸入/輸出控制器1030 把讀取的程序或數(shù)據(jù)提供給CPU 1010。輸入/輸出控制器1030與閃速 存儲器1100連接,并與相對低速的輸入/輸出裝置,比如軟盤驅(qū)動器 1090和鍵盤鼠標(biāo)控制器1110連接。閃速ROM 1100保存當(dāng)啟動設(shè)備 系統(tǒng)1000時,由CPU 1010執(zhí)行的引導(dǎo)程序,取決于硬件的程序和其 它程序。軟盤驅(qū)動器1090從軟盤讀取程序或數(shù)據(jù),并通過RAM 1040 把讀取的程序或數(shù)據(jù)提供給超級I/O控制器1080。超級I/O控制器 1080通過并行端口、串行端口、鍵盤端口、鼠標(biāo)端口等連接軟盤和各 種輸入/輸出裝置。雖然上面結(jié)合實施例說明了本發(fā)明,不過本發(fā)明的技術(shù)范圍并不 局限于在實施例中說明的范圍。對于本領(lǐng)域的技術(shù)人員來說,顯然可 對上面的實施例做出各種修改和改進(jìn)。因此,這樣的修改或改進(jìn)實施 例自然包括在本發(fā)明的技術(shù)范圍中。
權(quán)利要求
1、 一種由計算機(jī)執(zhí)行的測試國際化軟件的方法,所述國際化軟件通過參閱具體化資源文件進(jìn)行處理,所述方法包括下述步驟 從用第 一語言編寫的具體化資源文件讀取數(shù)據(jù); 通過參閱具有一對一相互關(guān)聯(lián)的第一語言的字符和第二語言的字符的變換表,把包括在所述數(shù)據(jù)中的第一語言的字符轉(zhuǎn)換成笫二語言的字符,從用第一語言編寫的具體化資源文件產(chǎn)生用第二語言編寫的測試資源文件;執(zhí)行國際化軟件;和通過使用為國際化軟件的相應(yīng)測試類別準(zhǔn)備的多種字體之一,把 從通過參閱作為具體化資源文件的測試資源文件進(jìn)行處理的國際化軟件輸出的輸出信息顯示在屏幕上,其中包括在輸出信息中的字符代碼可被分成三組與包括在變換 表中的第二語言的字符對應(yīng)的第二組的多個字符代碼,這些字符代碼 應(yīng)被包括在輸出信息中;與第一語言的字符對應(yīng)的第一組的多個字符 代碼,這些字符代碼不應(yīng)被包括在輸出信息中;以及不與第一語言的 字符或者包括在變換表中的第二語言的字符對應(yīng)的第三組的多個字符 代碼,這些字符代碼不應(yīng)被包括在輸出信息中,并且其中當(dāng)使字符形狀與作為國際化軟件的測試中的測試對象的一 組多個字符代碼以及規(guī)定字符編碼方案中的一組其它字符代碼相關(guān)聯(lián) 時,所述多種字體各使用不同的關(guān)聯(lián)規(guī)則,從而在利用相關(guān)字體的輸 出信息的顯示中,作為測試對象的字符代碼和其它字符代碼是可相互 區(qū)分開的。
2、 按照權(quán)利要求1所述的方法,其中利用多種字體之一顯示輸 出信息的步驟包括利用用戶從所述多種字體中選擇的一種字體顯示輸 出信息的步驟。
3、 按照權(quán)利要求1所述的方法,其中利用多種字體之一顯示輸 出信息的步驟包括通過把正在使用的字體轉(zhuǎn)換成用戶從所述多種字體中選擇的一種字體來顯示輸出信息的步驟。
4、 按照權(quán)利要求1所述的方法,其中變換表具有與第二語言的 可能導(dǎo)致顯示問題的一些字符一對一關(guān)聯(lián)的第一語言的一些字符。
5、 按照權(quán)利要求1所述的方法,其中測試類別包括硬編碼字符 串的檢測,并且在用于硬編碼字符串的檢測的字體中,第一組對應(yīng)于 作為測試對象的一組多個字符代碼,第一組的字符代碼均無修改地與 對應(yīng)于相關(guān)字符代碼的第一語言的字符的字符形狀相關(guān)聯(lián),并且規(guī)定 字符編碼方案中的其它字符代碼均與相同的字符形狀相關(guān)聯(lián)。
6、 按照權(quán)利要求1所述的方法,其中測試類別包括按照在第二 語言中定義的字符的順序的字符串分類結(jié)果的有效性的確定,并且在 用于確定分類結(jié)果的有效性的字體中,第二組與作為測試對象的一組多個字符代碼對應(yīng),第二組的字符代碼均與指示為和相關(guān)字符代碼對 應(yīng)的第二語言的字符定義的順序的字符形狀相關(guān)聯(lián),規(guī)定字符編碼方案中的其它字符代碼均與相同的字符形狀相關(guān)聯(lián)。
7、 按照權(quán)利要求1所述的方法,其中測試類別包括第二語言特 有的字符的可顯示性的確定,在用于確定可顯示性的字體中,第三組 對應(yīng)于作為測試對象的一組多個字符代碼,并且第三組的字符代碼均 與相同的字符形狀相關(guān)聯(lián)。
8、 按照權(quán)利要求1所述的方法,其中測試類別包括確認(rèn)包括在 用第一語言編寫的具體化資源文件中的字符串的字符串確認(rèn),在用于 字符串確認(rèn)的字體中,第二組對應(yīng)于作為測試對象的一組多個字符代 碼,并且第二組的字符代碼均與第一語言的字符的字符形狀相關(guān)聯(lián), 第一語言的該字符具有與相關(guān)字符代碼對應(yīng)的第二語言的字符,作為 當(dāng)生成測試資源文件時的"變換為"字符。
9、 一種測試通過參閱具體化資源文件進(jìn)行處理的國際化軟件的 設(shè)備,包括第一存儲單元,用于保存用第一語言編寫的具體化資源文件以及 一變換表,所述變換表具有一對一相互關(guān)聯(lián)的第一語言的字符和第二 語言的字符;生成裝置,用于通過參閱變換表,把第一語言的字符轉(zhuǎn)換成第二語言的字符,從具體化資源文件生成用第二語言編寫的測試資源文件;第二存儲單元,用于保存生成的測試資源文件; 執(zhí)行國際化軟件的裝置;和顯示屏幕創(chuàng)建單元,用于創(chuàng)建其中利用為國際化軟件的相應(yīng)測試 類別準(zhǔn)備的多種字體之一,顯示從通過參閱作為具體化資源文件的測 試資源文件進(jìn)行處理的國際化軟件輸出的輸出信息的顯示屏幕,其中包括在輸出信息中的字符代碼可被分成三組與包括在變換 表中的第二語言的字符對應(yīng)的第二組的多個字符代碼,這些字符代碼 應(yīng)被包括在輸出信息中;與第一語言的字符對應(yīng)的第一組的多個字符 代碼,這些字符代碼不應(yīng)被包括在輸出信息中;以及不與第一語言的 字符或者包括在變換表中的第二語言的字符對應(yīng)的第三組的多個字符 代碼,這些字符代碼不應(yīng)被包括在輸出信息中,并且其中當(dāng)使字符形狀與作為國際化軟件的測試中的測試對象的一 組多個字符代碼以及規(guī)定字符編碼方案中的一組其它字符代碼相關(guān)聯(lián) 時,所述多種字體各使用不同的關(guān)聯(lián)規(guī)則,從而在利用相關(guān)字體的輸 出信息的顯示中,作為測試對象的字符代碼和其它字符代碼是可相互 區(qū)分開的。
10、 一種測試通過參閱具體化資源文件進(jìn)行處理的國際化軟件的 程序產(chǎn)品,所述程序產(chǎn)品使計算機(jī)執(zhí)行按照前述任意方法權(quán)利要求所 述的方法的步驟。
全文摘要
為國際化軟件提供有效的測試方法。該方法包括根據(jù)變換表,一對一地把第一語言的字符轉(zhuǎn)換成第二語言的字符,模擬翻譯用國際化軟件的第一語言編寫的具體化資源文件;利用為相應(yīng)測試類別準(zhǔn)備的多種字體之一,顯示來自通過參閱模擬翻譯的測試資源文件進(jìn)行處理的國際化軟件的輸出信息。包括在輸出信息中的字符代碼被分成應(yīng)包括在輸出信息中的與第二語言的字符對應(yīng)的字符代碼以及不應(yīng)包括在輸出信息中的與第一語言的字符對應(yīng)的字符代碼及其它字符代碼。當(dāng)使字符形狀與作為測試對象的一組字符代碼及一組其它字符代碼關(guān)聯(lián)時,每種字體使用不同的關(guān)聯(lián)規(guī)則,從而通過利用相關(guān)字體,在輸出信息顯示中,作為測試對象的字符代碼和其它字符代碼可相互區(qū)分。
文檔編號G06F9/44GK101145102SQ20071014828
公開日2008年3月19日 申請日期2007年9月4日 優(yōu)先權(quán)日2006年9月11日
發(fā)明者伊藤祐子, 伊藤隆晴, 有馬俊道, 青山希 申請人:國際商業(yè)機(jī)器公司