การถดถอยของซอฟต์แวร์เป็นข้อบกพร่องในการเขียนโปรแกรมซอฟต์แวร์ที่ทำให้ซอฟต์แวร์ถดถอยอย่างมีประสิทธิภาพในหนึ่งหรือหลายพื้นที่ การถดถอยของซอฟต์แวร์มีสองประเภทหลัก: การทำงานและการใช้งานไม่ได้ ฟังก์ชั่นหมายถึงโปรแกรมทำงานที่ความเร็วที่เหมาะสม แต่อย่างน้อยหนึ่งฟังก์ชั่นไม่ทำงานในขณะที่ฟังก์ชั่นไม่ได้หมายความว่าฟังก์ชั่นทั้งหมดจะทำงาน แต่ความเร็วลดลงอย่างมาก เหตุการณ์เช่นการอัปเกรดมักเป็นสาเหตุของการถดถอย การทดสอบการถดถอยจะตรวจสอบซอฟต์แวร์เพื่อให้แน่ใจว่าไม่มีการถดถอยหรือจะเกิดขึ้น
ฟังก์ชั่นการถดถอยซอฟแวร์เป็นวิธีหนึ่งที่การถดถอยของโปรแกรมสามารถแสดงตัวเอง เมื่อสิ่งนี้เกิดขึ้นโปรแกรมจะทำงานต่อไปอย่างเต็มความเร็วดังนั้นผู้ใช้อาจไม่สังเกตเห็นการถดถอยในตอนแรก ในการประกาศนี้มีฟังก์ชั่นบางอย่างที่ไม่ทำงานอีกต่อไป ตัวอย่างเช่นหากโปรแกรมสามารถค้นหาไฟล์ฟังก์ชันนั้นอาจไม่ทำงานอีกต่อไป สิ่งนี้อาจส่งผลกระทบต่อฟังก์ชั่นเสริมซึ่งไม่ได้ใช้กันทั่วไปหรือฟังก์ชั่นหลักของโปรแกรม
การถดถอยของซอฟต์แวร์ที่ไม่สามารถใช้งานได้นั้นมีอันตรายและง่ายต่อการสังเกตแม้ว่าฟังก์ชั่นทั้งหมดจะยังทำงาน ในการรวมนี้ถดถอยทำให้โปรแกรมทำงานช้าลงหรือผลลัพธ์ของโปรแกรมจะน้อยลงอย่างมีนัยสำคัญ การไม่มีความเร็วหมายความว่าโปรแกรมอาจเสี่ยงต่อการเข้ารหัสและการโจมตีที่เป็นอันตรายซึ่งทำให้ทั้งโปรแกรมและคอมพิวเตอร์ที่มีความเสี่ยงต่อการแฮ็ค ความเร็วอาจช้าจนไม่สามารถใช้โปรแกรมได้
เพื่อให้การถดถอยซอฟต์แวร์เกิดขึ้นเหตุการณ์ที่เรียกว่าต้องเกิดขึ้น เหตุการณ์นี้เปลี่ยนการเข้ารหัสของซอฟต์แวร์และแนะนำข้อบกพร่องเหล่านี้ไม่ว่าจะโดยเจตนา - ซึ่งหายาก - หรือไม่ได้ตั้งใจ ผู้พัฒนาอาจพยายามแก้ไขข้อผิดพลาดหรืออัปเดตเวอร์ชัน แต่แนะนำรหัสบางอย่างที่ทำให้โปรแกรมไม่ถูกต้อง เหตุการณ์ที่พบบ่อยที่สุดคือการอัปเกรดเนื่องจากสิ่งนี้มีผลโดยตรงต่อการเข้ารหัสของโปรแกรม เหตุการณ์อื่น ๆ รวมถึงการเปลี่ยนแปลงรุ่นหรือการกำหนดค่า
เพื่อลดโอกาสของการถดถอยซอฟต์แวร์การทดสอบการถดถอยมักใช้ การทดสอบประเภทนี้จะดูที่โปรแกรมใหม่และเปรียบเทียบกับโปรแกรมรุ่นเก่าทั้งหมด จากนั้นเรียกใช้การเขียนโปรแกรมผ่านการทดสอบเพื่อดูว่ามีสัญญาณของการถดถอยหรือไม่และเพื่อให้แน่ใจว่าการเข้ารหัสทั้งหมดนั้นใช้งานได้ สัญญาณใด ๆ ของรหัสที่ถดถอยหรือไม่สามารถใช้งานได้จะถูกนำกลับไปที่ผู้พัฒนาหรือผู้ใช้และจะรายงานสิ่งที่ได้ถดถอยหรือสถานที่ที่พบการถดถอย


