행동 기반 개발-도구
개발 팀은 종종 BDD가 도구 프레임 워크라는 오해를 가지고 있습니다. 실제로 BDD는 도구 프레임 워크가 아닌 개발 접근 방식입니다. 그러나 다른 개발 방식의 경우와 마찬가지로 BDD 용 도구도 있습니다.
다양한 플랫폼과 프로그래밍 언어에 여러 BDD 도구가 사용됩니다. 그들은-
오이 (Ruby 프레임 워크)
SpecFlow (.NET 프레임 워크)
Behave (Python 프레임 워크)
JBehave (Java 프레임 워크)
JBehave Web (Selenium이 통합 된 자바 프레임 워크)
Lettuce (Python 프레임 워크)
Concordion (Java 프레임 워크)
Behat (PHP 프레임 워크)
Kahlan (PHP 프레임 워크)
DaSpec (JavaScript 프레임 워크)
Jasmine (JavaScript 프레임 워크)
Cucumber-js (자바 스크립트 프레임 워크)
Squish GUI 테스터 (JavaScript, Python, Perl, Ruby 및 Tcl 용 BDD GUI 테스트 도구)
Spock (Groovy 프레임 워크)
Yadda (Jasmine (JavaScript 프레임 워크)와 같은 프레임 워크에 대한 Gherkin 언어 지원)
오이
Cucumber는 전 세계적으로 사용되는 실행 가능한 사양을위한 무료 도구입니다. Cucumber를 사용하면 소프트웨어 개발 팀이 소프트웨어가 일반 텍스트로 작동하는 방식을 설명 할 수 있습니다. 텍스트는 비즈니스에서 읽을 수있는 도메인 별 언어로 작성되며 문서화, 자동화 된 테스트 및 개발 지원으로 모두 하나의 형식으로 롤링됩니다. Cucumber에서는 40 개가 넘는 다양한 언어 (영어, 중국어 등)를 사용할 수 있습니다.
오이 – 주요 기능
오이의 주요 기능은 다음과 같습니다.
Cucumber는 실행 가능 사양, 테스트 자동화 및 살아있는 문서화에 사용할 수 있습니다.
Cucumber는 Ruby, Java, NET, Flex 또는 모든 언어로 작성된 웹 애플리케이션에서 작동합니다.
Cucumber는 FIT가 수행하는 것과 유사한 표에서보다 간결한 테스트를 지원합니다.
Cucumber는 요구 사항, 자동화 된 테스트 및 문서를 일관된 것으로 통합하여 소프트웨어 개발 수명주기를 혁신했습니다. 즉, 소프트웨어를 검증하는 일반 텍스트 실행 가능 사양입니다.
SpecFlow
SpecFlow는 .NET 플랫폼 용 BDD 도구입니다. SpecFlow는 오픈 소스 프로젝트입니다. 소스 코드는 GitHub에서 호스팅됩니다.
SpecFlow는 기능에 Gherkin 구문을 사용합니다. Gherkin 형식은 Cucumber에서 도입했으며 다른 도구에서도 사용됩니다. Gherkin 언어는 GitHub의 프로젝트로 유지됩니다.https://github.com/cucumber/gherkin
굴다
Behave는 Python 프레임 워크에 사용됩니다.
Behave는 "features"라는 디렉토리에 저장된 세 가지 유형의 파일로 작동합니다.
동작 시나리오가 포함 된 기능 파일.
시나리오에 대한 Python 단계 구현이있는 "steps"디렉토리
선택적으로 일부 환경 제어 (단계, 시나리오, 기능 또는 전체 촬영 경기 전후에 실행할 코드).
Behave 기능은 Gherkin (일부 수정 포함)을 사용하여 작성되었으며 이름은 "name.feature"입니다.
기능 및 시나리오에 첨부 된 태그는 전달 된 "기능"또는 "시나리오"개체를 통해 환경 기능에서 사용할 수 있습니다. 이러한 개체에는 기능 파일에서 찾은 순서대로 첨부 된 태그 이름 목록 인 "태그"라는 속성이 있습니다.
작은 오이 표준에 대한 수정-
Behave는 표준 Gherkin 파일을 구문 분석하고 Gherkin을 확장하여 소문자 단계 키워드를 허용 할 수 있습니다.
상추
Lettuce는 Cucumber를 기반으로 한 매우 간단한 BDD 도구입니다. Python 프로젝트에 대한 자동화 된 테스트로 일반 텍스트 기능 설명을 실행할 수 있습니다. Lettuce는 BDD에서 가장 일반적인 작업을 목표로합니다.
콩 코디 언
Concordion은 Java Framework 용 Example by Example을 자동화하기위한 오픈 소스 도구입니다.
핵심 기능은 간단하지만 강력한 확장 프레임 워크 API를 사용하면 Excel 스프레드 시트를 사양으로 사용하고, 출력에 스크린 샷을 추가하고, 로깅 정보를 표시하는 등의 기능을 추가 할 수 있습니다.
Concordion을 사용하면 단락, 표 및 적절한 구두점을 사용하여 일반 언어로 사양을 작성할 수 있으며 Given / When / Then을 사용하는 구조화 된 언어는 필요하지 않습니다.
Concordion은 다음을 포함한 다른 언어로 이식되었습니다.
C # (Concordion.NET)
Python (PyConcordion)
루비 (Ruby-Concordion)