Software Testing Fundamentals

14 hours
Beginner C# .NET

Write robust, maintainable automated tests and practice test-driven development from day one. This hands-on course covers unit testing with xUnit, mocking with Moq, REST API validation, and continuous integration with GitHub Actions, giving you the skills to ensure code quality and reliability across your projects.

What You'll Learn

By the end of this course, you will be able to:

  • Write unit tests and assertions using the xUnit framework
  • Create parameterized tests, test fixtures, and edge case coverage for thorough validation
  • Apply the Red-Green-Refactor TDD workflow to drive implementation through tests
  • Mock objects and dependencies with Moq to isolate units and test asynchronous methods
  • Write automated tests for REST APIs, validating responses, status codes, and edge cases
  • Integrate tests into CI pipelines with GitHub Actions for automated execution on pull requests

Requirements

  • Basic experience with a programming language such as C#, Java, or Python
  • Familiarity with object-oriented programming concepts
  • Interest in improving code quality through testing

Audience

  • Software Developers and Engineers
  • QA Engineers and Test Automation Specialists
  • DevOps and CI/CD Practitioners
  • Anyone responsible for maintaining code quality through automated tests

Topics

Unit Testing

  • xUnit Framework Overview
  • Writing Unit Tests and Assertions
  • Parameterized Tests for Reusable Test Cases
  • Test Fixtures for Setup and Teardown
  • Testing Edge Cases and Exception Handling
  • Debugging Failing Tests

Test Suites and Code Coverage

  • Organizing Tests into Test Suites
  • Measuring Code Coverage
  • Analyzing Test Gaps and Improving Coverage

Test-Driven Development (TDD)

  • Red-Green-Refactor Workflow
  • Writing Tests Before Implementation
  • Refactoring Code Safely with Tests
  • Functional vs. Unit Testing Strategies

Mocking and Dependencies

  • Using Moq to Mock Objects and Dependencies
  • Testing Asynchronous Methods
  • Isolating Units for Reliable Tests

REST API Testing

  • Writing Automated Tests for REST APIs
  • Validating Responses and Status Codes
  • Testing Edge Cases in API Requests

Continuous Integration and Automation

  • Integrating Tests with GitHub Actions
  • Automating Test Execution on Pull Requests
  • Reporting and Analyzing Test Results
Training Options
Number of Participants
Training Type

per participant

This course requires a minimum of 4 participants. Contact us for custom pricing for smaller groups.

Course Features

  • Expert instruction
  • Interactive lectures
  • Hands-on labs and exercises
  • Comprehensive course materials
  • Lifetime access to materials

Request Training Quote

Course
Participants
Training Type
Price per Participant

Request Received!

Thank you for your interest!

We'll contact you shortly with a detailed quote for Software Testing Fundamentals.