Course Overview

This three-day course introduces contemporary agile testing practices and the corresponding tools in Visual Studio Enterprise edition and Azure DevOps Services used to deliver high-quality software products on a regular cadence.

Key Learning Areas

  • DevOps principles, benefits, and related practices
  • Agile software development and testing
  • The role of the agile tester
  • Developer and tester collaboration
  • Agile software requirements
  • Introduction to Azure DevOps Services
  • Using Azure Boards to plan and track work
  • Creating, managing, and refining a product backlog
  • Defining and planning for quality software
  • Using Azure Test Plans for test case management
  • Creating and managing test plans
  • Organizing test cases into test suites
  • Test configurations and configuration variables
  • Creating and managing test cases
  • Creating parameterized test cases
  • Leveraging shared steps
  • Importing and exporting test artifacts
  • Triaging and reporting bugs
  • Extending Azure Test Plans
  • Introduction to development tests
  • Writing and running unit tests
  • Data-driven unit tests
  • Analyzing code coverage
  • Customizing code coverage
  • Test Explorer, CodeLens, and other tools
  • Practicing Test-Driven Development (TDD)
  • Concurrent testing (Live Unit Testing and NCrunch)
  • Introduction to acceptance tests
  • Acceptance criteria and definition of “done”
  • Acceptance Test-Driven Development (ATDD)
  • Creating automated acceptance tests in Visual Studio
  • Using SpecFlow to automate acceptance testing
  • Using Microsoft Test Runner
  • Testing web and desktop applications
  • Capturing screenshots and video while testing
  • Viewing and charting test run results
  • Using Selenium for automated web UI testing
  • Using Appium for automated desktop UI testing
  • Performance and load testing
  • Introduction to exploratory testing
  • Using the Microsoft Test & Feedback extension
  • Creating a work item during a testing session
  • Exploratory testing tours
  • Requesting and providing stakeholder feedback
  • Introduction to Azure Pipelines
  • Building, testing, & releasing code using Azure Pipelines
  • Hosted vs. on-premises agents
  • Running automated tests in the pipeline
  • Practicing Continuous Integration (CI)
  • Improving performance with Test Impact Analysis
  • Agile metrics vs. traditional project metrics
  • Configuring project alerts and notifications
  • Using Excel for reporting and charting
  • Using the Analytics Service and related widgets
  • Using Power BI and the REST API for reporting
  • Understanding and avoiding technical debt
  • Becoming a high-performance agile development team

Course Outline

    • Agile Software Testing
    • Planning and Tracking Quality
    • Development Tests
    • Acceptance Tests
    • Exploratory Tests
    • Build and Release Testing
    • Reporting
    • Delivery Quality Software

Contact us for older versions or customizations.

Who Benefits

This course is appropriate for all members of a software development team, especially those performing testing activities. This course also provides value for non-testers (developers, designers, managers, 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

Software testing experience required