Is that a right question to ask at all during effort estimation stage?
When taking workshop with software developers involved SCRUM methodology, I came across some of the following answers in relation with effort estimation vis-a-vis unit testing:
- No task was created for unit tests and hence, no effort was estimated. Thus, we didn’t write any unit tests.
- We had to deliver and we were running short of time; hence, we skipped unit testing?
- There are effort estimation done for functional tests by QA engineers; Then, why unit tests?
Interestingly, some stakeholders on client end said about of software developers on offshore side not asking for tasks to be estimated for unit tests.
If you observe above, you would find “unit testing” seen as a separate set of actions then development. If seen this way, one will surely not be able to do justice with unit tests and the related Testability quality characteristic associated with it.
I see unit tests activities to be integral part of development. Once seen this way, I pay attention right from the requirements gathering stage to perform following:
- Design for Testability
- Test-driven development
- Test-along development: This is an interesting term I came across while talking to one of the client stakeholder.
Once we see unit testing as integral part of software development, we adjust the schedule to deliver the module in appropriate time duration.