رگرسیون نرم‌افزاری

پسرفت نرم‌افزاری  یک اشکال نرم‌افزاری است که باعث می‌شود یک خصیصه پس از بوقوع پیوستن یک رویداد خاص (مانند بروزرسانی سیستم، اعمال کردن وصله جدید در سیستم یا تغییر دادن به ساعت تابستانی) از کار بیفتد. دلیل این نامگذاری این است که رویداد پدیدآورندهٔ این اشکال معمولاً به منظور ایجاد «بهبود» در نرم‌افزار طراحی می‌شود ولی برعکس، اشکالی در نرم‌افزار ایجاد می‌کند که آن را بدتر (دچار پسرفت) می‌کند. پسرفت کارایی نرم‌افزاری حالتی است که در آن نرم‌افزار هنوز به‌درستی عمل می‌کند، اما به‌آهستگی اجرا می‌شود یا در مقایسه با قبل حافظه بیشتری مصرف می‌کند (یعنی دچار پسرفت کارایی شده‌است). پسرفت‌ها اغلب توسط هات‌فیکس‌ها به وجود می‌آیند. یک رویکرد برای حل کردن این مشکل آزمون پسرفت است. یک برنامه‌ریزی آزمون خوب تدوین شده، از بوقوع پیوستن این نوع مشکلات قبل از انتشار یافتن نسخه جدید نرم‌افزار جلوگیری می‌کند. آزمون خودکار و مورد تستی خوب نوشته شده می‌تواند احتمال به وجود آمدن یک پسرفت را کاهش دهد. یک پسرفت نرم‌افزاری می‌تواند یکی از سه مورد زیر باشد:
 محلی - ایجاد کردن یک تغییر جدید در قسمتی از نرم‌افزار باعث می‌شود مشکل جدیدی در همان قسمت از نرم‌افزار ایجاد شود.
 راه دور - ایجاد کردن یک تغییر جدید در قسمتی از نرم‌افزار باعث می‌شود تا مشکل جدید در قسمت دیگری از نرم‌افزار ایجاد شود.
 نمایان‌کننده - ایجاد کردن یک تغییر جدید در قسمتی از نرم‌افزار باعث می‌شود تا مشکلی که از قبل در نرم‌افزار وجود داشته ولی ناشناخته مانده و تأثیری هم نداشته، پدیدار و مشخص شود و تأثیر خود را اعمال کند.

منابع 

 Wikipedia contributors. Software regression. Wikipedia, The Free Encyclopedia. August 19, 2013, 20:58 UTC. Available at: http://en.wikipedia.org/w/index.php?title=Software_regression&oldid=569279817. Accessed April 7, 2014.

اشکال‌های برنامه‌نویسی