일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- react 기초
- 자료구조
- 테스트코드
- java
- 파이썬
- 파이썬 알고리즘 인터뷰
- Operating System
- 개발공부
- Computer Science
- codestates
- 운영체제
- 프로그래머스
- 비동기
- node.js
- Zerobase
- 알고리즘
- algorithm
- useState
- 자바
- Python
- context switching
- REACT
- execution context
- 컴퓨터공학
- JavaScript
- 자바스크립트
- python algorithm
- OS
- 글또
- 코드스테이츠
- Today
- Total
목록테스트코드 (3)
Back to the Basics

들어가며1장에서는 리팩터링이 무엇인지 감을 잡기 위한 것이었다면, 2장은 리팩터링의 정의와 이유, 시기, 그리고 리팩터링 시 고려해야 할 다양한 측면들을 다룬다.2장 요약2.1 리팩터링의 정의코드를 정리하거나 구조를 바꾸는 작업을 재구성(restructuring)이라고 하며, 리팩터링은 이러한 재구성의 한 형태다. 리팩터링의 핵심 목적은 코드를 더 이해하기 쉽고 수정하기 쉽게 만드는 것이다. 구체적으로 리팩터링은 "기본 동작은 그대로 유지한 채, 여러 기법들을 사용해서 소프트웨어를 재구성하는 것"을 의미한다.리팩터링은 작은 단계들을 통해 코드를 점진적으로 수정하고, 이러한 단계들이 연결되어 궁극적으로 큰 변화를 만들어낸다. 가장 중요한 점은 코드의 구조는 변경하지만, 프로그램의 전반적인 기능은 그대로 유..

이전 포스팅 [TEST] 테스트 원칙에 대하여 - 소프트웨어 테스트의 7원칙과 FIRST원칙 에서는 효과적인 테스트 코드 작성을 위해 참고할만한 원칙들을 알아보았다. 이 두 가지 원칙을 요약해 보았다.1. 테스트의 가장 큰 목적은 문제점을 찾는 것이다. 이를 위해 문제가 될 수 있는 다양한 케이스에 대해 수행되어야 한다.2. 모든 것을 테스트하는 것은 불가능하므로 중요한 부분(비즈니스!)에 집중되어야 한다. 3. 테스트는 구현이 아닌 명확한 결과로 성공 여부를 판단할 수 있어야 한다(True or False)4. 테스트는 빠르고 독립적이며, 실행할 때마다 동일한 결과는 제공해야 한다5. 테스트코드는 코드작성과 동시에 또는 그전에 설계되는 것이 이상적이다이번 포스팅에서는 이런 원칙들을 기반으로 테스트코..
이전 회사에서도 테스트 코드 작성에 대한 명확한 지침이 없었다. 그래서 주로 기존에 작성된 테스트 코드들을 참고하며 비슷한 방식으로 작성했다.테스트 코드를 작성하면서 종종 '이 테스트가 과연 의미가 있을까?' 하는 의구심이 들기도 했다. 특히 새로운 기능을 추가하거나 리팩토링을 할 때마다 테스트 코드를 상당 부분 수정해야 하는 경우도 많았다. 이런 비효율로 인해 업무가 많을 때는 테스트 코드 작성을 미루거나 건너뛰기도 했다. 이런 패턴이 반복되다 보니 '내가 테스트를 제대로 작성하고 있는 걸까?' 하는 의구심이 들었다.물론 테스트 코드의 가치는 충분히 이해하고 있다. 기능을 변경했을 때 버그 여부를 빠르게 확인할 수 있고, 테스트를 통해 비즈니스 로직을 더 잘 이해할 수 있다. 개발 과정에서 버그를 조..