Testing Challenges in Collaborative Software Development

Explore some challenges that we face using testing collaborators in software development.

In this lesson, we’ll understand the challenges that arise as we grow our software into a larger codebase. We’ll review what is meant by a collaborating object, then we’ll take a look at two examples of collaborations that are challenging to test.

Challenges with collaborating objects

As we grow our software system, we’ll soon outgrow what can go in a single class (or function, for that matter). We’ll split our code into multiple parts. If we pick a single object as our subject under test, any other object that it depends on is a collaborator. Our TDD tests must account for the presence of these collaborators. Sometimes, this is straightforward, as we’ve seen in earlier sections. Unfortunately, things aren’t always that simple. Some collaborations make tests difficult or impossible to write. These kinds of collaborators introduce either unrepeatable behaviors that we must contend with or present errors that are difficult to trigger.

Get hands-on with 1200+ tech skills courses.