Testing Challenges in Collaborative Software Development
Understand the testing challenges that arise when software grows and depends on multiple collaborating objects. Learn why unpredictable behaviors and error conditions complicate writing fast, repeatable test-driven development tests, and how addressing these issues is crucial for effective unit testing.
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 ...