Calendar Favorite 1 Streamline Icon:  Mark Your Calendars: The next VSecM Contributor Sync will be on... Thursday, 2024-05-30 at 8:00a Pacific time.
Rating Star 1 Streamline Icon:  Star VMware Secrets Manager to show your support. Help us reach out to even more people with this amazing tech.

ADR-0009: Have at Least 50% Test Coverage Across the Project

  • Status: accepted
  • Date: 2024-05-11
  • Tags: testing, quality, coverage

Link Context and Problem Statement

An uneven or low code coverage across a project can lead to several critical bugs making it into production. This can impact the client’s trust and increase the number of post-release hotfixes and patches. There is a clear need to standardize and increase the test coverage to ensure higher quality releases and reduce maintenance costs.

Link Decision Drivers

  • Without enough coverage, changes to the codebase can introduce bugs that are not caught by the existing tests.
  • Low test coverage can lead to a lack of confidence in the codebase, making developers hesitant to make changes.
  • High test coverage can help identify areas of the codebase that are more complex or error-prone, allowing for targeted refactoring and improvement.
  • High test coverage can help ensure that new features do not inadvertently break existing functionality.
  • High test coverage can help maintain a consistent level of quality across the codebase.
  • High test coverage can help reduce the number of bugs that make it to production, improving customer satisfaction and reducing maintenance costs.
  • High test coverage can help improve the overall quality of the codebase, making it easier to maintain and extend over time.

Link Considered Options

  1. Have at least 50% test coverage across the project.
  2. Do not enforce a specific test coverage threshold.

Link Decision Outcome

Chosen option: “option 1”, because increasing the test coverage to at least 50% across the project is expected to improve the overall quality of the codebase, reduce the number of bugs that make it to production, and align with our strategic goals of delivering higher quality software and improving user satisfaction.

Link Positive Consequences

  • Improved code quality.
  • Reduced number of bugs.
  • Increased developer confidence in the codebase.
  • Reduced regression issues.
  • Easier refactoring and maintenance.
  • Better user satisfaction.
  • Lower maintenance costs.

Link Negative Consequences

  • Increased development time.
  • Possible impact on feature development speed.
  • Possible need for investment in better testing tools and continuous integration systems.
  • Possible need for adjustments to the test coverage threshold based on project requirements and team feedback.



Link ADRs

You can view the ADRs by browsing this following list:

edit this page ✏️