I have worked on teams that were successful just creating an continuous integration server that ran unit tests. Unit testing is the corner stone of testing in software development. If you units function correctly there is a higher probability that the application as a whole functions correctly. If you can write unit tests that cover the functionality of your units then there is a higher probability the you understand the solution scape for the problem you are building an application to fix. More often than not, unit tests are the only tests developers actually make for the code they write.

 

You can successfully just writing unit tests.

You don’t have to stop at unit tests and you shouldn’t stop at unit tests. You should automate every kind of test you can think of automating. Functional tests, integration tests, data tests, code review tests, security tests, penetration tests, you name it, automate it.

If you develop all kinds of tests as you develop your application and invest in maintaining the tests, your quality will go up and your ability to plan and follow those plans will go up. And your reaction time to a schedule shift will be improved since you will be better able to measure the readiness of your application. Maybe Agile in a large way is all about knowing where you are in the development cycle with more certainty based on working, tested software. This knowledge of where you are and how well your application as a whole is working and reacting to the change that development places on it will improve your ability to handle the bumps on the road to a release with more grace. Your overall product will have higher quality and the tests at all levels will help you communicate the functionality you developer to your users. The users can use the tests to help understand and communicate to you where the application doesn’t do what they expected it to do.

Leave a comment

Your email address will not be published. Required fields are marked *

X