본문 바로가기

Programming/Spring Boot

테스트 코드를 만들어야 하는 이유

Test code란?

- 소프트웨어의 기능과 동작을 테스트하는데 사용되는 코드.

-소프트웨어의 결함을 찾아내고 수정을 하는 과정에서 매우 중요.

- 테스트 코드는 개발자가 작성한 코드를 실행하고 예상된 결과가 나오는지 확인하는데 사용됨.

 

V모델에서 Test code

- SDLC 중 하나로, 시스템 개발 과정을 시각화한 모델.

- 각 단계의 테스트 코드는 대상의 범위에 따라 V모델에서 확인 가능.

V모델 (출처: https://www.geeksforgeeks.org/software-engineering-sdlc-v-model/)

 

1. 단위 테스트 (Unit test)

- 메서드 단위로 코드가 의도한 대로 작동하는지 확인.

- Java에서는 대표적으로 Junit 사용.

public class Calculator {
	public int add(int a, int b) {
    	return a + b;
    }
}

import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class CalculatorTest {
	@Test
    public void testAdd() {
    	Calculator calculator = new Calculator();
        int result = calculator.add(2, 3);
        assertEquals(5, result);
    }
}

 

2. 통합 테스트

- 서로 다른 모듈들 간의 상호작용을 테스트.

- 예시로, 신규 개발한 API 서버 내의 DB 호출 함수가 데이터베이스의 데이터를 잘 호출하고 있는지 테스트.

- 통합 테스트는 보통 모듈 간 인터페이스 테스트, 시스템 레벨 테스트 등의 방법으로 수행됨.

- 모듈 간의 상호작용을 테스트하기 때문에 각기 다른 모듈의 설정 방법을 알아야 함.

- 테스트를 다시 수행할 수 있는 깨끗한 환경으로 되돌려놔야하는 경우 있음.

- 테스트에 영향을 끼치는 요인이 데이터와 로직뿐만 아니라 통신 구간이나 해당 모듈의 환경설정 정보 등이 더 많음.

- 통합 테스트를 수행하는 것은 더 많은 리소스와 시간이 필요하지만, 전체적인 소프트웨어 시스템의 신뢰성과 안정성을 높일 수 있음.

- 통합 테스트를 GUI 환경에서 사용할 수 있는 도구는 Selenium, Posman, Apache JMeter 등이 있음.

유닛 테스트와 통합 테스트 (출처: https://upload.wikimedia.org/wikipedia/commons/1/1f/Integration_Testing.png)
Postman 테스트 스크립트 작성 (출처: https://learning.postman.com/docs/writing-scripts/test-scripts/)

 

 

참고 링크

https://yozm.wishket.com/magazine/detail/1964/

 

테스트 코드는 왜 만들까? | 요즘IT

지금 돌이켜 생각하면 부끄러운 일이지만, 처음 테스트 코드를 마주했을 때 든 생각은 '왜 귀찮은 테스트 코드를 만들어야 하는 걸까?'였습니다. 물론 지금은 테스트 코드의 중요성을 깨달아 열

yozm.wishket.com