테스트와 스펙의 차이점


12

이 시점에서 개념 문제가 있으며 테스트 (UnitTest 등)와 사양 (Rspec 등)의 차이점에 대한 정보를 찾을 수 없습니다.

내가 아는 한 사양은 통합 테스트에 관한 것이고 테스트는 UnitTest에 관한 것이지만 그 정도입니다.

차이점이 무엇인지 설명 할 수 있습니까?

답변:


12

다음 다이어그램을보십시오. TDD (Test-Driven Development)와 ATDD (Acceptance Test-Driven Development)의 관계를 보여줍니다.

승인 테스트 주도 개발 다이어그램

내부 루프 TDD는 외부 루프 ATDD로 둘러싸여 있습니다. 요구 사항 (수락 기준 상자에 설명되어 있음)은 자동화 된 수락 테스트를 생성하여 구현을위한 단위 테스트 생성을 유도합니다.

일반적으로 RSpec은 비즈니스 분석가에게 친숙한 방식으로 테스트를 표현하려는 상황, 즉 자동화 된 승인 테스트 (황갈색 원)의 작성에 사용됩니다. 반면 nUnit과 같은 단위 테스트 프레임 워크는 구현 수준 (노란색 원)에서 개발자의 TDD 관점에서 작성된 종류의 단위 테스트에 더욱 전문화됩니다.


좋은 예는 해시 테이블입니다. 승인 테스트의 작은 예제 세트뿐만 아니라 모든 가능한 입력에 대해 작동 할 것으로 예상되므로 자세한 단위 테스트가 필요합니다. 그러나 "우수한"고객에 대한 할인을 계산하는 코드는 승인 테스트에 의해 잘 다루어 질 수 있으므로 단위 테스트가 필요하지 않을 수도 있습니다.
Ian

3

여기 다른 용어가 있으므로 여기에 무슨 일이 일어나고 있는지

  • 단위 테스트가 있습니다. 다른 수준으로는 통합 테스트, 성능 테스트 등이 있습니다.
  • rspec은 Capybara 기능 테스트를 통한 모델, 컨트롤러 및 뷰에 대한 위의 여러 테스트 수준에 사용할 수 있습니다.
  • 'spec'이라는 단어는 테스트의 핵심 인 사양에서 나옵니다.
  • rspec-Ruby on Rails 애플리케이션에서 자주 사용되는 agaist 브라우저 테스트에 사용되는 프레임 워크입니다.
  • spec 파일-rspec 파일은 일반적으로 _spec.rb로 끝나며 종종 spec 파일이라고합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.