Regresja – zjawisko niezamierzonej utraty jakiejś funkcjonalności powstałe w nowej wersji programu i zwykle skutkujące komunikatem o błędzie lub brakiem działania. Do regresji dochodzi wskutek wprowadzania zmian w jakiejś części kodu programu. Skutkiem tych zmian jest błędne działanie innej funkcji programu, która w poprzednich wersjach działała prawidłowo. [wiki]

def __initialize(self):
# ...
self.deposition_reached_bin = self._deposition_reached()
def _deposition_reached(self):
deposition_reached_at = len(self.full_geometry)
if self.fit_until_deposition_reaches is not None:
self.deposition_reached_at = \
deposition_reached_at_bin(
self.full_profile,
self.fit_until_deposition_reaches)
return deposition_reached_atJeśli Wasza praca będzie składała się w dużej części z modelowaia
Czym kończy się regresja?
Wariant optymistyczny
Program wybucha z wyjątkiem
Program wybucha bez wyjątku (segfault, etc)
Program daje śmieciowe wyniki
Program daje dobrze wyglądające niepoprane wyniki
...co okazuje się na obronie
Wariant (ciągle) optymistyczny
Can it get worse?
Oh damn.

Some people recommend making your software robust by working around problems automatically. This results in the software "failing slowly." The program continues working right after an error but fails in strange ways later on. A system that fails fast does exactly the opposite: when a problem occurs, it fails immediately and visibly. Failing fast is a nonintuitive technique: "failing immediately and visibly" sounds like it would make your software more fragile, but it actually makes it more robust. Bugs are easier to find and fix, so fewer go into production.
