[D+11] ν μ€νΈ μ£Όλ κ°λ°μ μ§μ ν΄λ³΄λ©΄μ λλ μ
D+11
- ν μ€νΈ μ£Όλ κ°λ°μ ν΄λ³΄λ©΄μ λλ μ -
(TDD)
μ΄μ μ λ΄κ° μ μμλ ν μ€νΈ μ£Όλ κ°λ°μ κ΄λ ¨λ λ΄μ©μ μ΄ν΄λ³΄μλλ°
μ무λλ λ΄κ° ν μ€νΈλ₯Ό μ§μ μ μΌλ‘ ν΄λ³΄κΈ° μ μ΄λΌμ κ·Έλ°κ°
κΈ°μ μ μΈ λ΄μ©μ΄ λ΄κ²¨μμ λΏ μ μ ν μ€νΈ μ£Όλ κ°λ°μ λν λ΄μ©μ΄ λΆμ‘±ν λλμ΄ λ λ€.
κ·Έλ¦¬κ³ μ€λ λλ νμ΄ λΆκ³Ό ν μ€νΈ μ£Όλ κ°λ°μ μ§μ ν΄λ³΄λ μκ°μ κ°μ Έλ³΄μκ³
κ·Έ κ²°κ³Ό μ΄ κ³Όμ μ΄ κ½€λ μ€μνλ€λ κ²μ λλΌκ² λμλ€.
κ·Έλμ λ΄κ° μ§μ ν μ€νΈ μ£Όλ κ°λ°μ ν΄λ³΄λ©΄μ λκΌλ κ²μ λν΄
κ°λ΅νκ² κΈ°λ‘μ ν΄λ³΄λ €κ³ νλ€.
" Test Driven Development "
TDDλ λ²μ κ·Έλλ‘ ν μ€νΈ κΈ°λ° κ°λ°μ΄λΌλ λ»μΌλ‘
ν μ€νΈλ₯Ό λ¨Όμ λ§λ νμ ν μ€νΈλ₯Ό ν΅κ³ΌνκΈ° μν μ½λλ₯Ό μ§λ κ²μ μλ―Ένλ€.
λ³΄ν΅ μ°λ¦¬λ μ½λλ₯Ό μμ±μν€κΈ° μν΄μ
μ½λλ₯Ό λ¨Όμ μμ±ν ν μ€λ₯λ₯Ό νμΈνλ κ²μ΄ μΌλ°μ μ΄λ€.
νμ§λ§ TDDλ μ€νμ΄ μ°μ μ΄ μλ
μ½λμ λν ꡬμμ μ΄λ―Έ λ€ μκ°ν ν, ν μ€νΈλ₯Ό μμ±ν΄
κ°μ₯ λμ λ°©λ²μ μ ννλ κ²μ΄λΌκ³ ν μ μλ€.
κ°λ¨νκ² μλ₯Ό λ€μλ©΄ μ°λ¦¬λ μ§μ λ§λ€ μμ μ΄λ€.
κ·Έλ λ€λ©΄ κ·Έλ€μμλ 무μμ ν΄μΌ νλκ°?
λ°λ‘ μ§μ μ§κΈ° μν΄ μ€κ³λ₯Ό μ§μΌνλ€.
μ΄λ κ² μ§μ μ§κΈ° μν΄ μ΄λ μ λ ꡬμμ ν ν μ¬λ¬ λ²μ μλλ₯Ό ν΅ν΄
λ λμ μ€κ³λλ₯Ό μμ±νλ κ³Όμ μ΄ TDDμ μν κ³Ό λΉμ·νλ€κ³ ν μ μμ κ² κ°λ€.
μ΄λ° κ³Όμ μ΄ μλ€λ©΄ μ½λλ₯Ό μμ±ν μλ μκ² μ§λ§
ν μ€νΈλ₯Ό κ±°μΉμ§ μμκΈ° λλ¬Έμ μΆνμ λ΄κ° μ°Ύμ§ λͺ»ν μ€λ₯κ° λ°μνκ±°λ
κΉλνμ§ λͺ»ν λμ‘ν μ½λλ‘ μ°λ¦¬μ λμ΄ λΆνΈν κ²μ΄λ€.
κ·Έλ κΈ° λλ¬Έμ TDDλ κ°μ₯ λμ κ²°κ³Όλ¬Όμ μ»κΈ° μν΄
κ±°μ³μΌ νλ κ³Όμ μ΄λΌκ³ μκ°νλ€.
νμ΄ μκ°μ λλ μ΄ κ³Όμ μ μ§μ ν΄λ³΄λ μκ°μ κ°μ Έλ³΄μκ³
ν μ€νΈ μ£Όλ κ°λ°μ ν΄λ³΄λ©΄μ λλ κ²μ
μκ°μ΄ κ½€ μ€λ κ±Έλ¦°λ€λ κ²μ΄μλ€.
μλνλ©΄ λ΄κ° μμ±ν ν μ€νΈμ λΆν©νμ§ μμ μ½λλ€μ λΉκ΅ν΄κ°λ©΄μ
μμ νλ€λ κ²μ΄ κ½€ λ§μ μκ°μ΄ μμλκΈ° λλ¬Έμ΄μλ€.
λν μ΄λ² νμ΄ μκ°μ λ΄κ° λ΄λΉκ²μ΄ν° μν μ 맑μκΈ° λλ¬Έμ
λλ μ€λ₯κ° λ°μνκ³ μμ νλ κ²μ λ°λΌλ³΄λ©΄μ
μ§μλ₯Ό νλ μν μ΄μκΈ° λλ¬Έμ
μ§μ ν΄κ²°νμ§ λͺ»νλ λ΅λ΅ν¨μ΄ μ‘°κΈ μμλ€.
νμ§λ§ μκ°μ΄ μ§λκ³ μ°λ¦¬λ μ’μ κ²°κ³Όλ¬Όμ μ»μ μ μμκ³
λ΄κ° λ΅λ΅ν¨μ λκΌλ μκ°μ΄ κ΅μ₯ν μ΄λ¦¬μμλ€λ κ²μ λλ μ μμλ€.
κ°λ΅ν νκΈ°μ μκ°μ μ μ΄λ³΄μλ©΄
TDDκ³Όμ μ νΌμ μ§νν μλ μμ§λ§
νμ΄μ ν¨κ»νλ μκ° λμ± λΉμ λ°νν μ μλ€κ³ μκ°νλ€.
TDDκ³Όμ μ μ§ννλ€ λ³΄λ©΄ μλ§μ μ€λ₯μ μ’μ ν κ²μ΄λ€.
νμ§λ§ μ°λ¦¬λ μ΄ μ€λ₯λ₯Ό ν΄κ²°νκΈ° μν΄
λμ± μ°½μμ μ΄κ³ μλ‘μ΄ ν΄κ²°λ°©μμ λ΄λμμΌ ν μκ°μ΄ μ¬ κ²μ΄λ€.
κ·Έλ κΈ° λλ¬Έμ νΌμ νλ κ²λ³΄λ€ μ¬λ¬ μ¬λλ€κ³Ό νλ ₯μ νλ κ²μ΄
λμ± λΉ λ₯Έ μκ° λ΄μ μ’μ κ²°κ³Όλ¬Όμ μ»μ μ μμ κ²μ΄λ€.
κ²°λ‘ μ μ°λ¦¬λ μ€μ μ κ°μ μ΄λ¬ν κ³Όμ λ€μ κ²ͺμ΄μΌ νκΈ° λλ¬Έμ
μ°λ¦¬λ νμ΄μμ μνν μν΅μ μν΄ λμμμ΄ μ°μ΅ν΄μΌ ν κ²μ΄λ€.