https://academy.dream-coding.com/courses/js-tdd
1일차: 테스트란 무엇인가? 언제 테스트를 해야할까? 테스트를 하는 이유, 장점
테스트란 무엇인가?
- 제품이 원하는 대로, 예상하는 대로 동작하는지 확인하는 과정
- 제품: 함수, 특정한 기능, UI, 성능, API 스펙 등.. => 다양한 소프트웨어 테스트가 있을 수 있다.
- 목표, 플랫폼, 환경에 따라 다양한 테스트가 있을 수 있다.
- JS 로 제품이 expectation 을 만족하는지를 확인하는 테스트 코드를 작성한다.
언제 테스트를 해야할까?
- 결론부터 말하자면, 개발 하면서 Automated QA 코드를 작성해야 한다!
- 예전에는 QA 팀이 수동으로 테스트 진행함. => bottleneck, 비용발생
- 그 후 Automated QA 코드를 개발후 QA 단에 갈 때 테스트늘 진행 => 여전히 bottleneck 발생
- 최종적으로, 개발단에서 개발을 진행하며 Automated QA 코드를 작성하여 많은 사항이 개선됨
- 장점: 자동화 시간, 속도 빨라짐, 쉽게 작성 가능, 높은 커버리지 => 모두 개발하면서 꼼꼼히 작성할 수 있었기에 가능한것!!
- 여전히 QA 팀은 필요함. 사용자 입장에서 좀 더 면밀한 테스트를 하기 위해!
테스트를 하는 이유, 장점
- 무엇보다 우리가 작성한 코드가 예상한 대로 동작할 거라는 "큰 자신감" 확보가 가능.
- 기능이 정상 동작
- 요구사항 만족 확률 상승(자세히 알아보고 이해하기 때문)
- 테스트 코드를 읽는 것 만으로 이슈를 예측할 수 있음