Testing internationalized software using test resource file and test font
AssigneeInternational Business Machines Corporation
InventorsNozomu Aoyama, Toshimichi Arima, Takaharu Itoh, Yuko Ito
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsNozomu Aoyama, Toshimichi Arima, Takaharu Itoh, Yuko Ito
Estimating the term…
An efficient testing method is provided for internationalized software executed in a plurality of language environments. The method includes mock-translating an externalized resource file written in a first language of the internationalized software by converting characters of the first language to characters of a second language based on a conversion table; and displaying output information from the internationalized software that performs processing by referring to the mock-translated test resource file using one of a plurality of fonts prepared for respective test categories.
An apparatus for testing software with internationalization software supporting a plurality of languages comprising:
A computer program product stored on a non-transitory computer readable storage medium for testing international software that conducts processing with reference to an externalized resource file, the computer program product being configured to be able, when executed on a computer, to cause the computer to execute the steps of:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Testing of software: test management
Execution arrangements for user interfaces: multi-language systems; Localisation; Internationalisation
Test management: for test design, e.g. generating new test cases
Test management: for test results analysis
About 1 year 2 months of term left · ends 5 Jan 2028 (estimated)
The present invention relates to a technology for testing internationalized software executed in a plurality of language environments. More particularly, the present invention relates to a technology concerning a test of an output to a user from the internationalized software executed in a language environment different from that of an original language, which is capable of improving visibility of test objects to enable efficient testing.
Software supporting a plurality of languages is called “internationalized software”. In the internationalized software, a text string part to be displayed on a screen is separated from the source code, and the text string part thus separated is stored as an externalized resource file. The externalized resource file is referred to upon execution of the internationalized software, and used by the internationalized software to make a screen display. When such a configuration is employed, it is only necessary for a developer of the internationalized software to translate the externalized resource file to another language to make the internationalized software support the other language. Moreover, once the externalized resource file is translated, it is unnecessary to redo the translation even if the execution code is changed.
In a development process of such internationalized software, tests are conducted for various characteristics or aspects (hereinafter, referred to as “test categories”) to see whether the internationalized software operates properly in language environments of different countries. Among them, the tests concerning an output to the user include one that checks whether a message or other character string to be displayed to the user has been separated from the source code and externalized properly as a resource file. In other words, this is a hard-coded character string detection test that confirms that the message or other character string to be displayed to the user is not directly described (i.e., hard-coded) in the source code. There also is a validation test of a sort result that checks whether a list of character strings is sorted properly in the order defined in each language, such as alphabetic order. Also conducted is a displayability test of language-specific characters that checks whether characters specific to each language are displayed properly without being garbled, for example.
FIG. 1A shows an example of an externalized resource file of a test object program, FIG. 1B shows an example of a part of a source code of the test object program, and FIG. 1C shows an example of an output screen of the test object program;
FIG. 2A shows an example of a mock-translated resource file based on a conventional art, and FIG. 2B shows an example of an output screen of the test object program;
FIG. 3 shows a configuration example of an apparatus for creating a test resource file according to an embodiment of the present invention and an apparatus for testing a test object program according to the embodiment of the present invention;
As will be appreciated by one skilled in the art, the present invention may be embodied as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present invention may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium.
Any suitable computer usable or computer readable medium may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any appropriate medium, including but not limited to the Internet, wireline, optical fiber cable, RF, etc.
Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as JAVA™, Smalltalk™, C++ or the like. However, the computer program code for carrying out operations of the present invention may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).