Professional Software Testing Using Visual Studio 2019

Course Description

This three-day course will introduce you to the contemporary testing principles and practices used by agile teams to deliver high-quality increments of software on regular iterations. Through a combination of lecture, demonstrations, and team-based exercises, students will experience how to do this by leveraging the tools found in Visual Studio, Azure DevOps Services, and the community marketplace.
3 days
Contact us for pricing

Who Should Attend

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!

Agile Software Testing

Overview of agile software development
The agile tester and agile testing practices
Different types of testing
Introduction to Azure DevOps Services
Agile requirements and acceptance criteria
Creating, organizing, and managing a backlog

Planning and Tracking Quality

Defining quality software
Introduction to Azure Boards
Forecasting and planning a sprint
Introduction to Azure Test Plans
Organizing testing using test plans and suites
Creating and managing test cases
Leveraging parameters and shared steps
Importing and exporting test artifacts
Triaging and reporting bugs

Development Tests

Introduction to development tests
Unit testing in Visual Studio
Data-driven unit tests
Analyzing code coverage
Practicing Test-Driven Development (TDD)
Concurrent testing (Live Unit Testing and NCrunch)

Acceptance Tests

Introduction to acceptance tests
Acceptance criteria and definition of “done”
Acceptance Test-Driven Development (ATDD)
Using SpecFlow to automate acceptance testing
Using Selenium for web UI testing
Using Appium for desktop UI testing
Manually testing web and desktop applications
Performance testing and load testing

Exploratory Tests

Introduction to exploratory tests
Using the Microsoft Test & Feedback extension
Connected mode vs. standalone mode
Exploring work items
Capturing rich data during an exploratory session
Exploratory testing “tours”
Requesting and providing stakeholder feedback

Build and Release Testing

Introduction to Azure Pipelines
Automated builds using build pipelines
Running automated tests in the pipeline
Practicing Continuous Integration (CI)
Leveraging Test Impact Analysis
Automated releases using release pipelines
Creating, deploying, and testing a release
Viewing and managing a deployment


Agile metrics that matter
Configuring alerts and notifications
Using the Microsoft Analytics extension
Ad-hoc reporting using Excel and Power BI
Querying data using the REST API

Delivering Quality Software

Understanding and avoiding technical debt
Detecting and measuring technical debt
Defining and obeying a definition of "done"
Overcoming dysfunctional team behaviors
Becoming a high-performance team
Case studies

Visual StudioAzure DevOpsAzureVS 2019Visual Studio 2019Software testTDDsoftware testingUI testingTDDUnit testunit testing