Regression
A regression is an unintended deterioration in a system’s behavior, performance, or capabilities relative to a prior or expected level, often following a change.
The Art of Unit Testing 3e
A previously working software behavior that becomes broken after a change.
- How it is used
- Frames tests as a safety net for detecting previously working behavior broken by code changes.
- How deep it goes
- Defines regression plainly and explains its testing consequences, while deferring how rapid detection is implemented.
- Examples
- Uses deadline-driven bug fixes and changes to unfamiliar legacy code as regression-risk scenarios.
- What you can do after
- Evaluate/understand whether runnable tests provide confidence that a change preserved earlier functionality.
Machine Learning System Design
A software defect in which a change causes previously working behavior to fail or deteriorate.
- How it is used
- Uses regression to evaluate whether software, models, or training pipelines remain safe after changes.
- How deep it goes
- Explains regression through release testing, error tradeoffs, human review, and pipeline checks, without detailing defect-isolation techniques.
- Examples
- Uses a 100-sample test-set tradeoff and pipeline changes that introduce regression bugs as concrete examples.
- What you can do after
- Evaluate model and pipeline changes with tests, error tradeoffs, and appropriately assigned human review before release.
Read how Machine Learning System Design explains regression →
Unit Testing Principles, Practices, and Patterns
A regression is a defect in which a feature that previously worked stops working as intended after a change or other event.
- How it is used
- Frames regression as the quality risk unit tests must guard against during software changes.
- How deep it goes
- Defines changed behavior after an event, usually code modification, but does not detail regression diagnosis.
- Examples
- Uses feature changes, refactoring, releases, and tests as contexts where regressions appear or are prevented.
- What you can do after
- Evaluate whether tests provide confidence that changes will not break existing functionality.
Read how Unit Testing Principles, Practices, and Patterns explains regression →
Designing Deep Learning Systems: A guide for software engineers
A deterioration in a model's measured performance relative to an earlier version or evaluation.
- How it is used
- Uses regression to motivate reproducible troubleshooting and post-deployment monitoring of production models.
- How deep it goes
- Explains regression as a detection and troubleshooting concern, but does not specify a detection algorithm or diagnostic procedure.
- Examples
- Uses fraud detection, loan approval, chatbot routing, and competing production model versions as operational examples.
- What you can do after
- Diagnose/debug regression by reproducing models, comparing datasets and algorithm code, and monitoring deployed versions.
Read how Designing Deep Learning Systems: A guide for software engineers explains regression →
Secrets of the JavaScript Ninja, Second Edition
A failure of previously working software behavior following a change.
- How it is used
- Frames browser regressions as a major risk to reusable, maintainable JavaScript across browsers.
- How deep it goes
- Defines regressions, distinguishes predictable API changes from unpredictable bugs, and recommends feature detection, testing, and release monitoring.
- Examples
- Uses the Internet Explorer transition from attachEvent to addEventListener to demonstrate feature detection.
- What you can do after
- Diagnose regressions by testing browser releases and addressing failures; anticipate known API changes with feature detection.
Read how Secrets of the JavaScript Ninja, Second Edition explains regression →
Related concepts
- fine-tuningproduced by · Fine-tuning is adapting a pretrained machine-learning model by training it further on targeted data or objectives for a task, domain, or behavior.
- data driftcontrasts with · Data drift is a change over time in the statistical distribution or characteristics of data relative to a reference distribution or set of characteristics.
- testaddressed by · A test is a procedure or check that evaluates behavior using specified inputs or evidence against expected results or criteria.
- refactoringproduced by · Refactoring is the restructuring of existing software or code to change its internal organization and improve its design, typically while preserving externally observable behavior.
- linear regressionincludes · Linear regression is a statistical modeling method that estimates a continuous response as a linear combination of predictor variables and fitted coefficients.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.




