test automation - let's talk business

Download Test Automation - Let's Talk Business

Post on 16-May-2015

3.382 views

Category:

Documents

3 download

Embed Size (px)

TRANSCRIPT

  • 1. Test AutomationLets talk business Igor Gershovich Connected Testing, Inc. www.connectedtesting.com [email_address]

2. Overview

  • Test Automation Myths
  • Return on Investment (ROI)
  • Frameworks

3. Test Automation Myths 4. Myth #1 - Test Automation is simple, that every tester can do it

  • This myth is promoted by the tool sales people. They are trying to promote the following test automation process:
    • Record the script
    • Enhance the script by adding functions and data driving
    • Run the scripts
    • Report results
  • Under the influence of this myth the QA manager can proudly report: All our testers are developing test automation.

5. Reality - Test automation is a software development task

  • Automation should be designed, developed and tested
  • You need to have some kind of a programming backgroundto implement test automation. Test Automation is not as complex as C++/C#/Java development.
  • Test automation standards should be developed
  • Automated test components are assets that should be treated like application source code

6. Myth #2 Commercial test tools are expensive

  • Under the influence of this myth some companies, especially the small ones:
    • Try to develop their own test automation tools
    • Use scripting languages like Perl and Ruby
    • Use shareware test tools
    • Do not consider test automation at all

7. Reality Commercial tools are cheap

  • Per seat license for the most expensive automation tool is $8K
  • This tool will be used for 5 years.
  • Maintenance/Support fees are 20% of tool cost or $1,800 per year
  • The cost of this tool is $8K/5+$1,800 = $3,100 per year
  • The automation developer cost with overhead is $100K per year
  • The cost of this tool is just 3% of the person who uses it, but productivity gain can be very significant

8. Commercial Tool Benefits:

  • Customer support. Many of the open source tools come and go with little to no support
  • Most commercial tools are constantly being updated as technologies change
  • Most commercial tools usually have more functionality (QTP can test various GUI applications: Web, .Net, Java, VB, C/C++, PowerBuilder, etc. vs. WATIR Web only)
  • Commercial tools usually have a large community of users, which translates into better availability of qualifiedresources
  • Commercial tools require less advanced programming
  • More test automation frameworks are available for commercial tools
  • Commercial tools are integrated with Test Management tools which makes reporting and execution much simpler.

9. Over 300 Test Tools are available (http://www.softwareqatest.com)

  • Load/Performance tools 54
  • Web Functional/Regression 60
  • Java Test tools -48
  • Other Web tools 76
  • Which tool is right for you?

10. Absolutely Unscientific research: Employer demand by tool expertise (May, 2008) 11. Dice search results across US (30 days) Tool Search string Matches QTP Qtp OR quicktest OR "quick test 613 Functional Tester "rational robot" OR "functional tester 118 SilkTest silktest OR "silk test 86 TestComplete testcomplete OR "test complete 26 TestPartner testpartner OR "test partner 19 VSTE VSTE AND test 45 WATIR watir 26 Selenium Selenium 108 12. 13. Excerpt from IDC Report: Worldwide Automated Software Quality 2007-2011 Forecast and 2006 Vendor Shares 14. 15. Think of yourself like a business

  • Facts:
    • Average IT job tenure is about 2 years
    • Competitive intensity is rising
  • What you should do:
    • Invest your time/money in learning mainstream automation
    • Create a niche for yourself - add Configuration Management, Performance Testing or Project Management to your skillset
    • Market yourself

16. Return On Investment (ROI) 17. Classic ROI Calculation ROI = BENEFIT/COST Automation Cost = Price Of HW + Price of SW + Development Cost + Maintenance Cost + Execution Cost Manual Testing Cost = Development Cost + Maintenance Cost + Execution Cost ROI = (Manual Testing Cost - Automation Cost)/Automation Cost Looks right, Doesnt it? 18. Problems with Classic ROI Calculation

  • You cant compare Automated Testing and Manual Testing. They are not the same and they provide different information about the AUT.
  • You cant compare cost of multiple execution of automated tests vs. manual tests. You would never dream of executing that many test cases manually.

19. Automation Real ROI

  • ROI valueIS NOTthe value of Automation vs. Cost of executing these tests manually
  • Automation ROI valueISthe benefit ofthis type of testing, and it can be:
    • Reducing Time to Market
    • Increased Test Efficiency (Productivity)
    • Increased Test Effectiveness

20. Reduced Time to Market

  • Can get a greater market share
  • Makes people available to work on other projects
  • Higher margins, if no competitive products are currently available

21. Productivity and Effectiveness

  • More testing gets done faster, increasing the odds of finding defects
  • Defects found early have better chances of being fixed
  • Manual Testers can concentrate on clever ways to finding defects, instead of typing test inputs and verify output.
  • About 7% of bug fixes create new bugs, sometimes in already tested parts of the system. With automation you can rerun tests for those modules. This almost never happens when testing is done manually.

22. ROI summary

  • Each project requires different types of automation - there is often no easy formula available to calculate ROI
  • Performing ROI calculation can help to determine upfront what type of automation, what level of skills, what tools will be required.

23. Automation Frameworks 24. Test Automation Framework

  • ATest Automation Frameworkis a set of assumptions, concepts and tools that provide support for Automated Software Testing.
  • A correctly implemented Test Automation Framework can further improve ROI by reducing the development and maintenance costs.

25. Types of Test Automation Frameworks

  • Modular
  • Data-Driven
  • KeywordDriven
  • Model-Based

26. Modular framework

  • The Modular framework is the natural progression derived from Record-and-Playback
  • The modular framework seeks to minimize repetition of code by grouping similar actions into modules (e.g.: login)
  • Test Data is in a script or in an internal table
  • This is what tool sales people are promoting.

27. Data-Driven/Keyword Driven

  • These frameworks are similar in that the data is separated from the test script
  • The script is just a "driver" or delivery mechanism for the data.
  • The difference:
    • In keyword-driven testing, the navigation data and test data are contained in the data source
    • In data-driven testing, only test data is contained in the data source.

28. Model-Based testing

  • Model-based testingis software testing in which test cases are derived in whole or in part from amodelthat describes some (usually functional) aspects of the system.
  • Model-based testing for complex software systems is still an evolving field.

29.

  • Well be concentrating onKeyword-Driventesting since it is the most beneficial framework for large-scale test automation.

30. Advantages of Keyword-Driven Test automation

  • This Framework addresses themost common problemwith test automation:
  • Automation Engineers do not have domain knowledge and the End Users (Subject Matter Experts/Test Engineers) usually do not have automation expertise.
  • When properly implemented and maintained, it presents a superior ROI because each business event is designed, automated and maintained as a discrete entity.
  • Keywords can then be used to design test cases, but the design and automation overhead for the keyword has already been paid.

31. Advantages of Keyword-Driven Test automation

  • Reduced the cost and time spent maintaining and updating tests
  • The modular structure of keyword-driven testing means that new tests can easily be created from pre-existing modules
  • The test team is capable of entirely automating tests, even without programming knowledge
  • Can be easily modified to use