In software development, testing a program that has been modified in order to ensure that additional bugs have not been introduced. When a program is enhanced, testing is often done only on the new features. However, adding source code to a program often introduces errors in other routines, and many of the old and stable functions must be retested along with the new ones. Regression testing is one of the most important aspects of software testing and is often overlooked or given scant attention.A Regression-Usability ExampleRegression testing also extends to usability (how easy it is to operate a product). For example, as cable TV providers offer new interfaces that allow tablets to control the cable box and DVR, there is often little attention paid to users who continue to use the traditional remote. Tablet users can tap icons "anywhere" on the screen, but if icon placement is not regression tested, users with remotes, who must navigate via arrow keys, may have a more awkward experience. See usability.