The widely used term “unit test,” which is a quality procedure for testing modules of software code, has been used
for decades. To enable unit testing, specialized infrastructures were designed to enable the isolation of unit tested code from
its production implementation. Currently, hundreds of tools and add-ons exist for unit testing in almost every software
development environment and
... [Show full abstract] language. Integration testing, on the other hand, which is a quality procedure for testing
multiple modules of software code working together, demands a vastly different kind of infrastructure to enable the
interaction of the code with other production implementation components. With the growing popularity of agile methods, the
boundaries of unit and integration testing have become blurred with Continuous Integration (CI) and Continuous Deployment
(CD) derived from market demand for continuous reply and reaction of the software to a rapidly changing world. CICD
enhances the importance of unit testing. Following that, it is important to identify the effect of new agile software
development life cycles (SDLC) on unit test activities – assuming it may affect software quality in general. In this paper, we
analyze the evolving different definitions and usages of the term “unit test” and attempt to understand the implication of these
definitions to the actual use of the term