New Trends in Testing Automation
Changing the concept
Test Automation frame work
Key Driven Test
                         Definition


Keyword Driven Testing is a comprehensive, cross-
organization test design solution that bridges the gap
between the Test Automation team and the rest of the
roles involved in the testing process. It allows both
manual testers and other subject-matter experts to
design, build and execute test automation scripts without
any programming knowledge
Limitation of Testing Automation

Process
  • Design – Specific design
  • Execution – separate execution and separate results
Maintenance
  • Test Automation require maintenance shifting from version to
    version
Expertise
  • Automated Testing tool software developers
  • System experts
  • Test engineers
KDT advantages
• Increase Testing Automation coverage
• Faster ROI
• Join effort between automated testing and
  Manual testing (Omnitest)
• Manual testing and automation executed
  together
The KDT language
Basic Terms
• Test case – A set of conditions or variables under which a tester
  will determine whether an application or software system is
  working correctly or not
• Keyword - A word or identifier that has a particular meaning to
  the programming language
KDT Terms
• Action – A perform action on a specific GUI object
• Automated TC’s – a sequence of actions represent TC flow
When/Where to implement KDT

• Testing Automation already implemented
• Testing Environment ready to go
• Keep all management requirement from Testing
  Automation aspects
• Keep Automation developers update with the
  process
• Massive amount of TC’s
Testing automation frame work – Layers structure

 1   Mapping OR    2   Develop GUI & Business function   3   Develop scripts     4       Execution maintenance via QTP




 Testing automation frame work – Key Driven Test
 1    Mapping OR   2   Develop Scripts via KDT           3   Generate QTP code       4           Execution via QTP
                                                                                           maintenance via KDT tool
Work
  .     Planning    Development       Execution     Maintenance      Comment
Frame
Layer       No      Develop GUI      Execute via    Very easy to
        planning    and business      QC or via    maintain ONLY
        is needed     function       automated      GUI function
          ONLY                         engine       and Objects
         manual                                       changes
           TC’s
KDT        All         Need to       Via the KDT      Can be a
        planning       develop            tool      problem, not
         via the    infrastructure                 much experience
        KDT tool    via automated                   with working
                         tool                         projects
.        OmniTest – OmniSys   Via XLS file




          Tesnet – KDT        HP BPT




    Test planner -
    Qualitest
.
.



• KDT is the next Testing Automation generation
• Current status KDT work as a POC in several places still need to Ripen in order to
  give the full ROI
• KDT will:
    • empower the usage with Testing Automation tools
    • Force the organization to use Automated tools
    • Increase coverage
    • Solve maintenance issues
    • Shortage the development period
• Current status:
    • No company is using a KDT tool as a stable testing environment
    • Maintenance issues still not resolve completely
    • Automation expert still take big part in the script development
Working in other project environment
    Testing automation in Agile environment
The old and “good” (?) water fall
 “The "traditional" model of software development
                     lifecycle.”


  1   Analysis   2   Design   3   Coding   4   Testing
The old and “good” (?) water fall
       Testing automation life cycle in water fall
• Only regression testing covered by TA
• Testing automation follow the manual testing versions
  (always regression testing of the previous version
  executed)
• TA design always by the manual testing group
• Execution Priority by the manual testing manager
• Very easy to control and manage
Agile concept
Emphasize collaborative, integrated teams, frequent
deliveries, and the ability to adapt to changing business
needs
Testing Automation in Agile
                    environment

Since working increments of the software are released
often in agile software development, there is also a need
to test often. This is commonly done by using automated
tests to minimize the amount of manual labor involved.
Undertaking only manual testing in agile development
may result in either buggy software or slipping
schedules, as it may not be possible to test the entire
build manually before each release.
Testing Automation as
               part of the scrum team

• Testing automation activities is part of the backlog
  document
• Automation developer take part in all scrum stages
• Automation status is part of the morning meetings
• Testing automation is a MUST as part of the scrum
  testing scope
• Automation developer works closely with all team
  members (Manual tester, Developer, PMO, etc…)
Testing Automation execution
                Scrum work flow


• Testing automation execution occur after the first
  code delivery
• Usually will try to use existing code
• API execution is an advantage
• Result analyze by the whole scrum team
Some Agile testing principles
           justify Testing Automation

• Testing moves the project forward
• Testing is not a phase – it’s a way of life (ongoing
  execution)
• Every body test – Manual testers execute automation
• Keep the code clean – rerun testing execution
• Test Driven advantage – very easy to
  develop in automated testing
Testing Automation management
            process
!
Common life cycle

 1 Purchase the tool          2Recruit developers   3 Understand ROI     4 Fail to implement




 TTM – life cycle
 1 Analyze the systems    2    Recruit developers
                                                    3   Understand ROI   4      Follow TTM
     Purchase the tools           and managers                                 methodology
"   # $
#         %

&   #       # '       $ # '
        '         !
Testing Automation Readiness             4


•   Developers
•   Stable environment
•   Understand business process
•   Tools readiness
•   Testing Automation environment readiness
•   Developers understand the project scope
•   Set expectation
4



       Testing Automation Stages
•   Sanity SET
     – Set of ~50 QTP scripts, verify that new build (version) ready for massive
        testing process
•   Quick ROI Developments
     – Packages can retrieve the investment immediately (e.g. API, data driven, data
        inflation)
•   Regression by modules
    So important to make sure NOT to develop all regression tests in one SET, “Before
    moving forward with the development stage, we need to analyze our system and
    divide it by modules, for each module to develop his own automation SET”
•   Data Inflation
     – Using our GUI interface can help with massive data changes
4



       Testing Tools Management Progress
•   Define the project scope
•   Follow up
•   Testing Automation methodology
•   Summary
Manage your testing project
          ALM
Application Lifecycle Management

"     #             '
              $     ' '   #        $
          (               )   #   ) $   )
     )        ) $
*




             + !
+"


         ,
ALM Stages
Strategy
•      #
•&
•      $    '
•- .
Requirement
•/
•0       $
•
•    (
Quality
•0
•+
•,
Operational
•
•   (
•
ALM Tools
The Tools
Open Source
                        Open source tools

Testing tool for browser-based testing of web
applications



     A plug-in driven automated testing tool that separates applications into
     features and allows those features to be tied together independently



    An automated functional testing framework for web applications
Types of testing Automation Tools

                       Tools cost money

  QTP – The MOST common testing Automation tool (41% of the
  market)



  Test Complete – support Extensive platforms Not supported as QTP




  Team System 10.00 Coded UI – Testing Automation tool by
  Microsoft
!   "

#   $
052-2424314
ryonish@tact.co.il

New trends in testing automation

  • 1.
    New Trends inTesting Automation
  • 2.
    Changing the concept TestAutomation frame work
  • 3.
    Key Driven Test Definition Keyword Driven Testing is a comprehensive, cross- organization test design solution that bridges the gap between the Test Automation team and the rest of the roles involved in the testing process. It allows both manual testers and other subject-matter experts to design, build and execute test automation scripts without any programming knowledge
  • 4.
    Limitation of TestingAutomation Process • Design – Specific design • Execution – separate execution and separate results Maintenance • Test Automation require maintenance shifting from version to version Expertise • Automated Testing tool software developers • System experts • Test engineers
  • 5.
    KDT advantages • IncreaseTesting Automation coverage • Faster ROI • Join effort between automated testing and Manual testing (Omnitest) • Manual testing and automation executed together
  • 6.
    The KDT language BasicTerms • Test case – A set of conditions or variables under which a tester will determine whether an application or software system is working correctly or not • Keyword - A word or identifier that has a particular meaning to the programming language KDT Terms • Action – A perform action on a specific GUI object • Automated TC’s – a sequence of actions represent TC flow
  • 7.
    When/Where to implementKDT • Testing Automation already implemented • Testing Environment ready to go • Keep all management requirement from Testing Automation aspects • Keep Automation developers update with the process • Massive amount of TC’s
  • 8.
    Testing automation framework – Layers structure 1 Mapping OR 2 Develop GUI & Business function 3 Develop scripts 4 Execution maintenance via QTP Testing automation frame work – Key Driven Test 1 Mapping OR 2 Develop Scripts via KDT 3 Generate QTP code 4 Execution via QTP maintenance via KDT tool
  • 9.
    Work . Planning Development Execution Maintenance Comment Frame Layer No Develop GUI Execute via Very easy to planning and business QC or via maintain ONLY is needed function automated GUI function ONLY engine and Objects manual changes TC’s KDT All Need to Via the KDT Can be a planning develop tool problem, not via the infrastructure much experience KDT tool via automated with working tool projects
  • 10.
    . OmniTest – OmniSys Via XLS file Tesnet – KDT HP BPT Test planner - Qualitest
  • 11.
  • 12.
    . • KDT isthe next Testing Automation generation • Current status KDT work as a POC in several places still need to Ripen in order to give the full ROI • KDT will: • empower the usage with Testing Automation tools • Force the organization to use Automated tools • Increase coverage • Solve maintenance issues • Shortage the development period • Current status: • No company is using a KDT tool as a stable testing environment • Maintenance issues still not resolve completely • Automation expert still take big part in the script development
  • 13.
    Working in otherproject environment Testing automation in Agile environment
  • 14.
    The old and“good” (?) water fall “The "traditional" model of software development lifecycle.” 1 Analysis 2 Design 3 Coding 4 Testing
  • 15.
    The old and“good” (?) water fall Testing automation life cycle in water fall • Only regression testing covered by TA • Testing automation follow the manual testing versions (always regression testing of the previous version executed) • TA design always by the manual testing group • Execution Priority by the manual testing manager • Very easy to control and manage
  • 16.
    Agile concept Emphasize collaborative,integrated teams, frequent deliveries, and the ability to adapt to changing business needs
  • 17.
    Testing Automation inAgile environment Since working increments of the software are released often in agile software development, there is also a need to test often. This is commonly done by using automated tests to minimize the amount of manual labor involved. Undertaking only manual testing in agile development may result in either buggy software or slipping schedules, as it may not be possible to test the entire build manually before each release.
  • 18.
    Testing Automation as part of the scrum team • Testing automation activities is part of the backlog document • Automation developer take part in all scrum stages • Automation status is part of the morning meetings • Testing automation is a MUST as part of the scrum testing scope • Automation developer works closely with all team members (Manual tester, Developer, PMO, etc…)
  • 19.
    Testing Automation execution Scrum work flow • Testing automation execution occur after the first code delivery • Usually will try to use existing code • API execution is an advantage • Result analyze by the whole scrum team
  • 20.
    Some Agile testingprinciples justify Testing Automation • Testing moves the project forward • Testing is not a phase – it’s a way of life (ongoing execution) • Every body test – Manual testers execute automation • Keep the code clean – rerun testing execution • Test Driven advantage – very easy to develop in automated testing
  • 21.
  • 22.
    ! Common life cycle 1 Purchase the tool 2Recruit developers 3 Understand ROI 4 Fail to implement TTM – life cycle 1 Analyze the systems 2 Recruit developers 3 Understand ROI 4 Follow TTM Purchase the tools and managers methodology
  • 23.
    " # $
  • 24.
    # % & # # ' $ # ' ' !
  • 25.
    Testing Automation Readiness 4 • Developers • Stable environment • Understand business process • Tools readiness • Testing Automation environment readiness • Developers understand the project scope • Set expectation
  • 26.
    4 Testing Automation Stages • Sanity SET – Set of ~50 QTP scripts, verify that new build (version) ready for massive testing process • Quick ROI Developments – Packages can retrieve the investment immediately (e.g. API, data driven, data inflation) • Regression by modules So important to make sure NOT to develop all regression tests in one SET, “Before moving forward with the development stage, we need to analyze our system and divide it by modules, for each module to develop his own automation SET” • Data Inflation – Using our GUI interface can help with massive data changes
  • 27.
    4 Testing Tools Management Progress • Define the project scope • Follow up • Testing Automation methodology • Summary
  • 28.
  • 29.
    Application Lifecycle Management " # ' $ ' ' # $ ( ) # ) $ ) ) ) $
  • 30.
    * + ! +" ,
  • 31.
  • 32.
    Strategy • # •& • $ ' •- .
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
    Open Source Open source tools Testing tool for browser-based testing of web applications A plug-in driven automated testing tool that separates applications into features and allows those features to be tied together independently An automated functional testing framework for web applications
  • 39.
    Types of testingAutomation Tools Tools cost money QTP – The MOST common testing Automation tool (41% of the market) Test Complete – support Extensive platforms Not supported as QTP Team System 10.00 Coded UI – Testing Automation tool by Microsoft
  • 40.
    ! " # $
  • 41.