Transcript Document

Software Localization
Lecture 12
Dr. Gregory M. Shreve
Institute for Applied Linguistics
7/18/2015
1
Localization Quality Assurance
Localization Quality Assurance is part of the total Software Quality
Assurance Process.
Software Quality Assurance involves the entire software development
PROCESS - monitoring and improving the process, making sure that any
agreed-upon standards and procedures are followed, and ensuring that
problems are found and dealt with. It is oriented to 'prevention'.
Software Testing involves operation of a system or application under
controlled conditions and evaluating the results (eg, 'if the user is in
interface A of the application while using hardware B, and does C, then D
should happen'). The controlled conditions should include both normal and
abnormal conditions. Testing should intentionally attempt to make things
go wrong to determine if things happen when they shouldn't or things don't
happen when they should. It is oriented to 'detection'.
7/18/2015
2
A Software Quality Assurance Cycle
(Source Language)
Software
Publisher
Software
QA
Quality Assured &
Tested Software
(Target Language)
Localization
Localization
Vendor
Quality Assured &
Tested Software
Localization
QA
7/18/2015
3
Elements of Localization Quality Assurance
Localization
QA
prevention
detection
Assurance
Assurance
Procedures
Testing
internationalization
localization
functionality
It is important to note that the software the localization vendor receives is already
tested and working. Localization is all about preventing working code from being
broken during the localization process. Localization is therefore dependent on
rigorous testing as part of the Localization QA process.
7/18/2015
4
Internationalization Testing
A product received from a software publisher has (supposedly)
already been internationalized. Internationalization testing is done
in order to determine how well internationalization has been done.
For instance, will the product be easy to localize? Have all the
localizable resources been separated from the source code? Does
the software support Unicode?
INTERNATIONALIZATION TESTING
INTERNATIONAL
SUPPORT
LOCALIZABILITY
TEST
• MBC characters and scripts?
• localizable resources externalized?
• MBC input and display?
• any regional settings hard-coded?
• MBC folder, file, data handled?
• Regional settings?
• Collation/sorting?
• Run on localized OS?
Pseudotranslation
(Catalyst) is an important
part of internationalization
testing.
• Keyboard support?
SRC: Esselink, A Practical Guide to Software Localization
7/18/2015
• any concatenated strings?
• do the RC files contain non-localizables
(over-externalizing)?
• text expansion allowed for?
• text on non-layered graphics?
• how many other components (icons,
graphics, etc.) need to be adapted?
5
Localization Testing
A product received from a software publisher has (supposedly)
already been internationalized. Internationalization testing is done
in order to determine how well internationalization has been done.
For instance, will the product be easy to localize? Have all the
localizable resources been separated from the source code? Does
the software support Unicode?
LOCALIZATION TESTING
LINGUISTIC
7/18/2015
COSMETIC
FUNCTIONAL
6
Linguistic Testing
• all text been translated?
• accented chars handled properly?
• punctuation rules of target?
• target word wrap, hyphenation, sorting?
• no truncations in dialogs?
• consistency in terminology/usage?
• all icons, graphics or sounds need to be adjusted? (Esselink: B for Bold!)
• are concatenated strings displayed properly?
• have leading and trailing spaces been deleted, causing errors when strings are
concatenated?
• are strings with variables displaying properly?
• are hot key and control key assignments consistent with OS standards?
Focuses on all the language elements of an application. Done (ideally) in running
localized application. Uses test scripts ideally.
SRC: Esselink, A Practical Guide to Software Localization
7/18/2015
7
Cosmetic Testing
• all of the menus, options and commands of the original?
• dialog boxes all properly resized?
• all characters display properly?
• did you test to see that all popup boxes, tool tips, balloons, status messages
and dialogs fit on the screen at all resolutions?
• when expanding and resizing, has alignment and size consistency been
maintained?
• hot keys unique?
• has the tab order (if any) of the original been changed?
• some controls (combo boxes, menus) have drop down elements, do they
display properly?
• do all the dialogs display the correct regional settings?
Focuses on all the visual elements of the UI. Done (ideally) in running
localized application.
SRC: Esselink, A Practical Guide to Software Localization
7/18/2015
8
Functionality Testing
• did localization introduce any problems? All functions and features present?
• can the localized and original versions save and open the same files?
• do international keyboards and layouts work with the hot keys and control
keys?
• is the proper regional setting, keyboard, language the default?
• does the clipboard preserve MBC and accented characters? Can they be cut
and pasted to other applications?
• does the application work on both the localized and original version of the
OS?
• do links to web and on-line help point to target language help?
• do target language spell checkers, style checkers, dictionaries work?
• does the localized version work on the hardware platform, with peripherals
and accessories, drivers? Does the localized version interact with browsers
and other programs properly?
Focuses on whether the application still works after localization. A well
internationalized product will likely not fail functionality testing. Not a standard task, but
done at vendor request with test scripts.
SRC: Esselink, A Practical Guide to Software Localization
7/18/2015
9
More on Functionality Testing
Seldom done as part of localization process. Cannot overcome lack of thorough
internationalization testing!
• Duplication of source-language test scripts and routines required
• Special attention paid to locale-specific components and issues
• Need to create complete testing environments, client/server applications and
hardware
• Client proprietary tools
• Test scripts
• integration testing: testing two localized products or components together to see
how they work
• performance testing: how does the product (web site?) work under heavy load
A localization vendor that has the capability of doing a comprehensive functionality test
Suite canprdouce a so-called “gold master” of the localized software. This product can
be manufactured and distributed as is.
SRC: Esselink, A Practical Guide to Software Localization
7/18/2015
10
Delivery Testing
•
•
•
•
•
•
•
Are the folders and files correct in number and location?
Are all files in the specified formats and on the specified media?
Are there the same number of files in the original and in the target?
Has the installer and uninstaller been localized and tested?
Are all the versions of files and components the correct and latest versions?
Is the distribution media folder structure identical to the source?
Have all files been virus checked?
Focuses on ensuring that all the client required deliverables were provided according
to project specifications.
SRC: Esselink, A Practical Guide to Software Localization
7/18/2015
11
QA Team Structure
QA TEAM
manager
testing
engineers
• same as testing engineer +
QA
engineers
• can design test scripts / plan
• can manage the testing project
• multiple OS/platforms knowledge
• experience in software QA
• interface / API knowledge
• bug tracking database experience
• knows the application
• can use scripts and automated
testing tools
7/18/2015
• same as localization
engineer
• e.g., trained localizer with
experience in testing
Bug tracking (software problem reports)
and bug databases
are an important part of testing
management.
12
7/18/2015
13
Testing Tools
Testing is often a
manual process where
the localizer must
“step through” the
software testing each
function and option.
The tester has to
deliberately try to
induce errors to see
the software act under
all circumstances
(some error messages
won’t be seen unless
generated
deliberately).
To make testing easier there are testing tools that create
“scripts” to automatically run through all of the possible
functions and options of a software interface.
7/18/2015
14
Function 4.0 Verify PCA Setup and functioning
Processes 4.01 PCA token created
P
ro
c
Cond
4.
0
1
Process Description
Condition Description
Expected Result
Actual Outcome
Com
p
Date
Co
mp
By
PCA token created
1
Start the S2CA
Policy Approval
Authority
From the Taskbar, click Start,
point to Programs, then click
S2CA PKI/Policy Approval
Authority
The S2CA Policy Approval Authority window appears
2
Log in
In the S2CA Policy Approval
Authority message window,
click on "Login"
Password dialog box appears
3
Enter user PIN
Type the PAA User PIN and
click the "OK" button
The S2CA Policy Approval Authority message window states,
"Successfully logged into the PAA card."
4
Initialize PCA card
Insert the PCA token in socket
2. In the S2CA Approval
Authority message window,
click Init PCA card.
A window opens with a warning that all the data on the token will
be destroyed
7/18/2015
15
R
e
f