Automation Testing Strategies with ASP.NET Core
Great automated tests that can be run while developing an ASP.NET Core application enables quality, reliability, and even continuous delivery. This course will teach you how to create and execute such a set of tests using .NET technologies.
What you'll learn
Many .NET applications have been written without automated tests - or if the tests have been written they've been done by a separate QA team rather than the developers. In the pursuit to build more quality into your applications, it's important to have an easy-to-run set of tests that can validate changes. In this course, Automation Testing Strategies with ASP.NET Core, you’ll learn to create an automation test suite that will create high confidence with every deployment. First, you’ll explore unit tests and integration tests that can be run within Visual Studio or the dotnet test command, and how to enrich those tests with good data. Next, you’ll discover how to create post-deployment tests - both end-to-end tests using Playwright and performance-related tests using NBomber. Finally, you’ll learn how to create an execution strategy so that these automated tests run when you want them to and support your development and deployment process. When you’re finished with this course, you’ll have the skills and knowledge of automation testing for ASP.NET Core needed to enable confident delivery and refactoring of your applications.
Table of contents
- Welcome and Introduction 3m
- Version Check 1m
- What You'll Be Testing 3m
- Demo: Application Functionality and Behaviors 5m
- Test Authoring Overview 2m
- Demo: Create and Run a Unit Test 6m
- Demo: More Efficient Tests with XUnit Theories 4m
- Unit Tests and Integration Tests Compared 2m
- Demo: Create and Run an Integration Test 3m
- Demo: Keeping Tests Readable and Organized 4m
- Demo: Add Authentication Middleware for Tests 8m
- Demo: Code Coverage 3m
- Observations 1m
- The Importance of Predictable Test Data 2m
- Demo: Using In-memory SQLite for Tests 8m
- Demo: Switching Database Providers to PostgreSQL 3m
- Demo: Using Testcontainers with PostgreSQL 4m
- Demo: Using Testcontainers with SQL Server 3m
- Demo: Using Testcontainers with a Custom SQL Server Image 6m
- Demo: Code Coverage Revisited 4m
- Checkpoint and What's Next 1m
- Introduction 2m
- Demo: AngleSharp for Evaluating Page Content 6m
- Demo: Selectors, Substitutes, and Shared Fixtures 6m
- Demo: Redirection... or Not? 3m
- Demo: Including Cookies 4m
- Demo: Form Submission and Emails 6m
- Demo: WireMock.Net for External API Calls 5m
- Demo: Proxying with WireMock.Net 5m
- Coverage Review and Analysis 2m
- Introduction and Notes 4m
- Demo: Introducing Playwright 3m
- Demo: Write First Test 2m
- Demo: Record a Test 5m
- Demo: Set a Base URL (Run Settings) 3m
- Demo: Debugging and Screenshots 3m
- Demo: Recording and Testing a Full User Flow 3m
- Demo: Traces and the Trace Viewer 3m
- Homework and More Playwright Features 2m
- Checkpoint and What's Next 1m
- Introduction, Considerations, and Approach 5m
- Demo: First Load Test with NBomber 5m
- Key Questions Regarding Performance 1m
- Demo: HTTP Tests and Metrics 3m
- Demo: Data and Load Generation 4m
- Demo: Initialization Logic and API Console Logging 6m
- Demo: InfluxDB and Grafana for (More) Reporting 6m
- Homework and What's Next 3m
- Introduction and High Level Strategy 5m
- Demo: Inner Loop Testing Inside Visual Studio 5m
- Run Tests on Code Push or Pull Request 2m
- Demo: Use an Azure DevOps Pipeline for Tests 4m
- Demo: Badges, Triggers, and Bad Refactoring 5m
- Demo: GitHub Actions for Tests 4m
- End-to-end Testing Considerations 2m
- Data Management Thoughts 2m
- Performance Testing Considerations 1m
- Closing Thoughts 1m