web front-end 테스트 중 우선순위를 두는 것은 무엇인가요?

2017-02-28 10:44

제가 angular2를 활용해 서비스를 하나 개발하고 있는데요. 웹 back-end에 대한 경험은 많은데 front-end에 대한 경험이 많지 않은 상태라 일반적으로 테스트를 어느 범위까지 진행하는지 궁금해서 질문 남겨요.

angular2 기반으로 작업하다보니 angular2의 테스트 방법에 대해 검색을 했는데요. Testing Angular 2 Components with Unit Tests and the TestComponentBuilder (RC1+) 문서는 다음과 같이 3가지로 테스트를 나누네요.

  • Pure unit tests - testing the component outside of the container, mocking other collaborators completely
  • Component tests - standing up the component inside of Angular 2, and injecting collaborators via dependency injection, mocking external resources where appropriate
  • End-to-end tests - standing up the entire web server and accessing the web client via Protractor or Selenium in order to test the system from the front-end to the back-end

웹 back-end의 경우도 비슷하게 볼 수 있을 것 같아요. 약간의 차이는 있어 보이지만요.

  • Pure unit tests - 비지니스 로직을 포함하는 domain(또는 model)에 대한 단위 테스트. 위 글에서는 mocking을 통한 Controller, Service에 대한 테스트도 포함되겠네요.
  • Component tests - 이 부분이 약간 다를 수도 있는데요. front-end의 경우 back-end 전체를 mocking하고 각 기능 단위별 테스트하는 것으로 볼 수 있는데요. back-end의 경우 front-end를 고려하지 않고, back-end 자체만 테스트하는 것으로 보면 될 듯 하네요. 즉, Spring의 RestTemplate 정도 활용해서 서버 API에 대한 테스트로 볼 수 있을 것 같네요.
  • End-to-end tests - back-end 또한 같겠네요.

저의 경우 위 3가지 테스트 중 1순위로 pure unit tests에 집중하고, 2순위로 component tests를 진행하려고 노력합니다. end-to-end test도 노력은 하는데 UI에 변경 사항이 발생하면서 테스트가 깨지는 상황이 많이 발생해 잘 하지 않게 되더라고요.

웹 front end 개발자들은 테스트를 하는 경우 어느 부분에 우선순위를 두나요? 그 이유는 무엇인가요?

0개의 의견 from FB

0개의 의견 from SLiPP

의견 추가하기

연관태그

← 목록으로