Automated Multilingual Software Testing via Dynamic Resource Bundle Discovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current automated testing methods for multilingual software applications require manual translation and duplication of resource files, are costly, and fail to dynamically discover locale-specific resources, leading to inefficiencies and inaccuracies.

Innovation Solution

A system and method that determines and accesses pre-existing resource files within the software application to provide translations for testing, eliminating the need for manual translation and ensuring accurate matching with the application under test, while dynamically discovering necessary resource files based on the application's locale.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual translation and duplication of resource files is used for each language, then translations can be provided for testing, but translation costs and maintenance efforts increase significantly

Engineering Contradiction:
Improvetranslation accuracyVSAvoidresource file management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses the application's own resource bundle files as the source of translations for test commands. Instead of manually creating separate translation files for testing, the system copies/uses the existing resource bundles that the application already employs for its user interface. This ensures translation accuracy matches the application while eliminating duplicate translation work.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent makes the application's resource bundle files serve dual purposes: both for the application's user interface localization and for translating test commands. By making these files universally usable for both purposes, the system eliminates the need for separate translation processes while ensuring consistency between the application and test translations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If separate resource bundle files are created for each localized language, then translations are available, but synchronization with the application becomes prohibitively expensive and complex

Engineering Contradiction:
Improvelanguage supportVSAvoidmaintenance efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges the translation source for both the application and the test tool into a single set of resource bundle files. Instead of maintaining separate translation files for the application and for testing, the system combines both uses into the same resource bundle infrastructure, so that one set of files serves both purposes simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system allows the application's own resource bundle files to automatically serve the test tool's translation needs. The resource bundles are self-sufficient and can be directly utilized by the test automation framework without requiring separate translation maintenance, enabling the system to service its own translation requirements.

Inventive Principle:
Principle #25Self-service

3Loss of information

If ResourceBundles are manually set up in the test tool, then translations are accessible, but dynamic discovery of locale-specific resources is not possible

Engineering Contradiction:
Improvelocale resource availabilityVSAvoidconfiguration effort
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent implements a mechanism where the test tool dynamically queries the application to discover which resource bundle files and locales are available. This feedback loop allows the test system to automatically detect the application's locale configuration and adapt accordingly, eliminating manual configuration while ensuring the correct translations are used.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system transitions from static, manually configured resource bundle paths to dynamic discovery. The test tool automatically determines the application's locale and locates the appropriate resource bundle files at runtime, allowing the system to adapt to different language configurations without requiring pre-configuration or manual setup.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If the test tool uses a different default locale than the application, then the application can run on various OS systems, but translation mismatches occur

Engineering Contradiction:
ImproveOS compatibilityVSAvoidtranslation accuracy
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

Instead of having the test tool impose its own default locale settings on the application, the patent inverts the approach by having the test tool query the application to determine what locale the application is actually using. This ensures the test translations match the application's locale regardless of the OS or test tool's default settings.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The system dynamically adjusts the locale parameter based on the application's actual configuration rather than using a fixed default. By changing the locale parameter to match the application's setting (determined through dynamic discovery), the system ensures translation accuracy while maintaining OS compatibility.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7543189B2Automated multilingual software testing method and apparatus
Publication Date: 2009.06.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7543189B2 patent drawing
  • US7543189B2 patent drawing
  • US7543189B2 patent drawing

AI summary

A computer system and method tests various language installations of an application program using a single test script. The various language translations existing with the application program are used to provide translations of test command strings from one language to the specific language of the application program (operating system locale for executing the program). The test script may then be translated at runtime using the predefined program-established translations to allow the testing program to test the application program in accordance with the language of the application program/operating system locale.