Professional Software Testing Using Visual Studio 2019

Course duration

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

  1. Agile Software Testing
    1. Overview of agile software development
    2. The agile tester and agile testing practices
    3. Different types of testing
    4. Introduction to Azure DevOps Services
    5. Agile requirements and acceptance criteria
    6. Creating, organizing, and managing a backlog
  2. Planning and Tracking Quality
    1. Defining quality software
    2. Introduction to Azure Boards
    3. Forecasting and planning a sprint
    4. Introduction to Azure Test Plans
    5. Organizing testing using test plans and suites
    6. Creating and managing test cases
    7. Leveraging parameters and shared steps
    8. Importing and exporting test artifacts
    9. Triaging and reporting bugs
  3. Development Tests
    1. Introduction to development tests
    2. Unit testing in Visual Studio
    3. Data-driven unit tests
    4. Analyzing code coverage
    5. Practicing Test-Driven Development (TDD)
    6. Concurrent testing (Live Unit Testing and NCrunch)
  4. Acceptance Tests
    1. Introduction to acceptance tests
    2. Acceptance criteria and definition of “done”
    3. Acceptance Test-Driven Development (ATDD)
    4. Using SpecFlow to automate acceptance testing
    5. Using Selenium for web UI testing
    6. Using Appium for desktop UI testing
    7. Manually testing web and desktop applications
    8. Performance testing and load testing
  5. Exploratory Tests
    1. Introduction to exploratory tests
    2. Using the Microsoft Test & Feedback extension
    3. Connected mode vs. standalone mode
    4. Exploring work items
    5. Capturing rich data during an exploratory session
    6. Exploratory testing “tours”
    7. Requesting and providing stakeholder feedback
  6. Build and Release Testing
    1. Introduction to Azure Pipelines
    2. Automated builds using build pipelines
    3. Running automated tests in the pipeline
    4. Practicing Continuous Integration (CI)
    5. Leveraging Test Impact Analysis
    6. Automated releases using release pipelines
    7. Creating, deploying, and testing a release
    8. Viewing and managing a deployment
  7. Reporting
    1. Agile metrics that matter
    2. Configuring alerts and notifications
    3. Using the Microsoft Analytics extension
    4. Ad-hoc reporting using Excel and Power BI
    5. Querying data using the REST API
  8. Delivering Quality Software
    1. Understanding and avoiding technical debt
    2. Detecting and measuring technical debt
    3. Defining and obeying a definition of "done"
    4. Overcoming dysfunctional team behaviors
    5. Becoming a high-performance team
    6. 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.
Since its founding in 1995, InterSource has been providing high quality and highly customized training solutions to clients worldwide. With over 500 course titles constantly updated and numerous course customization and creation possibilities, we have the capability to meet your I.T. training needs.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.