Software testing: Difference between revisions

Content deleted Content added
m Rollback edit(s) by Umair00111 (talk): Addition of unnecessary/inappropriate external links (RW 16.1)
→‎Internationalization and localization: minor fixes in a few points about localization testing, and add a big new point, that some messages may be untranslated
Line 267:
Testing for [[internationalization and localization]] validates that the software can be used with different languages and geographic regions. The process of [[pseudolocalization]] is used to test the ability of an application to be translated to another language, and make it easier to identify when the localization process may introduce new bugs into the product.
 
Globalization testing verifies that the software is adapted for a new culture (such as different currencies or time zones).<ref>{{Cite web |title=Globalization Step-by-Step: The World-Ready Approach to Testing. Microsoft Developer Network |url=https://msdn.microsoft.com/en-us/goglobal/bb688148 |access-date=January 13, 2012 |publisher=Microsoft Developer Network |archive-url=https://web.archive.org/web/20120623050851/https://msdn.microsoft.com/en-us/goglobal/bb688148 |archive-date=June 23, 2012}}</ref>
 
Actual translation to human languages must be tested, too. Possible localization and globalization failures include:
 
* Software is often localized by translating a list of [[String (computer science)|strings]] out of context, and the translator may choose the wrong translation for an ambiguous source string.
* Technical terminology may become inconsistent, if the project is translated by several people without proper coordination or if the translator is imprudent.
* Literal word-for-word translations may sound inappropriate, artificial or too technical in the target language.
* Untranslated messages in the original language may be left [[Hard coding|hard coded]] in the source code.
* Some messages may be created automatically at [[Run time (program lifecycle phase)|run time]] and the resulting string may be ungrammatical, functionally incorrect, misleading or confusing.
* Software may use a [[keyboard shortcut]] that has no function on the source language's [[keyboard layout]], but is used for typing characters in the layout of the target language.
* Software may lack support for the [[character encoding]] of the target language.
* Fonts and font sizes that are appropriate in the source language may be inappropriate in the target language; for example, [[CJK characters]] may become unreadable, if the font is too small.
* A string in the target language may be longer than the software can handle. This may make the string partly invisible to the user or cause the software to crash or malfunction.
* Software may lack proper support for reading or writing [[bi-directional text]].