SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
T12
Special Topics
5/2/2013 11:15:00 AM

Testing with an Accent:
Internationalization Testing
Presented by:
Paul Carvalho
STAQS

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Paul Carvalho
A software test consultant and trainer, quality architect, and agile coach, Paul Carvalho helps his clients
build test-infected development teams with a holistic and congruent approach to quality. With twenty-five
years of building software in many different industries, Paul is considered an expert in software testing and
is part of the context-driven software testing community. A regular speaker at conferences, networking
groups, and practitioner workshops, Paul tests, tweets, blogs, loves scripting with Ruby, and has
published articles in Better Software magazine and Agile Journal. Paul helps software companies
overcome development inertia to become world-class leaders in delivering quality and value. Learn more
about Paul at STAQS.com.
Primer for Internationalisation Testing

Testing with an Accent
A Primer for Internationalisation

Paul Carvalho
http://staqs.com
@can_test

STAREAST 2013

Globalisation
Loca
lisatio
n

on
lisati
ona
rnati
Inte

What does it mean to me?

@can_test

© 2013 Paul Carvalho

1
Primer for Internationalisation Testing

@can_test

http://en.wikipedia.org/wiki/All_your_base

@can_test

© 2013 Paul Carvalho

2
Primer for Internationalisation Testing

Some years ago, workers at an
African port didn’t recognise this
symbol on the boxes.
They thought the contents were
broken and threw all the boxes
into the sea!
⇒ Don’t assume pictures or
symbols will be interpreted the
same across the world.
⇒ Globalization problem
@can_test

@can_test

© 2013 Paul Carvalho

3
Primer for Internationalisation Testing

Key Questions
• Localisation:
– Do you know if you are offending someone?

• Globalisation:
– Do others understand
things the same way
you do?

• Internationalisation:
– Does it work?
@can_test

© 2013 Paul Carvalho

4
Primer for Internationalisation Testing

The Players: Who Tests i18n?
• Tester, Developer, Product Owner, Tech Writer
• Anyone interested in checking that the software:
• works and makes sense for people in other languages/locations
• doesn’t offend someone in a different language
NOTE:
Y
to know ou do NOT ne
e
a
to be g nother langu d
age
ood at
this kin
testing
d of
!

People

Process

Technology

@can_test

The Context: Definitions
• Internationalisation - a.k.a. i18n
• the process of designing and coding a product so it
can perform properly when it is modified for use in
different languages and locales.

e
. th
k,
(i.e ewor )
am bility
fr a
cap

• Localisation - a.k.a. L10n

What does
Testing look
like here?

• the process, on a properly internationalised base
product, of translating messages and
documentation as well as modifying other
locale-specific files.

e
. th
or
(i.e tent, or
on fics f
c ci
r
spe rticula
pa )
a on
i
reg

People

Process

Technology

@can_test

© 2013 Paul Carvalho

5
Primer for Internationalisation Testing

The Context: Relationships

People

Process

Technology

@can_test

Systems Analysis
Operating System
Hardware
• inputs
• storage
• outputs

3rd Party tools

Application

Computer/Device

Q: What does your
Test Strategy cover?
Desktop/Laptop
Client
Web
Application

Distributed app
Servers

Tablet
Mobile phone
People

Database
Process

Technology

@can_test

© 2013 Paul Carvalho

6
Primer for Internationalisation Testing

i18n Test Strategy Guideline
1) Research your target audience(s)
2) Test UI
3) Test Data Inputs
4) Test Data Flow
5) Check/confirm/validate with the Locals
(They don’t call it “Localisation” testing for nothing)

i18n
Testing

People

Process

Technology

@can_test

(2) Testing the UI
• Start with the UI - Does it look right?
Changing your “Regional Settings” is a quick
way to size up the scope of L10N applied.
(WHAT) Things to look for in App UI include:
•
•
•
•
•

Correct language appears - everywhere!
Number formatting
Currency symbols
Time & Date format; Time Zones
Buttons, labels, menus correctly wrap
longer strings

Warning: many things still missed this way!
Tip: Install a different-language OS to
discover more differences.
@can_test

© 2013 Paul Carvalho

7
Primer for Internationalisation Testing

Sample UI i18n bugs: How many do you see here? (What are your oracles?)

@can_test

i18n Téstïng Tïp
• Check i18n with a made-up string set
• For example, copy your “strings” file so
that your labels, buttons, etc. use different
characters
Before: “Enter your username”
After: “Le Entér yôür üsérnåmé.
Still readable. Identify missing strings quickly.

@can_test

© 2013 Paul Carvalho

8
Primer for Internationalisation Testing

E:
ASID

http://xkcd.com/1179/

@can_test

(3) Testing Data Inputs
• Does the system accept what you input?
• Testing Tips:
• use names with accented characters:
– e.g. Édouard, Jérôme, Željko

• names with apostrophes: Miles O’Brien
• double-byte characters: Chinese, Japanese, ...

• Apply these everywhere, not just Name fields:
• file and folder names, company names, other record types
• usernames, passwords, email addresses
• Search fields, ...

@can_test

© 2013 Paul Carvalho

9
Primer for Internationalisation Testing

(4) Testing Data Flow
• Does the system work with what you input?
• Does the data correctly:
a)
b)
c)
d)
e)

save (to file, database) and retrieve? (CRUD)
display? (in lists, drop-downs, title bars, different fonts, etc.)
transform? (e.g. capitalisation, etc.)
sort?
print?

• Web apps - correctly encode strings (for URL’s, etc.)?
• WARNING: 3rd Party tools & integrations = Fail Magnets

@can_test

(5) Check with Locals
• Sometimes the correct context requires
more than just a string translation.
• The Monty Python Heuristic

@can_test

© 2013 Paul Carvalho

10
Primer for Internationalisation Testing

Putting it Together
• What are some ways to integrate this into
your Testing?
• What do you think?

@can_test

Références
Articles:
• “Testing with an Accent”
– by Paul Carvalho, Better Software, Feb. 2005

• “As a tester do you think globally?”
– by Karen Johnson, Tea-time with Testers, Jan. 2012

• “Bare Minimum Internationalization”
– by Rick Scott, StickyMinds.com, Apr. 2012

• “What’s Wrong With Turkey?”
– by Jeff Atwood, CodingHorror.com, Mar. 2008

• “Translation is UX”
– by Antoine Lefeuvre, AListApart.com, Dec. 2012

@can_test

© 2013 Paul Carvalho

11
Primer for Internationalisation Testing

Références
Advice from big orgs:
• http://www.w3.org/International/
• http://msdn.microsoft.com/en-us/library/Aa292185
• http://developers.sun.com/dev/gadc/des_dev/Intl_Testing.html

References:
• http://en.wikipedia.org/wiki/Internationalization_and_localization
• http://en.wikipedia.org/wiki/List_of_Google_domains
• World Currency Symbols: http://www.xe.com/symbols.php

@can_test

Références
Tools:
• Translators:
– http://translate.google.com
– http://babelfish.yahoo.com
– Did You Know: MS Word has built-in translator

• Test Data:
– International News pages (check other Google domains)
– Humorous Random Phrase Generator:
http://www.smartphrase.com/
– Translations of “My hovercraft is full of eels”:
http://www.omniglot.com/language/phrases/hovercraft.htm
– International Baby Name lists
@can_test

© 2013 Paul Carvalho

12
Primer for Internationalisation Testing

Muchas gracias
• Contact info:

Paul Carvalho
http://STAQS.com
Twitter: @can_test

© 2013 Paul Carvalho

13

Mais conteúdo relacionado

Destaque

Test-Driven Development for Developers: Plain and Simple
Test-Driven Development for Developers: Plain and SimpleTest-Driven Development for Developers: Plain and Simple
Test-Driven Development for Developers: Plain and SimpleTechWell
 
How to Break Software: Robustness Edition
How to Break Software: Robustness EditionHow to Break Software: Robustness Edition
How to Break Software: Robustness EditionTechWell
 
Key Test Design Techniques
Key Test Design TechniquesKey Test Design Techniques
Key Test Design TechniquesTechWell
 
Production Performance Testing in the Cloud
Production Performance Testing in the CloudProduction Performance Testing in the Cloud
Production Performance Testing in the CloudTechWell
 
Collaboration Techniques: Combining New Approaches with Ancient Wisdom
Collaboration Techniques: Combining New Approaches with Ancient WisdomCollaboration Techniques: Combining New Approaches with Ancient Wisdom
Collaboration Techniques: Combining New Approaches with Ancient WisdomTechWell
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and PlanningTechWell
 
Getting Ready for Your Agile Adventure
Getting Ready for Your Agile AdventureGetting Ready for Your Agile Adventure
Getting Ready for Your Agile AdventureTechWell
 
Leading Change—Even If You’re Not in Charge
Leading Change—Even If You’re Not in ChargeLeading Change—Even If You’re Not in Charge
Leading Change—Even If You’re Not in ChargeTechWell
 
Deadlines Approaching? Budgets Cut? How to Keep Your Sanity
Deadlines Approaching? Budgets Cut? How to Keep Your SanityDeadlines Approaching? Budgets Cut? How to Keep Your Sanity
Deadlines Approaching? Budgets Cut? How to Keep Your SanityTechWell
 
Baking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterBaking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterTechWell
 
Implementing DevOps and Making It Stick
Implementing DevOps and Making It StickImplementing DevOps and Making It Stick
Implementing DevOps and Making It StickTechWell
 

Destaque (12)

Test-Driven Development for Developers: Plain and Simple
Test-Driven Development for Developers: Plain and SimpleTest-Driven Development for Developers: Plain and Simple
Test-Driven Development for Developers: Plain and Simple
 
How to Break Software: Robustness Edition
How to Break Software: Robustness EditionHow to Break Software: Robustness Edition
How to Break Software: Robustness Edition
 
Key Test Design Techniques
Key Test Design TechniquesKey Test Design Techniques
Key Test Design Techniques
 
Production Performance Testing in the Cloud
Production Performance Testing in the CloudProduction Performance Testing in the Cloud
Production Performance Testing in the Cloud
 
Collaboration Techniques: Combining New Approaches with Ancient Wisdom
Collaboration Techniques: Combining New Approaches with Ancient WisdomCollaboration Techniques: Combining New Approaches with Ancient Wisdom
Collaboration Techniques: Combining New Approaches with Ancient Wisdom
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and Planning
 
Getting Ready for Your Agile Adventure
Getting Ready for Your Agile AdventureGetting Ready for Your Agile Adventure
Getting Ready for Your Agile Adventure
 
W7
W7W7
W7
 
Leading Change—Even If You’re Not in Charge
Leading Change—Even If You’re Not in ChargeLeading Change—Even If You’re Not in Charge
Leading Change—Even If You’re Not in Charge
 
Deadlines Approaching? Budgets Cut? How to Keep Your Sanity
Deadlines Approaching? Budgets Cut? How to Keep Your SanityDeadlines Approaching? Budgets Cut? How to Keep Your Sanity
Deadlines Approaching? Budgets Cut? How to Keep Your Sanity
 
Baking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterBaking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile Tester
 
Implementing DevOps and Making It Stick
Implementing DevOps and Making It StickImplementing DevOps and Making It Stick
Implementing DevOps and Making It Stick
 

Semelhante a Testing with an Accent: Internationalization Testing

Continuous Globalization Workflow Webinar Slides
Continuous Globalization Workflow Webinar SlidesContinuous Globalization Workflow Webinar Slides
Continuous Globalization Workflow Webinar SlidesAdam Asnes
 
Engaging a Developer Audience: Documentation and More
Engaging a Developer Audience: Documentation and MoreEngaging a Developer Audience: Documentation and More
Engaging a Developer Audience: Documentation and MoreAnya Stettler
 
Introduction to Globalization Testing with Acclaro
Introduction to Globalization Testing with AcclaroIntroduction to Globalization Testing with Acclaro
Introduction to Globalization Testing with AcclaroAcclaro
 
WhoIsKenDeLong
WhoIsKenDeLongWhoIsKenDeLong
WhoIsKenDeLongKen DeLong
 
How to Find and Hire a Python_Django Development Company
How to Find and Hire a Python_Django Development CompanyHow to Find and Hire a Python_Django Development Company
How to Find and Hire a Python_Django Development CompanyYana Petlovana
 
Empower your Enterprise with language intelligence_Francisco Webber
Empower your Enterprise with language intelligence_Francisco Webber Empower your Enterprise with language intelligence_Francisco Webber
Empower your Enterprise with language intelligence_Francisco Webber Dataconomy Media
 
Software Localization: What You Need to Know to Effectively Go Global
Software Localization: What You Need to Know to Effectively Go GlobalSoftware Localization: What You Need to Know to Effectively Go Global
Software Localization: What You Need to Know to Effectively Go GlobalLionbridge
 
Need to reboot your content creation strategy? Start with "No"
Need to reboot your content creation strategy? Start with "No"Need to reboot your content creation strategy? Start with "No"
Need to reboot your content creation strategy? Start with "No"Keith Boyd
 
How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)SATOSHI TAGOMORI
 
What Every Translator Should Know About Software Localization
What Every Translator Should Know About Software LocalizationWhat Every Translator Should Know About Software Localization
What Every Translator Should Know About Software Localizationallinportuguese
 
Opening the Black Box of Software Localization
Opening the Black Box of Software LocalizationOpening the Black Box of Software Localization
Opening the Black Box of Software LocalizationKenneth Farrall
 
Continuous Integration Is for Everyone—Especially DevOps
Continuous Integration Is for Everyone—Especially DevOpsContinuous Integration Is for Everyone—Especially DevOps
Continuous Integration Is for Everyone—Especially DevOpsTechWell
 
Quality Control for Translations-The Best in Process, Plans and People
Quality Control for Translations-The Best in Process, Plans and PeopleQuality Control for Translations-The Best in Process, Plans and People
Quality Control for Translations-The Best in Process, Plans and PeopleStacey Brown-Sommers
 
Becoming a Software Developer
Becoming a Software DeveloperBecoming a Software Developer
Becoming a Software DeveloperMuhammad Samu
 
Internationalization & localization testing
Internationalization & localization testingInternationalization & localization testing
Internationalization & localization testingRobin0590
 

Semelhante a Testing with an Accent: Internationalization Testing (20)

Continuous Globalization Workflow Webinar Slides
Continuous Globalization Workflow Webinar SlidesContinuous Globalization Workflow Webinar Slides
Continuous Globalization Workflow Webinar Slides
 
Engaging a Developer Audience: Documentation and More
Engaging a Developer Audience: Documentation and MoreEngaging a Developer Audience: Documentation and More
Engaging a Developer Audience: Documentation and More
 
Software testing
Software testingSoftware testing
Software testing
 
Introduction to Globalization Testing with Acclaro
Introduction to Globalization Testing with AcclaroIntroduction to Globalization Testing with Acclaro
Introduction to Globalization Testing with Acclaro
 
WhoIsKenDeLong
WhoIsKenDeLongWhoIsKenDeLong
WhoIsKenDeLong
 
How to Find and Hire a Python_Django Development Company
How to Find and Hire a Python_Django Development CompanyHow to Find and Hire a Python_Django Development Company
How to Find and Hire a Python_Django Development Company
 
Empower your Enterprise with language intelligence_Francisco Webber
Empower your Enterprise with language intelligence_Francisco Webber Empower your Enterprise with language intelligence_Francisco Webber
Empower your Enterprise with language intelligence_Francisco Webber
 
Software Localization: What You Need to Know to Effectively Go Global
Software Localization: What You Need to Know to Effectively Go GlobalSoftware Localization: What You Need to Know to Effectively Go Global
Software Localization: What You Need to Know to Effectively Go Global
 
Need to reboot your content creation strategy? Start with "No"
Need to reboot your content creation strategy? Start with "No"Need to reboot your content creation strategy? Start with "No"
Need to reboot your content creation strategy? Start with "No"
 
How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)
 
Iwt Corporate Presentation 2010
Iwt Corporate Presentation 2010Iwt Corporate Presentation 2010
Iwt Corporate Presentation 2010
 
Going open source first
Going open source firstGoing open source first
Going open source first
 
OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15
 
What Every Translator Should Know About Software Localization
What Every Translator Should Know About Software LocalizationWhat Every Translator Should Know About Software Localization
What Every Translator Should Know About Software Localization
 
Opening the Black Box of Software Localization
Opening the Black Box of Software LocalizationOpening the Black Box of Software Localization
Opening the Black Box of Software Localization
 
Continuous Integration Is for Everyone—Especially DevOps
Continuous Integration Is for Everyone—Especially DevOpsContinuous Integration Is for Everyone—Especially DevOps
Continuous Integration Is for Everyone—Especially DevOps
 
Quality Control for Translations-The Best in Process, Plans and People
Quality Control for Translations-The Best in Process, Plans and PeopleQuality Control for Translations-The Best in Process, Plans and People
Quality Control for Translations-The Best in Process, Plans and People
 
Becoming a Software Developer
Becoming a Software DeveloperBecoming a Software Developer
Becoming a Software Developer
 
Presentation14
Presentation14Presentation14
Presentation14
 
Internationalization & localization testing
Internationalization & localization testingInternationalization & localization testing
Internationalization & localization testing
 

Mais de TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

Mais de TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Último

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Último (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Testing with an Accent: Internationalization Testing

  • 1. T12 Special Topics 5/2/2013 11:15:00 AM Testing with an Accent: Internationalization Testing Presented by: Paul Carvalho STAQS Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Paul Carvalho A software test consultant and trainer, quality architect, and agile coach, Paul Carvalho helps his clients build test-infected development teams with a holistic and congruent approach to quality. With twenty-five years of building software in many different industries, Paul is considered an expert in software testing and is part of the context-driven software testing community. A regular speaker at conferences, networking groups, and practitioner workshops, Paul tests, tweets, blogs, loves scripting with Ruby, and has published articles in Better Software magazine and Agile Journal. Paul helps software companies overcome development inertia to become world-class leaders in delivering quality and value. Learn more about Paul at STAQS.com.
  • 3. Primer for Internationalisation Testing Testing with an Accent A Primer for Internationalisation Paul Carvalho http://staqs.com @can_test STAREAST 2013 Globalisation Loca lisatio n on lisati ona rnati Inte What does it mean to me? @can_test © 2013 Paul Carvalho 1
  • 4. Primer for Internationalisation Testing @can_test http://en.wikipedia.org/wiki/All_your_base @can_test © 2013 Paul Carvalho 2
  • 5. Primer for Internationalisation Testing Some years ago, workers at an African port didn’t recognise this symbol on the boxes. They thought the contents were broken and threw all the boxes into the sea! ⇒ Don’t assume pictures or symbols will be interpreted the same across the world. ⇒ Globalization problem @can_test @can_test © 2013 Paul Carvalho 3
  • 6. Primer for Internationalisation Testing Key Questions • Localisation: – Do you know if you are offending someone? • Globalisation: – Do others understand things the same way you do? • Internationalisation: – Does it work? @can_test © 2013 Paul Carvalho 4
  • 7. Primer for Internationalisation Testing The Players: Who Tests i18n? • Tester, Developer, Product Owner, Tech Writer • Anyone interested in checking that the software: • works and makes sense for people in other languages/locations • doesn’t offend someone in a different language NOTE: Y to know ou do NOT ne e a to be g nother langu d age ood at this kin testing d of ! People Process Technology @can_test The Context: Definitions • Internationalisation - a.k.a. i18n • the process of designing and coding a product so it can perform properly when it is modified for use in different languages and locales. e . th k, (i.e ewor ) am bility fr a cap • Localisation - a.k.a. L10n What does Testing look like here? • the process, on a properly internationalised base product, of translating messages and documentation as well as modifying other locale-specific files. e . th or (i.e tent, or on fics f c ci r spe rticula pa ) a on i reg People Process Technology @can_test © 2013 Paul Carvalho 5
  • 8. Primer for Internationalisation Testing The Context: Relationships People Process Technology @can_test Systems Analysis Operating System Hardware • inputs • storage • outputs 3rd Party tools Application Computer/Device Q: What does your Test Strategy cover? Desktop/Laptop Client Web Application Distributed app Servers Tablet Mobile phone People Database Process Technology @can_test © 2013 Paul Carvalho 6
  • 9. Primer for Internationalisation Testing i18n Test Strategy Guideline 1) Research your target audience(s) 2) Test UI 3) Test Data Inputs 4) Test Data Flow 5) Check/confirm/validate with the Locals (They don’t call it “Localisation” testing for nothing) i18n Testing People Process Technology @can_test (2) Testing the UI • Start with the UI - Does it look right? Changing your “Regional Settings” is a quick way to size up the scope of L10N applied. (WHAT) Things to look for in App UI include: • • • • • Correct language appears - everywhere! Number formatting Currency symbols Time & Date format; Time Zones Buttons, labels, menus correctly wrap longer strings Warning: many things still missed this way! Tip: Install a different-language OS to discover more differences. @can_test © 2013 Paul Carvalho 7
  • 10. Primer for Internationalisation Testing Sample UI i18n bugs: How many do you see here? (What are your oracles?) @can_test i18n Téstïng Tïp • Check i18n with a made-up string set • For example, copy your “strings” file so that your labels, buttons, etc. use different characters Before: “Enter your username” After: “Le Entér yôür üsérnåmé. Still readable. Identify missing strings quickly. @can_test © 2013 Paul Carvalho 8
  • 11. Primer for Internationalisation Testing E: ASID http://xkcd.com/1179/ @can_test (3) Testing Data Inputs • Does the system accept what you input? • Testing Tips: • use names with accented characters: – e.g. Édouard, Jérôme, Željko • names with apostrophes: Miles O’Brien • double-byte characters: Chinese, Japanese, ... • Apply these everywhere, not just Name fields: • file and folder names, company names, other record types • usernames, passwords, email addresses • Search fields, ... @can_test © 2013 Paul Carvalho 9
  • 12. Primer for Internationalisation Testing (4) Testing Data Flow • Does the system work with what you input? • Does the data correctly: a) b) c) d) e) save (to file, database) and retrieve? (CRUD) display? (in lists, drop-downs, title bars, different fonts, etc.) transform? (e.g. capitalisation, etc.) sort? print? • Web apps - correctly encode strings (for URL’s, etc.)? • WARNING: 3rd Party tools & integrations = Fail Magnets @can_test (5) Check with Locals • Sometimes the correct context requires more than just a string translation. • The Monty Python Heuristic @can_test © 2013 Paul Carvalho 10
  • 13. Primer for Internationalisation Testing Putting it Together • What are some ways to integrate this into your Testing? • What do you think? @can_test Références Articles: • “Testing with an Accent” – by Paul Carvalho, Better Software, Feb. 2005 • “As a tester do you think globally?” – by Karen Johnson, Tea-time with Testers, Jan. 2012 • “Bare Minimum Internationalization” – by Rick Scott, StickyMinds.com, Apr. 2012 • “What’s Wrong With Turkey?” – by Jeff Atwood, CodingHorror.com, Mar. 2008 • “Translation is UX” – by Antoine Lefeuvre, AListApart.com, Dec. 2012 @can_test © 2013 Paul Carvalho 11
  • 14. Primer for Internationalisation Testing Références Advice from big orgs: • http://www.w3.org/International/ • http://msdn.microsoft.com/en-us/library/Aa292185 • http://developers.sun.com/dev/gadc/des_dev/Intl_Testing.html References: • http://en.wikipedia.org/wiki/Internationalization_and_localization • http://en.wikipedia.org/wiki/List_of_Google_domains • World Currency Symbols: http://www.xe.com/symbols.php @can_test Références Tools: • Translators: – http://translate.google.com – http://babelfish.yahoo.com – Did You Know: MS Word has built-in translator • Test Data: – International News pages (check other Google domains) – Humorous Random Phrase Generator: http://www.smartphrase.com/ – Translations of “My hovercraft is full of eels”: http://www.omniglot.com/language/phrases/hovercraft.htm – International Baby Name lists @can_test © 2013 Paul Carvalho 12
  • 15. Primer for Internationalisation Testing Muchas gracias • Contact info: Paul Carvalho http://STAQS.com Twitter: @can_test © 2013 Paul Carvalho 13