Course Overview

Software testing on an Agile team is fundamentally different than traditional approaches to testing. This three-day course will introduce you to contemporary testing principles and practices used by Agile teams to deliver high-quality increments of software on regular iterations.

Key Learning Areas

  • Visual Studio Online
  • Team Projects
  • Managing a backlog
  • Planning a sprint
  • Creating a test case
  • Reporting a bug
  • Create and run a unit test
  • Calculate code coverage
  • Concurrent testing (NCrunch)
  • Microsoft Test Manager
  • Coded UI tests
  • Web performance tests
  • Load tests
  • Exploratory testing
  • Automated builds
  • Visual Studio Agents

Course Outline

This course contains several models, each covering a different set of Agile practices and related tools.

Agile Software Development

  • Agile values and principles, the Scrum framework
  • Cross-functional teams, Agile testing behaviors

Agile Software Requirements

  • Requirements vs. specifications, acceptance criteria, and estimation

Planning and Tracking Quality

  • Forecasting and planning a sprint, defining done, reporting bugs

Development Tests

  • Unit testing, code coverage, Test-Driven Development (TDD)

Acceptance Tests

  • Acceptance testing, integration testing, UI testing
  • Performance testing, load testing, non-functional requirements
  • Acceptance Test-Driven Development (TDD)

Exploratory Tests

  • Exploratory testing, testing “tours”

Build and Test Automation

  • Automated building and testing, Continuous Integration (CI)

 Getting Done

  • Overcoming common dysfunctions, attributes and behaviors of high-performance Agile teams

Who Benefits

This course is appropriate for all members of a software development team, especially those team members performing testing activities – regardless of skill level. This course also provides value for non-testers (managers, Scrum Masters, coaches, etc.) who want a better understanding of what Agile software testing involves.

You should take this class if any of these issues sound familiar:

  • Release dates and budgets are missed due to low quality and bugs
  • Testing activities are performed at the end of the sprint/iteration or release
  • No collective ownership or collaboration exists between the developers and testers
  • The team tests the wrong things at the wrong time
  • No automated tests, no regression tests, and no idea of the quality of your software!

Prerequisites

No technical skills or experience are required. Knowledge of Agile and Scrum is a plus.