Professional Software Testing Using Visual Studio 2019 (PTVS2019)
Course Length: 3 days
Delivery Methods:
Available as private class only
Course Overview
This three-day Professional Software Testing Using Visual Studio 2019 training class 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.
Course Benefits
- 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 develo
Course Outline
- 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
- Reporting
- 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
Class Materials
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Class Prerequisites
Experience in the following is required for this Azure DevOps Services class:
- Familiarity with your development process.
- Familiarity with distributed application design.
- Ability to read and understand C# .NET code (all source code will be provided).
- Experience using Visual Studio 2017 or 2019.
- Ability to read and understand requirements.
- Understanding of the Microsoft Windows operating system and security basics.
Live Private Class
- Private Class for your Team
- Live training
- Online or On-location
- Customizable
- Expert Instructors