π Chapter 20: ν
μ€νΈμ κ· κΈ°μΈμ΄κΈ°
- TDDλ μ½λλ₯Ό ν
μ€νΈνλ, μ¦ κΈ°λ₯κ³Ό μ±λ₯μ²λΌ κ²μΌλ‘ λλ¬λλ νμ§ μμ±μ κ²μ¦νλ νλμ κ΄ν κ²μ΄λ€.
- TDDλ μ½λμ λ΄λΆ νμ§ μμ±μ κ΄ν νΌλλ°±, μ¦ ν΄λμ€μ κ²°ν©λμ μμ§λ ₯, λͺ
μμ μ΄κ±°λ κ°μΆ°μ§ μμ‘΄μ±, ν¨κ³Όμ μΈ μ 보 μλ λ± μ½λλ₯Ό μ μ§ λ³΄μ κ°λ₯ν μνλ‘ μ μ§νλ νμ§ μμ±μ κ΄ν μμ
μ΄κΈ°λ νλ€.
- ν
μ€νΈ μ
μ·¨μλ λ μ’
λ₯κ° μλ€.
- ν
μ€νΈ μμ²΄κ° μ λλ‘ μμ±λΌ μμ§ μμ, μ¦ ν
μ€νΈκ° λΆλΆλͺ
νκ±°λ λΆμμ νκ² μμ±λ κ²½μ°
- ν
μ€νΈμμ λμ μ½λκ° λ¬Έμ λΌκ³ κ°μ‘°λλ κ²½μ° (ν
μ€νΈνκΈ° μ΄λ €μ΄ μ½λ)
π λ체ν μ μλ κ°μ²΄μ λν΄ λͺ© κ°μ²΄λ₯Ό μ μ©ν΄μΌ νλ€(λ§λ²μ μ°μ§ μκ³ )β
- μ μ κ°μ μ¬μ©ν΄ μΊ‘μνλ₯Ό μ°νν¨μΌλ‘μ¨ μ»΄ν¬λνΈ νΈμΆμλ‘λΆν° μμ‘΄μ±μ κ°μΆ μ μμ§λ§ κ·Έλ κ² νλ€κ³ ν΄μ μμ‘΄μ±μ΄ μ¬λΌμ§μ§ μμΌλ©°, λ¨μ§ μμ‘΄μ±μ μ κ·Όν μ μκ² λ λΏμ΄λ€.
- μ½λ ꡬ쑰ν κΈ°λ² μΈ‘λ©΄μμ κ°μ²΄ μ§ν₯μ λͺ©ν μ€ νλλ κ°μ²΄μ κ²½κ³λ₯Ό λͺ
ννκ² λ³΄μκ° νλ κ²μ΄λ€.
- κ°μ²΄λ μ€μ§ μ§μμ μ΄κ±°λ(ν΄λΉ κ°μ²΄μ λ²μ λ΄μμ μμ±λκ³ κ΄λ¦¬λλ) λͺ
μμ μΌλ‘ μ λ¬λλ κ°κ³Ό μΈμ€ν΄μ€λ₯Ό λ€λ€μΌ νλ€.
π λ‘κΉ
μ κΈ°λ₯μ΄λ€β
πΆ 보쑰 λ‘κΉ
β
- 보쑰 λ‘κΉ
(μ€λ₯μ μ 보)μ μ ν리μΌμ΄μ
μ¬μ©μ μΈν°νμ΄μ€μ μΌλΆλ€. μ΄ λ©μμ§λ μ€ν¨λ₯Ό μ§λ¨νκ±°λ μ€ν μ€μΈ μμ€ν
μ μ§ν μνλ₯Ό κ°μν λͺ©μ μΌλ‘ μμ€ν
κ΄λ¦¬μμ μ΄μμλ₯Ό λΉλ‘―ν΄ μ§μ λ΄λΉμλ₯Ό μΆμ ν μλλ‘ μμ±λ κ²μ΄λ€.
- 보쑰 λ‘κΉ
μ κ°μλ μ€ν¨ 볡ꡬ κ°μ μꡬ μ¬νμΌλ‘λΆν° ν
μ€νΈ μ£Όλμ μ΄μ΄μΌ νλ€.
πΆ μ§λ¨ λ‘κΉ
β
- μ§λ¨ λ‘κΉ
(λλ²κ·Έμ μΆμ )μ νλ‘κ·Έλλ¨Έλ₯Ό μν κΈ°λ° κ΅¬μ‘°μ ν΄λΉνλ€. μ΄ λ©μμ§λ μ ν μ½λλ‘ μ νν΄μλ μ λλλ°, νλ‘κ·Έλλ¨Έκ° νμ¬ κ°λ° μ€μΈ μμ€ν
λ΄λΆμ μ§ν μνμ μ΄ν΄λλ λμμ μ€ λͺ©μ μΌλ‘ λ§λ€μ΄μ§λ κ²μ΄κΈ° λλ¬Έμ΄λ€.
- μ§λ¨ λ‘κΉ
μ μμ€ν
μμ μΌμ΄λλ μΌμ μΈλΆμ μΌλ‘ μΆμ νκ³ μ νλ νλ‘κ·Έλλ¨Έμ νμμ λ°λΌ μ£Όλ λλ€. κ·Έλμ μ§λ¨ λ‘κΉ
μ ν
μ€νΈ μ£Όλμ μΌ νμκ° μκ³ μ§λ¨ λ‘κΉ
λ©μμ§λ 보쑰 λ‘κ·Έμ²λΌ μΌκ΄μ±μ μ μ§ν νμκ° μμμ§λ λͺ¨λ₯Έλ€.
π ꡬμ ν΄λ«μ λν λͺ© κ°μ²΄ μ μ©β
- μνΈ μμ© ν
μ€νΈμ λν ν κ°μ§ μ κ·Όλ²μ μΈν°νμ΄μ€κ° μλλΌ κ΅¬μ ν΄λμ€λ₯Ό λμμΌλ‘ λͺ© κ°μ²΄λ₯Ό μ μ©νλ κ²μ΄λ€. μ΄ κΈ°λ²μ μ¬μ©νλ €λ©΄ λͺ© κ°μ²΄λ₯Ό μ μ©νλ €λ ν΄λμ€λ₯Ό μμλ°μ ν
μ€νΈ λ΄μμ νΈμΆλ λ©μλλ₯Ό μ¬μ μ ν΄μΌ νλ€. μ°λ¦¬κ° μκ°νκΈ°μ μ΄ κΈ°λ²μ λ€λ₯Έ μ νμ μ¬μ§κ° μμ λλ§ μ¨μΌ νλ€.
- ν΄λμ€μ λ΄λΆ κΈ°λ₯μ μ¬μ μν΄μλ μ λλ€. μ΄λ κ² νλ©΄ νμ¬ κ΅¬νμ μ λ³λ λΆλΆμ ν
μ€νΈκ° λ¬Άμ¬λ²λ¦°λ€. κ°μμ μΈ λ©μλλ§ μ¬μ μν΄μΌ νλ€.
π κ°μ λͺ© κ°μ²΄λ₯Ό μ μ©νμ§ λ§λΌβ
- κ°(μ΄μ° λλ λΆλ³μ μ΄μ΄μΌ ν )μ λͺ© κ°μ²΄λ₯Ό μ μ©ν μ΄μ λ μ ν μλ€. μΈμ€ν΄μ€λ₯Ό μμ±ν΄μ μ°κΈ°λ§ νλΌ.
- ν΄λμ€κ° κ°μ΄ λ κ°λ₯μ±μ΄ μμ΄μ λͺ© κ°μ²΄λ₯Ό μ μ©ν νμκ° μλ κ²½μ°μ λν ν΄λ¦¬μ€ν±μ΄ λͺ κ°μ§ μλ€.
- ν΄λΉ ν΄λμ€μ κ°μ λΆλ³μ μ΄λ€.
- ν΄λΉ νμ
μ μΈν°νμ΄μ€λ₯Ό ꡬννλ ν΄λμ€λ₯Ό λμμΌλ‘ μλ―Έ μλ μ΄λ¦μ μκ°ν΄λΌ μ μλ€.
- κ°μ μΈμ€ν΄μ€λ₯Ό μμ±νκΈ°κ° λ무 볡μ‘ν΄μ κ°μ λμμΌλ‘ λͺ© κ°μ²΄λ₯Ό μ μ©νκ³ μΆμ λ§μμ΄ λ λ€λ©΄ λΉλλ₯Ό μμ±νλ λ°©λ²μ κ³ λ €νμ(22μ₯ μ°Έκ³ )
π λΉλν μμ±μβ
- TDD κ³Όμ μ΄ μ§νλλ κ³Όμ μμ μμ±μμ μΈμ λͺ©λ‘μ΄ κΈΈκ³ λ€λ£¨κΈ° μ΄λ €μΈ λκ° μλ€. (보ν΅ν ν λ²μ νλμ© κ°μ²΄μ μμ‘΄μ±μ μΆκ°ν λ)
- νΉμ κ°λ
μ λνλ΄λ μΌλΆ μΈμλ₯Ό λ¬Άμ΄ μλ‘μ΄ κ°μ²΄λ‘ λ체ν μ μλ€.
- μμμ μΈ μ»΄ν¬λνΈλ₯Ό λ½μλΌ κ²½μ° λ κ°μ§ 쑰건μ μ΄ν΄λ³΄λ κ²μΌλ‘ μμνλ€. ν΄λΉ ν΄λμ€μμ λ ν¨κ» μ¬μ©λκ³ μλͺ
μ΄ κ°μ μΈμκ° μ¬κΈ°μ ν΄λΉνλ€. μ‘°κ±΄μ΄ μΌμΉνλ λΆλΆμ μ°Ύκ³ λλ©΄ ν΄λΉ κ°λ
μ μ€λͺ
νλ λ λμ μ΄λ¦μ μμλ΄λ μ’ λ μ΄λ €μ΄ μΌμ΄ λ¨λλ€.
π νΌλλλ κ°μ²΄β
- λΉλν μμ±μλ₯Ό μ§λ¨νλ λ λ€λ₯Έ λ°©λ²μ κ°μ²΄μ μν μ΄ λ무 λ§μμ κ°μ²΄ μ체μ κ·λͺ¨κ° λ무 ν¬λ€λ κ²μΌμ§λ λͺ¨λ₯Έλ€.
π λ무 λ§μ μμ‘΄μ±β
- λΉλν μμ±μμ λν μΈ λ²μ§Έ μ§λ¨μ λͺ¨λ μΈμκ° κ°μ²΄ μ΄μμ μ ν(63 νμ΄μ§)μμ μ μν μ΄μ μ ν κ°μ΄λ° νλμΈ μμ‘΄μ±μ΄ μλλΌλ κ²μ΄λ€.
πλ무 λ§μ μμ ꡬ문β
- ν
μ€νΈμ μμ κ΅¬λ¬Έμ΄ λ무 λ§μΌλ©΄ μ€μν κ²μ΄ 무μμ΄κ³ μ€μ λ‘ λ ν
μ€νΈνλμ§ νμ
νκΈ° μ΄λ ΅λ€.
- ν
μ€νΈλ₯Ό μ½κΈ° μ΄λ ΅κ² νλ κ²μ λͺ¨λ κ²μ΄ μμ ꡬ문μ΄λΌλ μ μΌλ‘ μ λ λκ°μ΄ μ€μν΄ λ³΄μΈλ€. λκ° μ€μνκ³ ν
μ€νΈλ₯Ό ν΅κ³Όνλμ§ λΆκ°ν μ μλ€.
- μ°λ¦¬λ μ€ν
(ν
μ€νΈλ₯Ό ν΅κ³Όνλ λ° λμμ΄ λκ²λ μ€μ νμλ₯Ό νλ΄ λΈ κ²)κ³Ό μμ ꡬ문(κ°μ²΄κ° μκΈ° μ΄μ κ°μ²΄μ μνΈ μμ©νλ λ°©λ²μ κ΄ν΄ 보μ₯νλ €λ λ¨μΈ)μ ꡬλΆν΄ μλλ₯Ό μ’ λ λΆλͺ
νκ² ν μ μλ€.
- μμ ꡬ문μ μ‘°κΈλ§ μμ±νκ³ λ무 λ§μ μμ ꡬ문μ μμ ν΄μΌ νλ€.
π ν
μ€νΈκ° μ°λ¦¬μκ² λ§ν΄μ£Όλ κ²(μ¬λ¬λΆμ΄ κ· κΈ°μΈμΈλ€λ©΄)β
- ν
μ€νΈ μ
μ·¨μ κ·λ₯Ό κΈ°μΈμ΄λ κ²μ λ°°μ°λ κ³Όμ μμ λ€μκ³Ό κ°μ μ΄μ μ΄ μλ€.
π μ§μμ μ΄μ μ΄ νΉμ κ°μ²΄μ λ§μΆ°μ§λ€β
- μ§μμ νΉμ κ°μ²΄(κ°μ²΄ λ΄λΆλ , κ°μ²΄μ μ λ¬νλ )μ κ΅νν μ μλ€λ©΄ ν΄λΉ κ°μ²΄μ ꡬνμ κ·Έκ²μ λλ¬μΌ μ½ν
μ€νΈμ λ
립μ±μ μ μ§ν μ μλ€.
π λκ°κ° λͺ
μμ μ΄λΌλ©΄ κ±°κΈ°μ μ΄λ¦μ λΆμ¬ν μ μλ€β
- μ΄λ¦μ μ μ μλ€λ©΄ κ·Έκ²μ λ€λ₯Έ μ°μμλ₯Ό μ°Ύμμ μ€λ³΅μ μ€μΌ μ μλ μ’ λ λμ κΈ°νλ₯Ό μ»λ μ
μ΄λ€,
π μ΄λ¦μ΄ λ λ§λ€λ κ²μ λλ©μΈ μ λ³΄κ° λ λ§λ€λ μλ―Έλ€β
π λ°μ΄ν° λμ νμλ₯Ό μ λ¬νλΌ