왜 테스트를 해야 하는지에 대해 알아보기
테스트하면 떠오르는 키워드
•
왜 굳이?
•
귀찮다.
•
시간이 오래 걸린다.
Production code
•
테스트를 하지 않으면 발생할 수 있는 상황
테스트를 통해 얻고자 하는 것
•
빠른 피드백
•
자동화
•
안정감
Production code & Test code
•
테스트 코드를 작성하지 않는다면
◦
변화가 생기는 매순간마다 발생할 수 있는 모든 Case를 고려해야 한다.
◦
변화가 생기는 매순간마다 모든 팀원이 동일한 고민을 해야 한다.
◦
빠르게 변화하는 소프트웨어의 안정성을 보장할 수 없다.
•
테스트 코드가 병목이 된다면
◦
프로덕션 코드의 안정성을 제공하기 힘들어진다.
◦
테스트 코드 자체가 유지보수하기 어려운, 새로운 짐이 된다.
◦
잘못된 검증이 이루어질 가능성이 생긴다.
•
올바른 테스트 코드는
◦
자동화 테스트로 비교적 빠른 시간 안에 버그를 발견할 수 있고, 수동 테스트에 드는 비용을 크게 절약할 수 있다.
◦
소프트웨어의 빠른 변화를 지원한다.
◦
팀원들의 집단 지성을 팀 차원의 이익으로 승격시킨다.
◦
가까이 보면 느리지만, 멀리 보면 가장 빠르다.