π§πΌβπ ν
μ€νΈλ₯Ό μμμΌ νλ μ΄μ
βTDDλΌλ λ§μ λ€μ΄λ΄μ μ μ©ν΄λ³΄κ³ μΆλ€λ©΄?
βν΄λ¦°μ½λκ° λ¬΄μμΈμ§ κΈ°μ€μ μ‘μλ³΄κ³ μΆλ€λ©΄?
β리ν©ν°λ§μ μΈμ , μ΄λ»κ² νλ©΄ μ’μμ§ μκ³ μΆλ€λ©΄?
ππ»ββοΈ μ΄ λ¬Έμλ₯Ό λ³΄κ³ λλ©΄
- [ ] TDDλ‘ κ°λ¨ν counter κΈ°λ₯μ ꡬνν μ μλ€.
- [ ] ν΄λ¦°μ½λλ‘ λμκ°κΈ° μν 리ν©ν°λ§ κΈ°μ€μ μ μ€μ€λ‘ λ§λ€μ΄ λκ° μ μλ€.
1. TDD(Test Driven Development)
TDDλ ν
μ€νΈλ₯Ό λ¨Όμ μμ±νκ³ κ·Έ ν μ€μ μ½λλ₯Ό μμ±νλ λ°©λ²μ
λλ€. TDDλ μΌνΈ λ°±(Kent Beck) μ΄ κ°λ° νΉμ λ리 μλ¦° κ°λ
μ
λλ€. ννλ€ κ°λ°μ μ ν
μ€νΈ μ½λλ₯Ό μ§λκ² TDDλΌκ³ λ§ μκ°ν μ μλλ°, κ·Έλ³΄λ€ λ³Έμ§μ μΈ μλ―Έλ λ¬Έμ λ₯Ό μ μνκ³ , κ·Έ ν΄λ΅μ μ°Ύμκ°λ κ³Όμ μ΄λΌλκ² TDDμ κΈ°λ³Έ μ·¨μ§μ
λλ€. κ·Έλ¦¬κ³ ν
μ€νΈλꡬλ κ·Έ μ² νμ μ΄ννλ λꡬμ
λλ€. TDDλ μ£Όλ‘ κ°λ° μ½λλ₯Ό μ λμΌλ‘ ꡬνν©λλ€. μ½λμ κΈ°λ₯μ κ²μ¦νλκ² μ€μν λͺ©ν
μ₯μ
- ν
μ€νΈλ₯Ό λ¨Όμ μμ±νκΈ° λλ¬Έμ μ 체 μ½λμμ μΌλ§λ λ§μ μ½λκ° ν
μ€νΈλλκ°λ₯Ό μΈ‘μ νλ ν
μ€νΈ 컀λ²λ¦¬μ§ λΉμ¨μ΄ μμ°μ€λ½κ² λμμ§λ€.
- ν
μ€νΈ λλ κ²λ§ μ½λλ‘ μμ±νλ―λ‘ μ½λκ° λ°©λν΄μ§μ§ μλλ€.
- λ²κ·Έλλ¬Έμ λ°μνλ μκ° λλΉ μ€μ¬μ£Όκ³ , μ½λκ° μνλ λ°λ₯Ό λͺ
νν λ¬μ±νλμ§ μ½κ² νμΈ
λ°©λ²
- ν
μ€νΈλ₯Ό λ¨Όμ μμ±νλ€. λ§μ‘±νλ μ½λκ° μλ μνμ΄λ―λ‘ ν
μ€νΈλ μ€ν¨ν¨
- ν
μ€νΈλ₯Ό ν΅κ³Όνλ μ½λλ₯Ό μμ±νλ€.
- 리ν©ν°λ§: μ€λ³΅μ΄ 보μ΄κ±°λ λ κ°μ ν λ°©λ²μ΄ μλ€λ©΄ μ½λλ₯Ό κ°μ νλ€.
3λ μμΉ - λ‘λ²νΈ C. λ§ν΄ (λ°₯ μμ μ¨, ν΄λ¦° μ½λ)
- μ€ν¨ν ν
μ€νΈλ₯Ό μμ±νκΈ° μ μλ μλ¬΄λ° νλ‘λμ
μ½λλ μμ±νμ§ μλλ€.
- μ€ν¨ν ν
μ€νΈ λ§κ³ λ μμ±νμ§ μλλ€.
- νμ¬ μ€ν¨ν ν
μ€νΈλ₯Ό λ§μ‘±μν€λ μ½λ μΈμλ μμ±νμ§ μλλ€.
μ’μ ν
μ€νΈμ 쑰건