이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
행동 기반 개발(BDD)은 전체 소프트웨어 개발 프로세스에서 개발자, 품질 보증(QA) 팀 및 비즈니스 이해 관계자 간의 협업을 장려하는 애자일 소프트웨어 개발 프로세스입니다. BDD는 테스트 주도 개발(TDD)의 일반적인 기술과 원칙을 Agile의 커뮤니케이션 및 협업 이점과 결합하는 프로세스입니다. 비즈니스 가치를 제공할 목적으로 애플리케이션의 동작에 초점을 맞추는 널리 사용되는 개발 방법론입니다.
BDD는 2006년 Dan North가 TDD의 진화형으로 처음 소개했습니다. North는 1990년대 후반에 TDD를 개발한 Kent Beck의 작업에서 영감을 받았습니다. North의 목표는 비즈니스 이해 관계자와 개발자 간의 커뮤니케이션 격차를 해소하는 데 도움이 되는 프로세스를 만드는 것이었습니다. BDD는 현재 소프트웨어 개발에 널리 사용되고 있으며 Agile 방법론의 중요한 부분으로 간주됩니다.
BDD는 사용자 관점에서 애플리케이션의 동작에 초점을 맞추는 프로세스입니다. 사용자의 요구 사항에서 시작하여 코드까지 거꾸로 작업하는 반복 프로세스입니다. BDD는 개발 프로세스가 코드가 아니라 응용 프로그램의 동작에 의해 주도되어야 한다는 생각을 기반으로 합니다.
프로세스는 사용자의 요구와 기대에서 시작됩니다. 그런 다음 사용자의 요구 사항은 응용 프로그램의 작동 방식을 설명하는 개별 시나리오로 분류됩니다. 그런 다음 이러한 시나리오를 사용하여 애플리케이션의 동작을 검증하는 데 사용할 수 있는 자동화된 테스트를 생성합니다. 그런 다음 테스트는 개발 프로세스를 안내하는 데 사용되어 응용 프로그램이 사용자의 기대를 충족하는지 확인합니다.
BDD의 주요 기능은 사용자 관점에서 응용 프로그램의 동작에 초점을 맞추는 것입니다. 이렇게 하면 응용 프로그램이 사용자의 요구와 기대를 충족하는지 확인하는 데 도움이 됩니다. BDD는 또한 개발자, QA 팀 및 비즈니스 이해 관계자 간의 협업을 장려합니다. 이를 통해 모든 이해 관계자가 애플리케이션의 동작을 명확하게 이해하고 애플리케이션이 사용자의 요구 사항을 충족하는 방식으로 개발되고 있는지 확인하는 데 도움이 됩니다.
예를 들어 사용자가 책을 검색할 수 있는 애플리케이션을 원한다고 가정해 보겠습니다. 사용자의 요구 사항에는 제목, 저자 및 장르별로 검색하는 기능이 포함될 수 있습니다. BDD 프로세스는 사용자의 요구 사항을 개별 시나리오로 나누는 것으로 시작됩니다.
예를 들어 한 가지 시나리오는 다음과 같습니다. "사용자가 제목으로 책을 검색하는 경우 사용자가 유효한 제목을 입력하면 응용 프로그램은 해당 제목의 책 목록을 표시해야 합니다."
다음 단계는 이 시나리오를 검증하는 자동화된 테스트를 만드는 것입니다. 테스트는 Cucumber 또는 Gherkin과 같은 언어로 작성되며 애플리케이션이 예상대로 작동하는지 확인하는 데 사용됩니다.
BDD의 주요 이점은 응용 프로그램이 사용자의 요구와 기대를 충족하도록 도와준다는 것입니다. 또한 사용자의 요구 사항을 충족하는 방식으로 응용 프로그램이 개발되고 있는지 확인하는 데 도움이 되는 이해 관계자 간의 공동 작업을 장려합니다.
BDD의 주요 단점은 시간이 오래 걸릴 수 있다는 것입니다. 각 시나리오에 대해 자동화된 테스트를 작성하는 것은 시간이 오래 걸리는 프로세스일 수 있으며 사용자의 변화하는 요구 사항을 따라가기가 어려울 수 있습니다.
BDD는 또 다른 Agile 소프트웨어 개발 프로세스인 TDD와 밀접한 관련이 있습니다. TDD는 애플리케이션의 동작이 아닌 코드에 초점을 맞추고 코드의 품질을 보장하는 데 사용됩니다. BDD와 TDD를 함께 사용하면 응용 프로그램이 사용자의 요구 사항을 충족하고 코드 품질이 높은지 확인할 수 있습니다.
행동 중심 개발은 사용자 관점에서 애플리케이션의 행동에 초점을 맞춘 애자일 소프트웨어 개발 프로세스입니다. 개발자, QA 팀 및 비즈니스 이해 관계자 간의 협업을 장려하고 응용 프로그램이 사용자의 요구와 기대를 충족하는지 확인하는 데 도움이 됩니다. BDD는 TDD와 밀접한 관련이 있으며 응용 프로그램이 사용자의 요구 사항을 충족하고 코드 품질이 높은지 확인하기 위해 함께 사용할 수 있습니다.