Guideto Successful Application Test Automation

9,166
-1

Published on

Guideto Successful Application Test Automation

Published in: Technology
0 Comments
24 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,166
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
24
Embeds 0
No embeds

No notes for slide
  • Rapid Business Driven Testing ver. 1.0.0 Page Student Study Guide
  • Guideto Successful Application Test Automation

    1. 1. NYC Technology Forum Introduction to Test Automation 11/2/07 All rights reserved Not to be reproduced without permission Bill Rinko-Gay Solutions Director, Software Quality Management John Stephens Practice Director, Software Quality Management
    2. 2. <ul><li>Get familiarized with basic concepts of Test Automation </li></ul><ul><li>Understand what it takes to implement effective Test Automation </li></ul><ul><li>Introduce techniques to emphasize maintainability </li></ul>Objectives
    3. 3. What is Test Automation?
    4. 4. Benefits of Automated Testing Examples <ul><li>Run automated tests unattended (overnight) </li></ul><ul><li>Reliable, consistent testing </li></ul><ul><li>Increased speed in test execution </li></ul><ul><li>Increased test coverage </li></ul>
    5. 5. General Misconceptions About Automated Testing <ul><li>Automation is simply “record and playback” </li></ul><ul><li>Automation is the “silver bullet” to solve all testing problems </li></ul><ul><li>Return on Investment will be achieved immediately </li></ul><ul><li>Automation will replace all manual test cases </li></ul>
    6. 6. What is Test Automation? <ul><li>An enhancement on manual testing </li></ul><ul><li>Utilizes technology to provide repeatable, consistent testing of the Application Under Test (AUT) </li></ul><ul><li>Reduces costs and time for regression testing </li></ul>
    7. 7. Primary Goal of Automated Testing <ul><li>To reduce number of tests to be run manually, not to eliminate manual testing altogether </li></ul>Automated Testing is an enhancement upon existing methodology and manual process
    8. 8. So, You Want to Implement Test Automation…
    9. 9. Challenges in Automated Testing <ul><li>Test Automation is a development effort! </li></ul><ul><li>Automation is time consuming to create (and maintain, if poorly implemented) </li></ul><ul><li>Limitations of the testing tools and developer expertise </li></ul><ul><li>Automation of the wrong tests for the given constraints </li></ul><ul><li>Unrealistic expectations </li></ul>
    10. 10. Test Automation Checklist <ul><li>Criteria for Automation </li></ul><ul><li>Tool – AUT compatibility </li></ul><ul><li>Test Automation Requirements </li></ul><ul><li>Implementation Design </li></ul><ul><li>Stable, isolated test environment </li></ul><ul><li>Test data </li></ul><ul><li>Implementation and coding standards </li></ul><ul><li>Maintenance </li></ul>
    11. 11. What to Automate? Choosing Ideal Manual Test Cases
    12. 12. Criteria for Automating a Test Case Why Automate? Selecting the right tests to automate is very critical to effective implementation!! Repetitiveness Test Cases that are to be performed repeatedly Test Cases that are business-critical and/or high risk Criticality Tedious Test Cases that are tedious to perform manually Time Consuming Test Cases that require considerable amount of time to perform manually
    13. 13. Test Automation Checklist <ul><li>Criteria for Automation </li></ul><ul><li>Tool – AUT compatibility </li></ul><ul><li>Test Automation Requirements </li></ul><ul><li>Implementation Design </li></ul><ul><li>Stable, isolated test environment </li></ul><ul><li>Test data </li></ul><ul><li>Implementation and coding standards </li></ul><ul><li>Maintenance </li></ul>
    14. 14. Tool - AUT Compatibility <ul><li>Conduct Proof of Concept of Tool on AUT </li></ul><ul><li>Navigate through functional areas to test </li></ul><ul><li>Verify Object Recognition of AUT </li></ul><ul><li>Determine whether tool selection is valid </li></ul>
    15. 15. Test Automation Checklist <ul><li>Criteria for Automation </li></ul><ul><li>Tool – AUT compatibility </li></ul><ul><li>Test Automation Requirements </li></ul><ul><li>Implementation Design </li></ul><ul><li>Stable, isolated test environment </li></ul><ul><li>Test data </li></ul><ul><li>Implementation and coding standards </li></ul><ul><li>Maintenance </li></ul>
    16. 16. Test Automation Requirements Definition The set of criteria that the automated test suite must meet to be successful - the requirements for an automation project.
    17. 17. Test Automation Requirements What are the Success Criteria for the project? <ul><li>Meeting the goals and objectives of the automation effort </li></ul><ul><li>Tool capabilities </li></ul><ul><li>Capabilities and skills of the test automation team </li></ul>Example Requirement: The test tool shall test the login functionality of a web application, on a Windows 2000 platform, and run unattended simultaneously on three PCs.
    18. 18. Planning for Test Automation Test Automation Requirements help drive and determine the approach and design of the implementation. Test Automation Requirements Test Automation Design/Approach
    19. 19. Test Automation Checklist <ul><li>Criteria for Automation </li></ul><ul><li>Tool – AUT compatibility </li></ul><ul><li>Test Automation Requirements </li></ul><ul><li>Implementation Design </li></ul><ul><li>Stable, isolated test environment </li></ul><ul><li>Test data </li></ul><ul><li>Implementation and coding standards </li></ul><ul><li>Maintenance </li></ul>
    20. 20. Test Automation Methodology Analysis & Strategy Execution & Results Management Construction Design
    21. 21. <ul><li>Automation Architecture encompasses the environment for execution and development of an automated test suite. It is the overall scheme in which the test scripts will be developed. </li></ul>Implement a Test Automation Architecture
    22. 22. Designing the Test Automation Architecture Maximizing Maintainability
    23. 23. Automation Architecture Design Options <ul><li>Capture/replay </li></ul><ul><li>Framework-based </li></ul><ul><li>Data-driven </li></ul><ul><li>Keyword-driven </li></ul><ul><li>Hybrid </li></ul>
    24. 24. Design Goals <ul><li>Evaluate feasible design options for implementation </li></ul><ul><li>Anticipate likely changes to AUT </li></ul><ul><li>Consider skill level of team members developing and/or inheriting the automated scripts </li></ul><ul><li>Design of automated tests should address test automation requirements </li></ul>
    25. 25. Typical Design Components Subscripts Startup Script Data Table Driver Script Function Library <ul><ul><li>Compiled module containing application-specific routines and functions </li></ul></ul><ul><ul><ul><li>A script that initiates automated test execution </li></ul></ul></ul>A script that performs a discrete portion of a business process to be tested <ul><ul><li>A script that sets up and standardizes test automation environment </li></ul></ul>Data sources (such as spreadsheets) used to store test data for use during test execution
    26. 26. Test Automation Checklist <ul><li>Criteria for Automation </li></ul><ul><li>Tool – AUT compatibility </li></ul><ul><li>Test Automation Requirements </li></ul><ul><li>Implementation Design </li></ul><ul><li>Stable, isolated test environment </li></ul><ul><li>Test data </li></ul><ul><li>Implementation and coding standards </li></ul><ul><li>Maintenance </li></ul>
    27. 27. Automation Test Environment <ul><li>Stable and isolated environment is important for reliable execution of automated tests </li></ul><ul><li>GUI must be identical to Production </li></ul>
    28. 28. Test Automation Checklist <ul><li>Criteria for Automation </li></ul><ul><li>Tool – AUT compatibility </li></ul><ul><li>Test Automation Requirements </li></ul><ul><li>Implementation Design </li></ul><ul><li>Stable, isolated test environment </li></ul><ul><li>Test data </li></ul><ul><li>Implementation and coding standards </li></ul><ul><li>Maintenance </li></ul>
    29. 29. Test Data Strategy <ul><li>Create a test environment that is restorable to a known constant, such that the test cases can be repeated each time </li></ul><ul><li>Identify the procedure required for backup and recovery of data </li></ul>Test Data is critical to reliable automated testing!!
    30. 30. Creating Test Data Various Methods <ul><li>Create test data through application by doing data entry </li></ul><ul><li>Import test data from production environment, if available </li></ul><ul><li>Develop automated test scripts to generate test data as prerequisite </li></ul>
    31. 31. Test Automation Checklist <ul><li>Criteria for Automation </li></ul><ul><li>Tool – AUT compatibility </li></ul><ul><li>Test Automation Requirements </li></ul><ul><li>Implementation Design </li></ul><ul><li>Stable, isolated test environment </li></ul><ul><li>Test data </li></ul><ul><li>Implementation and coding standards </li></ul><ul><li>Maintenance </li></ul>
    32. 32. Coding Standards <ul><li>Specify coding practices and naming conventions </li></ul><ul><li>May be based on standards in place for project’s AUT developers </li></ul>
    33. 33. Test Automation Checklist <ul><li>Criteria for Automation </li></ul><ul><li>Tool – AUT compatibility </li></ul><ul><li>Test Automation Requirements </li></ul><ul><li>Implementation Design </li></ul><ul><li>Stable, isolated test environment </li></ul><ul><li>Test data </li></ul><ul><li>Implementation and coding standards </li></ul><ul><li>Maintenance </li></ul>
    34. 34. Maintenance <ul><li>Start small and build on </li></ul><ul><li>Build modular components </li></ul><ul><li>Stay within scope of automation requirements </li></ul><ul><li>Adhere to defined standards and conventions </li></ul>Emphasize robustness and flexibility
    35. 35. Maintenance <ul><li>Must be a good tester </li></ul><ul><li>Has programming background </li></ul><ul><li>Must be aware of maintenance and reliability </li></ul><ul><li>Must be motivated to develop and create automated test scripts </li></ul>Building an Automation Test Team Ideal characteristics of an Automation Engineer:
    36. 36. <ul><li>Get familiarized with basic concepts of Test Automation </li></ul><ul><li>Understand what it takes to implement effective Test Automation </li></ul><ul><li>Introduce techniques to emphasize maintainability </li></ul>Learning Objectives Revisited
    37. 37. Q&A

    ×