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