Your SlideShare is downloading. ×
Testing Products for Global Readiness
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Testing Products for Global Readiness


Published on

Published in: Technology, Business

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • It’s a bit counter-intuitive that me as a testing manager is promoting the idea of preventing bugs, but there are reasons. The reasons are not new by any means, but they are more urgent perhaps.
  • Daring concept – cool product - looks like great fun! Went from design straight into release with painful results.Check your assumptions – do some testing first!
  • It is difficult to get hard numbers to demonstrate the ROI of testing and QA, but here are some examples from our own experience where we have some numbers:Anybody want to guess of what this number represents (let audience guess)? This was the total cost of missed ticket sales for a major motion picture due to bad subtitles. The titles were so badly translated that certain governments wouldn’t approve the movie for release in their markets.
  • This was the cost for a 2-month delay of the world-wide release of a major software due to localization functional bugs. Each missed day cost 1 Million dollars! Not only was a cash flow impacted, but valuable resources were re-directed from developing other projects. Late-nights for everyone, career-ending impact for some.
  • UI problems and compatibility issues with a mobile device delayed release of a medical application into several European countries.EU regulatory requirements prevented a quick release into several important international markets. The company lost about a year’s worth of sales and may even have lost the EU market for good.
  • With the proliferation of global information and software platforms, testing has never been more important or complicated. With many different markets to manage under budget and intense schedule pressures it’s not an easy beast to manage. Let’s dive into only a few examples of issues you will see in testing and then discuss how we can prevent many of these bugs.
  • Where do you see an issue? I know two of them.You need to know Russian to see one of them, I’m afraid.
  • The icon issue can be fixed, of course (but only spotted during runtime testing)The plurality issue is quite difficult to fix and it is complicated. You probably need to change the English. Maybe to “Years: nnn” and “Months: nnn”. For 2 год would be right.The thumbs-up is probably not an issue, but be careful with symbols – some may be very offensive in some cultures.
  • The message of this short presentation is about the value of QA and bug prevention. This does not mean that you should cut out run-time testing altogetherThe idea is to reduce the impact localization testing has on the schedule and the budget. The idea is to avoid as many surprises as possible.There still will be surprises – even with the best QA
  • Fairly clear-cut bug and a common problem.
  • This kind of issue (strings left in English)is quite common and may be preventable.If the “Today” string was not sent to translation it may have been hard coded and pseudo-localization would spot that. This is a common issue.If the translator forgot to translate the “Today” string a QA of the translation table would spot thatIf this is a functional issue – only run-time testing will spot that.
  • This is a pretty obvious case for run-time testing. Encoding and compatibility problems often show up only in the actual software.
  • This can prevented only by code reviews and by internationalization testing … run-time
  • Below, in red you, can see how many Chinese characters are actually missing. I still don’t know how that happened, but the example is real.Without run-time testing with a Chinese testers, it is unlikely anybody would have noticed that there was a bigproblem until it was too late.
  • This is a particularly rich screen for bugs. All are unfortunately very common and tricky to remedy.
  • Software bugs found late in the game – just before software release are dangerousBugs we find late in the game will impact localization and development teams often unexpectedly – these teams may have already moved on! Much better to put QA ahead of the testing phase when the teams can still do something about it.
  • Such a table can easily be created by SDL or yourself – you can prevent many bugs with this simple tool before you build the software and send it into testing.
  • Clipping is often a big issue in translated software and with not too much effort you can create a table like this ahead of time, before you create localized software builds. A heat map like this can be really useful for shortening strings and showing other problems. The string ID’s also can tell us where to look especially carefully for potential problems later. It’s not bullet-proof, there are still concatenation issues that skew things, but the information is very useful. Overall text expansion ranges from about 20% to 40%, but for short strings it can be much higher.
  • It’s a great tool, but anybody with good Excel skills can pseudo-localize
  • Transcript

    • 1. SDL Proprietary and Confidential SDL Customer Success Summit Testing Products for Global Readiness Herb Bauer, Testing Manager, September 19, 2013
    • 2. • Testing is important, but bug prevention is even better! • Do runtime testing, but minimize its impact! • Two simple QA methods before testing, reduce costs and speed up the process Testing and QA
    • 3. Insufficient QA means painful testing! Thank you YouTube! 3
    • 4. Impact of bad QA and lack of testing 4
    • 5. Lost time and money 5 $60,000,000
    • 6. Lost market share 6 Priceless
    • 7. The need for run-time testing
    • 8. Let‟s do run-time testing… spot the bugs! 8
    • 9. Thumbs-Up and Russian plurality issue 9 • Icons are missing, of course • One year, two years…. five summers, six summers! • Thumbs-up may be problematic in certain countries
    • 10. You will need to do run-time testing … 10 Label width and textbox width are the same: Why is the clipping not identical? Why not prevent clipping in the first place?
    • 11. Here‟s a pretty easy bug to spot … 11
    • 12. Missing translations happen very often … 12
    • 13. Character / font display issues … 13
    • 14. This one would be hard to spot, admittedly … 14
    • 15. Looks like mighty fine Chinese to me … 15 不在任位, 距離, 效能及性絕對是勝關. VR STR8-FIT 球道木桿以專為頂級巡迴賽選手量身 打造, 最佳化外形設計, 桿及可式桿科技, 輕 發揮巡迴賽水的頂級實表現. 不管在任何位置,距離、效能及控制性絕對是 致勝關鍵。 VR STR8-FIT 球道木桿以專為頂級 巡迴賽選手量身打造,最佳化外形設計、超薄 型桿面及可調整式桿頭科技,讓您輕鬆發揮巡 迴賽水準的頂級實力表現。 Here’s how it should have looked (missing characters in red; punctuation corrected)
    • 16. Again, you will need to test to see this … 16 Bad hyphenation, abbreviations, line breaks Strings are shared between narrow and wide version of a product and stored in TM after fixes are applied Solutions Test the software using various display sizes or screen resolutions Provide maximum string length and maximum line number specs to translators. Don’t store every fix in the TM.
    • 17. Start with QA & Bug Prevention
    • 18. Planning Development Localization Testing 0 10 20 30 40 50 60 Time to software release The testing tail is wagging the development dog 18
    • 19. Of all 667 bugs analyzed, how many could have been probably prevented? 506 bugs Time for bug logging, fixing, creating new builds for these bugs (at a minimum)? 500 hours Time to prevent these bugs through pseudo- localization and string table review? 110 hours Cost savings of preventing these 506 bugs (at a minimum)? $23,000 Time savings not having to fix so many bugs and missing market release deadlines? Priceless ROI of bug prevention – recent analysis 19
    • 20. Can we prevent the usual suspects? 20
    • 21. Multi-lingual translation table – Multi-genius 21 Quickly find and highlight: • Completely missing translations (blank cells) • Un-translated text (still in English) • Text that is much longer than English likely to cause clipping • Inconsistent translations within a single language • Inconsistent translations across languages • Completely misaligned translations compared to the English • Font display problems, corrupted characters
    • 22. Multi-lingual translation table – heat map 22
    • 23. Pseudo-localization can stop many issues… 23
    • 24. Pseudo-localization can stop many issues… 24
    • 25. The pseudo-localization process is fairly easy .. 25 Client sends strings to get translated SDL creates simulated translations SDL / client creates test scenarios Client creates pseudo-localized build SDL reports internationalization issues
    • 26. SDL Passolo for pseudo-localization 26 Customize expansion $$ used as pre/suffix Pick special characters Custom features
    • 27. Functional localization issues found 27 • Date format wrong – date should not be translated and the function should call the system clock instead • Code was exposed to over-translation
    • 28. Clipping alert; Japanese fonts is OK! 28 Lots of potential clipping issues detected Potential clipping, but Japanese font is OK
    • 29. Un-translated strings alert – no $$ signs! 29
    • 30. Too much expansion, but Cyrillic is OK! 30 • Potential text expansion problem – perhaps redesign graphics? • Cyrillic font checks OK.
    • 31. • The cost of not testing your software can be very high • There is no good substitute yet for “live” run-time testing • The key to make testing manageable is early QA • Pseudo-localization is one effective QA method • Scheduling the review of a multi-lingual translation table is one of the quickest and cheapest way to avoid bugs Take away … 31
    • 32. Appendix The Russian plurality issues
    • 33. If the number is 1, or the number ends in the word 'один' (example: 1, 21, 61) (but not 11), then you should use the case (singular) that is suitable for the position in the sentence. The number „one‟ declines like an adjective. Here are some examples. • 1, 21, 61 год, (1, 21, 61 year) • 1, 21, 61 месяц (1, 21, 61 month) • 1, 21, 61 неделя (1, 21, 61 week) • 1, 21, 61 день (1, 21, 61 day) • 11 лет (11 years) • 11 месяцев (11 months) • 11 недель (11 weeks) • 11 дней (11 days) Numbers ending in: 1 33
    • 34. If the number, or the last digit of the number is 2, 3 or 4, (example: 22, 42, 103, 4) (but not 12, 13 & 14), then you should use the genitive singular case.. Here are some examples. • 2, 3, 4, 22, 42, 103, года - 2, 3, 4, 22, 42, 103, year • 2, 3, 4, 22, 42, 103, месяца - 2, 3, 4, 22, 42, 103, months • 2, 3, 4, 22, 42, 103, недели - 2, 3, 4, 22, 42, 103, weeks • 2, 3, 4, 22, 42, 103, дня - 2, 3, 4, 22, 42, 103, days • • 12, 13, 14,15,16,17,18,19,20 лет – 12, 13, 14,15,16,17,18,19,20 years. • 12, 13, 14,15,16,17,18,19,20 месяцев – 12, 13, 14,15,16,17,18,19,20 months • 12, 13, 14,15,16,17,18,19,20 недель – 12, 13, 14,15,16,17,18,19,20 weeks • 12, 13, 14,15,16,17,18,19,20 дней – 12, 13, 14,15,16,17,18,19,20 days Numbers ending in: 2, 3, 4 34
    • 35. If the number ends in any other digit you should use the genitive plural. All the 'teens' (-надцать) fit in to this catagory (11, 12, 13, 14, etc) • And that is by no means all that can be said to that subject! Numbers ending in: 5,6,7,8,9,0, -надцать 35
    • 36. Copyright © 2008-2013 SDL plc. All rights reserved. All company names, brand names, trademarks, service marks, images and logos are the property of their respective owners. This presentation and its content are SDL confidential unless otherwise specified, and may not be copied, used or distributed except as authorised by SDL.