Thursday, June 30, 2016

No regression bugs

How to ensure that there is no regression bugs while introducing new features?

Here are my thoughts:


1. Knowledge Sharing


Developers need to have the knowledge about the whole product, especially about how the feature he or she is responsible is being used.

No one would intend to make the code broken unless for political reasons, such as avoiding dependencies.  We can argue that the developers are careless.  However, in my experience, most of the cases, lake of the knowledge is the reason.


2. Document the dependencies



In addition to sharing the usage and dependencies, it is better to officially document them.

3. Test the dependencies as part of the unit testing 

Avoiding regression issue requires to make the regression testing earlier in a smaller unit.

The integration issue does not have to be found during integration testing.
The integration issues can be found if the producer team know the dependencies and add those test cases into the regular testing plan for certifying the smaller module, BEFORE checking the codes, or making the codes available for integration.

4. Don't code in a rush

This is a commonly seen issues.  Expediting the release by asking the developers to make the codes available earlier.  Developers make the codes available without the proper testing and actually wasting other people's time.  The more time spending on integration the bigger impacts to other teams.



No comments: