Download - Automation testing
Arta Doci: [email protected](for localized software products)
Agenda
Need for Automation Business Case of Automating Testing for
Localized SW Case Study Plans/Timeline
We have heard the following:
I need those new product features now…
We need the software application to go to market sooner than that…
Facts
Testing and maintenance still accounts for 75% of software products’ costs.
We are asked to turn around products with Ever shrinking schedules Minimal resources
However:“Getting a product to market as early as
possible may mean the difference between product survival and product death”
Goal: Do more with less…
Goal - Do more with less: Test the software adequately within a minimum schedule. One solution: Test Automation.
Definition: Management and performance of test activities, to include the development and execution of test scripts as to verify test requirements, using an automated test tool.
Test Automation
Particularly useful: Regression Testing (repetitive; can
become tedious when manually executed build after build).
Integration Testing for subsequent incremental builds.
Q? How about Localization Testing?
Multiple OS Multiple languages
Test Automation
Automating testing for localized software will grow the benefits proportionally since it supports multiple languages and platforms
Test Automation
It acts as a user would, interacting with an application to input data and respond to expected responses.
Example
Manually
How do we currently test? Take the test plan Depending on the current need given at
hand we can:(a) Run the entire test plan for all the languages(b) Select a subset of test cases from the test plan(c) Select a subset of languages to be tested
Assumptions
Internationalization testing has been executed and any issues uncovered by this testing have been fixed. This means that the application (product) runs the same way on a locale OS as it does on the English OS, the data flow supports non ASCII character sets and text expansion has been considered during the design and implementation.
I would also argue that any l10n testing has an element of i18n/functionality testing since some screens don’t come up unless you test functionality. So the fact that a string displays correctly, i.e. without truncation or corruption, is i18n testing. Validating that it is the correct translation for the given context is l10n testing.
Test Automation
The fear of user to change, thus a smooth transition is helpful.
EXAMPLE (smooth transition): Step one: Map the manual process to automation. Step two: What will the ideal test automation tool be for
the Globalization team?
Step one…
Create an automated test plan that embeds the manual test plan (test cases). Automate based on the test cases. Having such an automated test plan will provide the user the flexibility with the following choices:
1.Run the test plan at its entirety2.Run Specific Test Cases3.Run Specific Languages
Step 2…
The ideal test tool will have two components:1. Component One:
Have an automated test plan that maps the test cases to automated scripts.
Provide the user with the flexibility to choose what test cases to run from the test plan.
2. Component two: Allow the user to create test cases DYNAMICALLY. In order to achieve that the test automation tool needs to provide a library. *** Library does not mean that the user needs to learn how to script.
Test Automation Tool
EXAMPLE
Test Automation Benefits(in combination with manual testing)1. Production of Reliable system
2. Improvement of quality of test effort
3. Reduction of the test effort and minimization of the schedule
(automating testing for localized SW)
Setting the right expectations…
… on what Automation will do for us. It does what we tell it to do - Sunny Days.
NO magic. There is no 100% Test coverage!
Manual effort and expertise is still needed.
Introduction of automated test tool will not immediately: Reduce the test effort Minimize the test schedule
Methodology
“If you want a high Quality Software, you must ensure each of its parts is of high quality”
$$$ --- Cost. ROI – Return on Investment
Reduced Maintenance costs
Meet project timeline Go to market as soon as
possible
Companies have a wide range of applications thus: We can not assume one tool
fits all. Goal: Require a test tool
that would recognize GUI controls and manipulate them effectively; allow scripting language; have built-in error logging and recovery.
“A tool is as good as the process used to implement the tool”
Testing Goals and objectives.
Test Process Measure testing process Audit the testing
process
Planning Test Plan contains a
wealth of information. Documentation is very
important. Design
Coverage? White vs. Black Box
Development Implementation/coding
Evaluation Defect Tracking Metrics collection and
analysis Test Success Index # test cases
passed/#test cases
Auditing Process evaluation Process Improvement
Plans
What Product to Automate next?
Team needs/resources Logically: Product that yields the
largest ROI.