5 Unconventional Uses for Software Tests

Emily DuBois

Levitt Auditorium • October 27 • 7:57 pm

Watch on YouTube

Software tests execute your source code and evaluate if it’s fit for use. They are traditionally used to identify bugs that could cause systems to fail, and are an important component of resilient and thoughtful code. The goal is almost always end-user satisfaction.

However, tests can also be a powerful tool for working with others. In this talk, I propose the following 5 unconventional uses for software tests for which the goal is collaborator satisfaction.

  1. Tests as documentation. Tests give you an opportunity to provide context and justify your decisions.
  2. Tests as accessibility. Tests can leverage prose to communicate to beginner and non-technical collaborators why a test may be failing, and empower them to be a part of the solution.
  3. Tests as a communication enforcer. Tests can analyze your repository for elements such as complete documentation and operational links.
  4. Tests as a teaching instrument. Tests allow you to offer points of clarification and communicate next steps, which can be especially helpful when for someone working from a different timezone, remotely, or in the future.
  5. Tests as reflection. Tests offer a moment to consider your work’s internal stakeholders, and architect your work with their well-being in mind.