International SPIES in Testing
By: Nancy Kelln
The complexity of translation testing is often overlooked. In past projects I’ve heard – “All we need to do is check that everything is in French and there is no missing content on any of the pages”. Ha! If only it were that easy! There are many aspects to consider. On my most recent project as I went through all the different areas and made a list of each I noticed I had a list of five letters. P I E S S to be exact. With a little shuffling of the letters I came up with SPIES, a mnemonic for testing internationalization. I’m sure these five areas don’t cover all contexts one may need to do for internationalization testing, but I think its a great start.
SPIES Mnemonic
S – Special Characters
Languages like French, German and Spanish contain different characters. In my experience not all applications can handle the various special characters that can make up another language. For a previous project we had a spreadsheet that listed all the special characters in French then tested to make sure our fields could handle these characters. Having an international keyboard designed for your language makes this task easier. Since this testing can be fairly lengthy and boring look into automation to help out. Don’t forget to include special punctuation as well!
P – Pages & Content
In my experience this is typically main focus of all translation testing. But only focusing on this area can get a project into trouble. The testing of Pages and Content is two-fold. The first part checks that all the pages display in the new language. The second part checks that the content (or meaning) of the message is correct. These can both be rolled into one check by enlisting the help of someone fluent in the language you are testing in. To effectively test content you will need to enlist the help of someone who understands both the application and the language you are testing in.
I – Integrations
While the scope of the project may be to only change one application, it is rare that applications stand alone and do not connect with other systems. Our scope may not include internalization changes to those other systems, but can these connecting systems support changes we make on the system that is in scope? We need to consider the other systems we are connecting with. Our changes could cause negative impacts when an integrating system receives characters it isn’t prepared to handle. I once worked on a system that wrongly assumed the comma that French uses to represent fractions of money as a thousands delimiter! Although the receivers of the incorrect cheques were happy our business wasn’t exactly thrilled to be paying 1000x more than the proper amount. When dealing with other connecting systems consider special characters, punctuation, date, time, time zone and decimal formats.
E – Error & Warning Messages
I’ve separated error and warning messages into a separate topic from Pages & Content because I’ve seen the effort of testing message translation can be underestimated. It can be difficult to check that every single error and warning message has been translated. First off there are numerous error and warning messages in a system and getting to each one can be very time consuming. Often times we don’t have the correct conditions to generate all types of error and warning messages. Additionally, unless we have comprehensive documentation detailing every message in the system we may not even know what or where they all are. When approaching message translation testing consider ways to access the messages that do not require you to access the application from the user interface. Review source code for areas where messages are output to end user, compare content files between the original language and the translated language to see that translations have been made, or consider automation. If there is no way to access the system from the back end, focus on the most common messages via the user interface. Finally, don’t overlook logging files or back end error repositories. If translation is required for the entire product it may be a requirement that administrative and support logs be changed as well.
S – Special Formats
Dates, times, time zones, numbers and decimal formats may be different with a translated language. Can your system handle dates as DD-MM-YY and MM-DD-YY? Is 24-hour notation and the 12-hour AM/PM clock both acceptable as time formats? Are monetary values calculated correctly when a decimal point is replaced with a comma or is the system assuming $1,00 is equal to $1,000? Can the timezone be changed? Can the system handle daylight savings? Can daylight savings be turned off? Depending on where the application will be used there could be a number of considerations for special format testing. Investigate the rules for date, time, currency, decimal notation and daylight savings for your region. Often this is one of the areas the most interesting bugs can be found.
So the next time you are handling an International Testing Mission call upon your SPIES. Not only will SPIES help focus your testing it should also help explain the complexities of testing translations to those who may say, “All we need to do is check that all the pages are in language X!”
Nancy Kelln is an independent consultant with 12 years of diverse experience within the IT industry. Nancy is motivated by working with teams who are implementing or enhancing their testing practices; providing adaptive testing approaches in both agile and traditional testing teams. She has coached test teams in various environments and facilitated numerous local and international workshops and presentations. She is an active member of the Calgary Software Quality Discussion Group, Association for Software Testing and the Software Test Professionals organization and has co-founded the Calgary Perspectives on Software Testing Workshop (POST) with Lynn McKee. You can reach Nancy online at www.unimaginedtesting.ca or on Twitter @nkelln.
Your Blog Here

Online Education for Testing Practitioners
Did you pass Foundations? Join us for the second course in our series. Bug reports are not just neutral technical reports. Learn how to write a persuasive bug report that provides high-quality information, is well written, and helps stakeholders make wise decisions about which bugs to fix.Learn more »
Are You a Member?
We believe great software testing requires Craftsmanship, Science, and Passion. Learn More »
Join Us!
Renew
Update Profile
Blog Feed
SummerQAmp Brain Dump: Need BRAAIINS!!!
We are rapidly approaching Summer, and with Summer comes summer internships. Specifically, SummerQAmp internships! With this initiative come up very soon, Michael Larsen and participants in the Education Special Interest Group are actively working to get their ideas down for the education modules that AST is preparing for SummerQAmp. The initial plan was to write everything [...]
Estonian II Context-driven Testers Peer Conference – PEST2
Experience Report Provided by: Kristjan Uba Date: 16-18 March, 2012 Location: Tallinn, Estonia Twitter: #PEST2 Web: http://www.testerstower.com/ PEST2 = 9 peers from 6 companies for 2 days with infinite amount of good ideas. Not counting the beers and fun. The conference theme was “Taking one for the team.” Ideas discussed at this peer conference include: [...]
Context-Driven Dining
Experience report provided by Rajesh Mathur 3/14/12 Hong Kong AST’s Grant program sponsored a group of software testers for an evening of dinner and discussion. The question of the night: How to Improve Effectiveness of Testing? Before divulging the details of our discussion, here’s a little context about this particular group of testers. We met [...]
Recent Comments
- SummerQAmp Brain Dump: Need BRAAIINS!!! on AST Partners with SummerQAmp
- Let’s Test 2012: an awesome conference! – Part 1 | Magnifiant: exploring software testing on CAST 2012 (July 16-18)
- Reflections from Let’s Test – a conference for everyone? | Curiousity killed the cat on CAST 2012 (July 16-18)
- Babina on SummerQAmp Call for Participation
- CAST 2012 – Tutorials Announced on CAST 2012 (July 16-18)
Archives
- May 2012 (31)
- April 2012 (88)
- March 2012 (131)
- February 2012 (101)
- January 2012 (123)
- December 2011 (117)
- November 2011 (111)
- October 2011 (131)
- September 2011 (58)
- August 2011 (88)
- July 2011 (80)
- June 2011 (86)
- May 2011 (92)
- April 2011 (102)
- March 2011 (56)
- February 2011 (55)
- January 2011 (112)
- December 2010 (104)
- November 2010 (98)
- October 2010 (78)
- September 2010 (50)
- August 2010 (70)
- July 2010 (34)
- June 2010 (34)
- May 2010 (36)
- April 2010 (34)
- March 2010 (25)
- February 2010 (21)
- January 2010 (18)
- December 2009 (20)
- November 2009 (16)
- October 2009 (14)
- September 2009 (24)
- August 2009 (12)
- July 2009 (8)
- June 2009 (19)
- May 2009 (13)
- April 2009 (18)
- March 2009 (7)
- January 2009 (1)
- December 2008 (7)
- November 2008 (2)
- October 2008 (1)
- August 2008 (5)
- July 2008 (3)
- May 2008 (1)
- April 2008 (3)
- January 2008 (3)
- August 2007 (4)
Blogroll
- a Flying Tester…
- Abakas
- aclairefication
- Benjamin Yaroch’s Blog
- Blog
- Cem Kaner, J.D., Ph.D.
- Christin’s blog on testing
- Context Driven Testing
- Creative Chaos
- Dancing in the wilderness
- Dancing in the Wilderness
- Developsense Blog
- Enjoy testing
- Exploring Uncertainty
- Have you ever danced with the tester?
- Hiccupps
- James Bach’s Blog
- Jeff Fry on Testing
- Karen Nicole Johnson
- Let’s go explore
- Magnifiant: exploring software testing
- Mark Waite
- Markus Gärtner
- Martial Tester
- Maverick Tester
- Peak Performance
- Quality Perspectives
- Rhythm of Testing
- sbarber’s blog
- Software Tasting
- Still Life
- Stream of Ideas
- Test Guide
- TestAssured
- Tested
- TESTHEAD
- Testing Explorer
- testjutsu
- Testy Testy
- The Pragmatic Testing
- Transform QA Philosophy with Test Automation
- Unimagined Testing
- Wasfa Kanwal’s Blog

