ریگریشن ٹیسٹنگ سافٹ ویئر ٹیسٹنگ کی ایک قسم ہے جو موجودہ پروگراموں میں تبدیلیوں کی تصدیق کرتی ہے یا خصوصیات موجودہ فعالیت کو منفی طور پر متاثر نہیں کرتی ہیں۔ یہ کسی بھی سافٹ ویئر ڈویلپمنٹ لائف سائیکل کا ایک لازمی حصہ ہے کیونکہ یہ اس بات کو یقینی بناتا ہے کہ ڈویلپرز کی طرف سے کی گئی تبدیلیاں موجودہ خصوصیات کو پیچھے نہ ہٹائیں یا سسٹم میں کیڑے متعارف نہ ہوں۔ ریگریشن ٹیسٹنگ کا مقصد اس بات کو یقینی بنانا ہے کہ کوڈ بیس مستحکم رہے اور اس کا طرز عمل توقع کے مطابق ہو۔
ریگریشن ٹیسٹ عام طور پر موازنہ کے لیے ٹیسٹوں کی ایک سیریز کے طور پر کیے جاتے ہیں۔ یہ ٹیسٹ یا تو دستی یا خودکار ہو سکتے ہیں، دستی چیک عام طور پر زیادہ مکمل ہوتے ہیں۔ دستی عمل کے دوران، ڈویلپرز یا ٹیسٹرز بیس لائن پیمائش بنانے کے لیے ٹیسٹوں کے اصل سیٹ کو مکمل کرتے ہیں۔ اس کے بعد ٹیسٹوں کا دوسرا سیٹ اس بات کی تصدیق کے لیے کیا جاتا ہے کہ تبدیلیاں متوقع رویے کو متاثر نہیں کرتی ہیں۔ ایک خودکار عمل میں، ڈویلپر تبدیلیوں کے اثر کی پیمائش کرنے کے لیے ٹیسٹوں کا ایک مجموعہ بنانے کے لیے ریگریشن ٹیسٹ سوٹ استعمال کر سکتے ہیں۔ اس کے بعد ٹیسٹ سویٹ کو اس بات کی توثیق کرنے کے لیے استعمال کیا جاتا ہے کہ کوڈ بیس میں ہونے والی تبدیلیوں نے کوئی غیر ارادی سلوک متعارف نہیں کرایا۔
ریگریشن ٹیسٹس کا استعمال کسی بھی بگ فکسس کو چیک کرنے کے لیے کیا جا سکتا ہے، اس بات کو یقینی بناتے ہوئے کہ مزید مسائل پیدا نہ ہوں۔ ان کا استعمال کسی بھی نئی خصوصیات کی توثیق کرنے کے لیے بھی کیا جا سکتا ہے جو شامل کی گئی ہیں، جیسے کہ ایک نیا API، اس بات کو یقینی بنانا کہ نئی فعالیت توقع کے مطابق برتاؤ کرے۔
عام طور پر، بڑی تبدیلیوں کے جاری ہونے سے پہلے ریگریشن ٹیسٹنگ ترقی کے عمل کے آخری مراحل میں سے ایک ہونا چاہیے۔ یہ یقینی بنانا بھی ضروری ہے کہ ریگریشن ٹیسٹ ہر ریلیز سائیکل کے ساتھ اپ ڈیٹ کیے جائیں، کیونکہ خصوصیات میں تبدیلی اور ارتقا کے ساتھ ساتھ وقت کے ساتھ ساتھ ان کی تاثیر کم ہوتی جاتی ہے۔