Innovative Approach to Overcome Unit Test Failures

Nowadays, software productivity seems to take an important place in the software development process. More and more software development groups starting to understand the importance of delivering the product to the market as fast as they can. Many of them are using methodologies and productivity tools to speed up the process.

 One of the major obstacles in getting to the delivery date ready, is the time you waste when automatic tests start to fail. You usually can’t predict when it will happen, and how long would it take for your team to fix it. This makes it hard to estimate how much time you need in order to complete developing a certain feature.

Much more frustrating is the exhausting process a developer needs to go through in order to fix something which used to work just several days ago. If you have no clue of the latest changes which caused your unit test to fail, you would normally start a debug session in order to find the problem. Some developers might check the source control system and review the latest changes, trying to guess the latest change set that caused the failure, then run the unit test with and without the change, in order to conclude whether it is the one to blame. In both cases, the developer usually spends several hours until finding the source of the problem.

Developers that suffer from the problem mentioned above may be interested in the following Unit Testing Tool which helps developers to overcome unit test failures, and thus save valuable development time.

WiseTester

WiseTester

WiseTester helps .NET teams to overcome unit test failures by providing IDE-Based Unit Test Analysis and Source Control Based Unit Test Analysis. When a certain unit test fails, either on the developer’s machine or on the build server, WiseTester can find the exact code changes that caused the failure, saving the time of debugging the code in order to find the problem.

The ideology of the WiseTester is that when a developer gets a notification that one of his unit tests failed, the notification should come together with the exact code changes which caused the failure, before he even starts any debugging.

The IDE-Based Unit Test Analysis is based on information collected from the Visual Studio during the development sessions, and can point the problematic code changes which caused a certain failure up to the code line resolution. In the following screenshot we can see a problematic code change which caused a certain unit test to fail, and was detected by the WiseTester among all the other code changes made in the same development session.

WiseTester detected the exact code line which caused the failure

WiseTester detected the exact code line which caused the failure

 The Source Control Based Unit Test Analysis is based on information coming from the Source Control system, and can point the change set which caused a certain failure, even if it had been committed by another  team member. The following screenshot displays a Unit Test Analysis result which found the developer responsible for breaking the unit test.

WiseTester detected the change set which broke the unit test

WiseTester detected the change set which broke the unit test

Developers usually think about whether the added value of a certain solution is worth the time needed to integrate this solution into the development environment. WiseTester takes that into account, providing a quick setup and a one step integration. No code changes nor migrations are required in order to integrate the solution.

One Step to Add a Solution to the Watchlist

One Step to Add a Solution to the Watchlist

Thanks go to Lior Peleg for writing this article for the TheLudditeDeveloper blog.

Advertisements