Type of testing performed early by the software developer or engineer during the construction phase of the software development lifecycle