Question:
What is the name of refactoring as a result of which you got rid of low-quality code but broke half of the functionality?
Everything seems to compile and looks perfect, but it doesn't work.
Answer:
refactoring as a result of which we got rid of low-quality code, but at the same time broke half of the functionality
This is called "regression" or "regression", and it doesn't matter what you did: add new functionality and break the old one, or simply refactor without adding new features and reworking the current ones.
Let's take a few definitions as an example.
Roy Osherov, The Art of Unit Testing:
Regression refers to one or more units of work that once worked and have now stopped.
The International Software Testing Qualifications Board (certification program) in the glossary defines:
regression – A degradation in the quality of a component or system due to a change.
There is a set of measures aimed at trying to diagnose such things – regression testing or regression testing.
As a rule, such testing is so difficult that the Q&A team does full regression testing at the end of the iteration.