Dror Helper

Dror Helper is a freelance software developer and architect with twenty years of experience. He has worked for large enterprise companies including Intel and SAP, as well as startups. He has appeared in conferences worldwide since 2012 speaking about unit testing, TDD, and the AWS cloud.

projects by Dror Helper

Automated Testing for C# Developers

4 weeks · 5-9 hours per week average · BEGINNER

In this series of liveProjects, you’ll learn to design and implement automated testing for C# applications. You’ll go hands on with the everyday practices and tools developers use to ensure their software is effective and easy to maintain. Because all the tests you’ll learn are automated, you’ll free yourself from time-consuming manual testing and bug finding. Each project in this series covers a new form of C# automated testing, so you can pick the skills most relevant to your needs.

Working with Legacy Code

1 week · 8-10 hours per week · BEGINNER

In this liveProject, you’ll refactor poorly written legacy code in a way that lets you make changes without fear of bugs. You’ll fix the internal structure of your code, make sure code functions according to your needs with integration tests, and make in-depth changes supported by your testing suite. Finally, you’ll develop new features inside code without major changes, and replace dependencies with mock objects to help test previously unmaintainable code.

BDD and Acceptance Tests

1 week · 8-10 hours per week · BEGINNER

In this liveProject, you’ll ensure your system behaves according to customer requirements by implementing acceptance tests. You’ll use SpecFlow and Gherkin to test existing functionality, WireMock to test each service with a fake interaction between services, and, finally, use behavior-driven development (BDD) and test-driven development (TDD) to create a new service.

Continuous Integration Pipeline

1 week · 2-4 hours per week · BEGINNER

In this liveProject, you’ll create a continuous integration pipeline for your tests. Continuous Integration (CI) automates the testing of code whenever the code changes. This ensures code quality remains high and encourages regular merging and testing. You’ll use Azure DevOps to create and run a CI pipeline to build code, then run XUnit-based tests, set up filters for different tests, and add code coverage for analysis of run results.

Isolate Dependencies with Mocks

1 week · 8-10 hours per week · BEGINNER

External services, databases, and other dependencies are hard to run in a predictable way and can often cause test failures when there is no issue in your code. In this liveProject, you’ll isolate unnecessary dependencies and replace them with mock objects that have more manageable behavior. You’ll then be able to develop isolated unit tests, which do not break due to external reasons, are easy to write and run, and have fast execution times.

Unit and Integration Tests

1 week · 8-10 hours per week · BEGINNER

In this liveProject, you’ll learn to write effective unit tests for an existing ASP.NET e-commerce application. You’ll start by analyzing where unit tests can be implemented, then write and run those tests using Visual Studio and best practices. You’ll refactor those tests to the Builder pattern in order to reduce test code and improve maintainability. Finally, you’ll set up integration tests for code that rely on external dependencies, and use your tests to guide the creation of new functionality for your app.