더북(TheBook)

1.3.2 자동화 테스트 앱에서 스프링 사용

오늘날 우리는 구현하는 시스템의 종단 간(end-to-end) 테스트를 위해 종종 자동화 테스트를 사용한다. 자동화 테스트는 개발 팀에서 애플리케이션이 예상대로 작동하는지 확인하는 데 사용하는 소프트웨어 구현체를 의미한다. 개발 팀은 자동화 테스트 시행 일정을 잡아 앱을 자주 테스트하고 문제가 있다면 개발자에게 알릴 수 있다. 이런 기능이 있다면 개발자는 새로운 기능을 개발하는 동안 앱의 기존 기능에 문제가 있을 때 알림을 받을 수 있기 때문에 안심할 수 있다.

소규모 시스템에서는 수동으로 테스트를 수행할 수 있지만, 언제나 테스트 케이스를 자동화하는 것이 더 낫다. 더 복잡한 시스템의 경우 모든 흐름(flow)을 수동으로 테스트하는 것은 생각할 수 없다. 시스템 흐름이 너무 많아 완전히 포함하려면 엄청난 시간과 노력이 필요하기 때문이다.

테스트받는 시스템의 모든 흐름을 검증하는 책임을 진 앱을 별도의 팀에서 구현하는 것이 가장 효율적인 해결책이다. 개발자가 시스템에 새로운 기능을 추가하는 동안 이 테스트 앱도 새로운 기능을 포함하도록 보강해서 팀은 기대한 대로 모든 것이 잘 작동하는지 확인한다. 종국에는 개발자가 통합 도구를 사용하여 앱이 정기적으로 실행되도록 스케줄링하여 변경 사항을 가능한 빨리 피드백받게 할 수 있다(그림 1-7).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.