VMware Secrets Manager
ADR-0009: Have at Least 50% Test Coverage Across the Project
Mark Your Calendars
The next
VSecM Contributor Sync
will be on…
Thursday, 2024-05-30
at 8:00am Pacific time.
- Status: accepted
- Date: 2024-05-11
- Tags: testing, quality, coverage
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.
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.
Considered Options
- Have at least 50% test coverage across the project.
- Do not enforce a specific test coverage threshold.
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.
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.
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.
results matching ""
No results matching ""