테스트 코드를 쓰는것에 요즘 더욱 더 필요성을 느끼고 있다.
하나의 수정을 할때마다, 시스템에 영향도가 머리로는 그려지지만, 설마 내가 생각하지 못한 곳에서 영향을 미치는지, 모든기능이 정상적으로 작동하는지 의문이 생길때가 있고, 그럴때마다, 수동으로 동작들을 테스트하거나 하는일은 생각보다 더 많은 시간들이 쓰이게된다.
처음에는 테스트를 하는 시간이, 코드를 작성하는시간보다 짧았으며, 테스트를 작성하는것 또한 많은 시간을 들이게 되어서 등한시한게 있지만, 막상 시스템이 안정기로 넘어가다보니, 오히려 코드를 수정하는 양보다 테스트를 하는시간이 더욱 오래걸리게되고, 개인 resource도 많이 사용되고있다는것을 느끼고 있다.
그래서 코드에 대한 테스트를 자동화해야겠다는 생각이 들었고, 그래서 테스트관련 책을 찾아보게 되었다.
- 구글엔지니어는 이렇게 일한다
- 블라디미르코리코프의 유닛테스트
1번은 읽어보았고, 2번은 읽을 예정이다.
1번을 읽으면서 내가 생각한 테스트의 방향성을 적고, 업무에 적용해야겠다.
먼저 테스트는 2가지 테스트를 작성해야겠다. 처음으로는 각 함수, 메소드에 대한 unit test를 작성하고, 두번째로는 terrafrom을 이용한 api를 직접적으로 적용해보는 큰 시스템에서의 테스트를 작성해야겠다.
테스트하고하자하는 주체를 명확히하고 그 기능이 정상적으로 작동하는지 초점을 맞춰서 해야될꺼같다. 단순히 각각의 매소드를 테스트하는것보다, 여러개의 매소드를 포함하더라도 테스트의 목적을 명확히 볼 수 있는 테스트...
100프로의 커버리지가 안되더라도, 핵심기능을 검증하는 케이스를 늘리고 그에 집중하는 테스트...
'프로그래밍 > golang' 카테고리의 다른 글
concurrency in go(1) (0) | 2022.12.31 |
---|---|
google go style guide 공부 (0) | 2022.12.12 |
golang style guide (0) | 2022.11.20 |
aws api signature 구현 (0) | 2022.11.07 |
함수형 코딩4 - 타임라인 관리하기 (2) | 2022.09.23 |