QA Testing with Visual Studio 2022 & Azure DevOps
Course Syllabus
Benjamin Day Consulting, Inc.
17 Roberts St #2
Brookline, MA 02445
617-645-0188
https://benday.com
Course Overview
This course demonstrates how to use Visual Studio 2022 and Azure DevOps to test your applications and track testing work effectively. Ensuring quality requires a "layered defense" approach using multiple types of tests - from automated unit tests at the API level to manual tests run by human testers.
We'll explore different types of tests and how to leverage Visual Studio 2022 and Azure DevOps features for comprehensive testing strategies in modern development environments.
What You'll Learn
Testing Strategy & Quality Mindset
- Testing as a "layered defense"
- The Testing Pyramid and modern testing strategies
- Testing & Quality in Agile/Scrum environments
- DevOps testing integration and shift-left practices
- Risk-based testing approaches
Unit Testing & Test-Driven Development
- What is a unit test and why does it matter?
- Test-Driven Development (TDD) fundamentals
- The TDD process: Red-Green-Refactor cycle
- Common objections to Unit Testing & TDD (and responses)
- Building business case for testing investment
- Creating and writing effective unit tests
- Testing frameworks: xUnit.NET, NUnit, MSTest comparison
- Code coverage analysis and interpretation
- Continuous Testing in development workflows
Application Design for Testability
- Architecting applications for testability
- Testing user interfaces and UI logic
- Strategies for testing legacy code
- Mocking and Test Doubles
- Modern mocking frameworks (Moq, NSubstitute)
- Avoiding "The Huge Integration Test" anti-pattern
- Database testing strategies and test data management
- Mocking web services, APIs, and external dependencies
- Testing hard-to-reach code scenarios
- Design Patterns for testability
- Repository pattern for data access
- Adapter pattern for system boundaries
- Model-View-Controller (MVC) and Model-View-ViewModel (MVVM)
- Dependency injection and inversion of control
Modern UI Testing
- Playwright for .NET - Modern web UI automation
- Selenium WebDriver - Cross-browser testing
- Unit Tests vs. Integration Tests vs. UI Tests
- Page Object Model pattern
- Test data management for UI tests
- Cross-browser and responsive testing strategies
- Accessibility testing integration
Manual Testing with Azure DevOps
- Azure Test Plans - Comprehensive test management
- Creating and organizing test suites and test cases
- Requirements-based vs. query-based test suites
- Shared steps and reusable test components
- Parameterized test cases and data variations
- Exploratory testing tools and techniques
- Test execution and progress tracking
Bug & Defect Management
- Creating actionable bugs with rich diagnostics
- Azure DevOps work item tracking
- Bug lifecycle management and workflows
- Screenshot and video capture tools
- Linking defects to test cases and requirements
- Defect analysis and reporting
- Integration with development workflows
Test Automation in Pipelines
- Azure Pipelines integration for automated testing
- Running unit tests in CI/CD pipelines
- Integration testing in build processes
- UI test execution in release pipelines
- Test result reporting and analysis
- Quality gates and deployment decisions
- Parallel test execution strategies
Performance Testing
- Azure Load Testing - Cloud-based performance testing
- Visual Studio Load Testing (where applicable)
- Performance test design and execution
- Identifying performance bottlenecks
- Load testing strategies and patterns
- Performance monitoring and diagnostics
- Scalability testing in cloud environments
API Testing
- REST API testing strategies
- Postman integration with Azure DevOps
- Contract testing and API validation
- Automated API test suites
- API performance and security testing
Lab Exercises
Throughout the course, students will work on hands-on exercises including:
- Setting up comprehensive test suites in Azure Test Plans
- Creating and executing manual test cases
- Building automated test pipelines
- Implementing UI automation with Playwright
- Performance testing scenarios
- Bug reporting and lifecycle management
- Test reporting and metrics analysis
Prerequisites
- Basic understanding of software development and testing concepts
- Familiarity with Visual Studio 2022 or similar IDE
- Some experience with web applications helpful
- Basic understanding of DevOps concepts beneficial
Course Details
Technologies: Visual Studio 2022, Azure DevOps Services/Server, Playwright, xUnit.NET, .NET 8+
Programming Languages: Primarily C#, but concepts apply to multiple languages
Duration: 2 days, 9am to 5pm
Format: Interactive lectures with extensive hands-on labs
Lab Machine Requirements
Operating System: Windows 10/11 or macOS (latest versions)
Memory: 8GB RAM minimum, 16GB recommended
Required Applications:
- Visual Studio 2022 (Professional or Enterprise preferred for testing tools)
- Modern web browser (Chrome, Firefox, Edge)
- Azure DevOps account (free tier available)
- .NET 8+ SDK
Network Requirements: Reliable internet connection for Azure DevOps Services
Student Setup: Each student should have an Azure DevOps organization set up before class begins
Course Outcomes
Upon completion of this course, students will be able to:
- Design and implement comprehensive testing strategies
- Use Azure Test Plans for manual test management
- Create automated test suites integrated with CI/CD pipelines
- Implement modern UI testing with Playwright
- Manage defects and track quality metrics effectively
- Set up performance testing for applications
- Integrate testing practices into DevOps workflows
- Make data-driven decisions about software quality
Customization Options
This course can be customized for your organization's specific needs:
- Focus on specific testing types (API, UI, performance)
- Integration with your existing Azure DevOps setup
- Custom test automation frameworks and tools
- Legacy application testing strategies
- Shortened format (1-1.5 days) or extended format (3 days)
- Advanced topics (security testing, accessibility testing)
Course content is regularly updated to reflect the latest Visual Studio 2022 features, Azure DevOps capabilities, and modern testing practices.