  The pivotal role of testing in high-quality software production has driven a
significant effort in evaluating and assessing testing practices. We explore
the state of testing in a large industrial project over an extended period. We
study the interplay between bugs in the project and its test cases, and
interview developers and stakeholders to uncover reasons underpinning our
observations. We realized that testing is not well adopted, and that
testability (ie, ease of testing) is low. We found that developers tended to
abandon writing tests when they assessed the effort to be high. Frequent
changes in requirements and pressure to add new features also hindered
developers from writing tests. Regardless of the debates on test first or
later, we hypothesize that the underlying reasons for poor test quality are
rooted in a lack of attention to testing early in the development of a software
component, leading to poor testability of the component. However, testability
is usually overlooked in research that studies the impact of testing practices,
and should be explicitly taken into account.
