회귀 테스트 (Regression Test)
회귀 테스트 (Regression Test) 회귀 테스트는 소프트웨어의 변경이나 수정 후에 기존 기능이 여전히 올바르게 작동하는지 확인하는 테스트이다. 온라인 쇼핑몰의 회귀 테스트 예시: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 import unittest from shopping_mall import ShoppingCart, Product, User class ShoppingMallRegressionTest(unittest.TestCase): def setUp(self): """테스트 준비: 필요한 객체들을 초기화합니다.""" self.cart = ShoppingCart() self.user = User("test_user") self.product = Product("노트북", 1000000) def test_existing_cart_functionality(self): """장바구니 기능 회귀 테스트 장바구니 할인 기능이 추가된 후에도 기존 장바구니 기능들이 정상적으로 작동하는지 확인합니다. """ # 상품 추가 테스트 self.cart.add_item(self.product) self.assertEqual(len(self.cart.items), 1) # 상품 제거 테스트 self.cart.remove_item(self.product) self.assertEqual(len(self.cart.items), 0) # 금액 계산 테스트 self.cart.add_item(self.product, quantity=2) self.assertEqual(self.cart.total_price, 2000000) def test_new_discount_feature(self): """새로운 할인 기능 테스트 새로 추가된 할인 기능이 기존 가격 계산 로직을 망가뜨리지 않는지 확인합니다. """ # 기본 가격 계산 self.cart.add_item(self.product) base_price = self.cart.total_price # 할인 적용 self.cart.apply_discount(10) # 10% 할인 # 할인된 가격 확인 expected_price = base_price * 0.9 self.assertEqual(self.cart.total_price, expected_price) # 할인 제거 후 원래 가격으로 복원되는지 확인 self.cart.remove_discount() self.assertEqual(self.cart.total_price, base_price) 특징과 목적 회귀 테스트의 주요 특징과 목적은 다음과 같다: ...