DescriptionWhat we offer

Most agile teams deliver potentially shippable software at the end of each iteration (one to four weeks), but some agile teams even ship working software every day. Regression confidence can be achieved with the help of automated tests, which many teams struggle with. This class will teach automation techniques to improve regression testing, story and feature testing, and enhancement of exploratory testing. Test Driven Development techniques, precise test and tool selection, appropriate automation design, and team collaboration can be combined to fully integrate testing into Agile delivery teams and provide the efficiency necessary for project success. Explore the many ways automation supports agile testing activities. Test automation purpose, theory, and principles are reviewed. We look at how test automation is implemented in diverse organizations. The course presents many types of automation illustrated with example test descriptions, source code samples, and example test scripts.

ObjectivesWhat you learn

  • Discover how to implement test automation as stories are implemented
  • Confidently deliver shippable product increments each sprint using automation
  • Understand how to collaborate with business analysts, programmers, and customers to integrate automation into your teams' workflow
  • Work without the need of separate, independent test automation teams
  • Explore how complex non-functional testing can be automated in a sprint
  • Discover how tools such as mind mappers, recorders, and note takers generate defensible evidence of regulatory compliant testing

TopicsThe best for you

Test Automation Strategy

  • Where test automation fits in
  • How much test automation
  • What not to automate

Automation Pyramid

  • Presentation
  • Application
  • Structural

Planning for Automation

  • Skills
  • Tools
  • Workflows

Automation Frameworks

  • Unit Test Harness
  • Acceptance Test Frameworks for ATDD and BDD
  • Traditional capture playback test frameworks

Selecting Tests for Automation

  • Structural regression
  • Business facing regression
  • Repetitive operations
  • Improve ability to control and observer

Supporting Process

  • Roles and Responsibilities for test automation
  • Test Driven Development
  • Acceptance Test Driven Development
  • Behavior Driven Development
  • Design Driven Testing
  • Legacy automation
  • Testing and Continuous Integration

    • Build environments
    • Structure regression
    • Business facing regression
    • Static analysis

    Automated Test Cycles (Continuous Testing)

    • Flow of implementing a story
    • Grooming and test automation
    • Programming and test automation
    • In sprint testing activities
    • Non-functional testing activities
    • Dynamic analysis

    Static Code Analysis/Metrics

    • Code metrics
    • Changing complexity and risk
    • Security risks
    • Maintainability risks

    Automating Story and Feature Testing

    • Defining acceptance tests
    • Cross story testing
    • Data driven testing
    • Keyword driven testing
    • Scripting

    Mapping Tests to Automation

    • Acceptance tests to automate
    • Unit tests to automate
    • Regression coverage

    ATDD and BDD Testing Frameworks

    • Fitnesse
    • Cucumber

    UI Testing Frameworks

    • Capture playback test generalization
    • Open source frameworks
    • Commercial frameworks

    Automation Support for Integration and System Testing

    • End-to-end transaction testing
    • Continuous integration

    Data Setup and Tear Down and Data Within Automation

    • Self contained test models
    • Data independent models
    • Mocking
    • Tools to Support Exploratory Testing

      • Scripting
      • Note taking
      • Mind Mapping
      • Screen capture

      Tools for Performing Non-Functional Testing

      • Performance testing tools
      • Stress testing tools
      • Usability testing tools
      • Security testing tools
      • Virtualization

        • Virtual unit test environments
        • Virtual business facing test environments
        • Locale variations
        • Reset systems to a controlled state

    PrerequisitesWhat should you know

    • You must be proficient in at least one programming language. You will get the best out of this class if you have worked at least 5 years as a programmer or architect until now.

    AudienceWho should attend

    • QA Engineers
    • Programmers
    • Business analysis
    • Product owners