EIEIOTECHNOVATION
← Training programmes

EIEIO / PROJECT MANAGEMENT

Agile Software Testing and Test Automation

Course outline

3 days

Duration

3 days

Overview

This program introduces Unit Testing, Test Driven Development, Behavior Driven Development, Acceptance Test Driven Development, API Testing Practices, GUI Testing Practices, Collaboration in Testing, and Agile Testing techniques to the audience and follows a life cycle approach where participants get to learn how to practice these in real life projects. Participants learn to implement Agile Testing on a project developing in either java, .net or ruby or C++ framework.

Key Learning Outcomes

  • Introduction to Unit test, unit test characteristics
  • Test Driven Development – why, what and how
  • TDD Cycle – Red, Green and Refactor
  • Drive the development (design and implementation) of a User Story
  • Learn concept of Emergent Design and why emergent design
  • How TDD helps you design software
  • Why testing first is better than testing after
  • GUI Testing and use of Selenium
  • API testing and setting up API testing framework
  • API testing using Cucumber/SoapUI
  • Difference between Unit testing and API testing
  • Setting up Continuous Integration practices
  • Running tests through Continuous Integration tools such as Jenkins

Key Learning Activities

Hands-on activities (60-70%) and discussion on mentioned topics (30-40%). Handson activities include writing unit test, code, writing examples and some group creativity activities.

Target Audience

Development team members including developers, testers, architects, leads and scrum masters.

Prerequisites

Laptops/Desktops with required software and internet connection. Software will be provided by facilitator.

Tools

Java/.Net, Cucumber/SpecFlow, Selenium, Jenkins, GIT, Junit/Nunit, SoapUI

Day 1: Acceptance Test Driven Development (ATDD)

Specification by Examples Workshop

  • Challenges in Collaboration between Business and Development Team
  • How to write better Specification
  • Why Examples needed for specification
  • Writing Examples in Gherkin

ATDD and BDD workshop

  • Principles of Acceptance Test Driven Development
  • Consequences of ATDD on the Sprint Planning and Sprint Review
  • Principles of Behavior Driven Development
  • Practicing BDD with Cucumber/Specflow – Writing features, testing and reporting
  • Role of Product Owner and crew when writing scenarios acceptance

GUI and API Testing/ Data Driven Testing

  • Overview of Selenium and best practices for GUI testing
  • Design GUI test framework using Selenium, Cucumber and TestNG
  • Overview of SoapUI and API testing
  • Design API testing framework from scratch
  • Best practices for API testing

Day 2: Unit Test and Test-Driven Development

Unit Testing

  • What is unit testing
  • Why unit testing is needed
  • Difference between Unit Testing and Integration Testing
  • Developer and Tester role in Unit Testing

Test Driven Development workshop

  • Design of the TDD approach and its benefits
  • Improving the quality and design of the code by testing?
  • Different types of tests: unit, integration, functional
  • Understand the life cycle of a test in the xUnit framework
  • Respect of the principle of isolation and control of test results

Day 3: Continuous Integration and Agile Testing

Introduction to Continuous Integration

  • Principles, environment and infrastructure
  • Branching strategies and patterns for continuous integration.
  • Solutions for Continuous Integration: Hudson, Jenkins, Cruise Control, Bamboo,

TeamCity, Apache Continuum

Introduction to Jenkins

  • Dashboard and health projects
  • Installation, configuration and use of Jenkins
  • Automated Builds with Jenkins and Maven
  • Automation Testing with JUnit (TDD) and Cucumber (BDD/ATDD)

Agile Testing

  • Importance of Agile testing
  • Brian Marick’s Testing Quadrants
  • Inverting the Testing Pyramid
  • Developer Testing Practices
  • Exploratory Testing practices
  • Ensure better quality product iteration by iteration

Programme scope, delivery arrangements and suitability are confirmed during enquiry.