1. TDD (Test Driven Development) λ?
TDDλ 'ν μ€νΈ μ£Όλ κ°λ°'λ‘ μμ λ¨μμ ν μ€νΈ μ½λλ₯Ό μμ±ν΄ νλ‘κ·Έλ¨μ΄ μλͺ»λμμμ μ¦λͺ νκ³ ,
μ΄λ₯Ό μμ νλ©΄μ λͺ©νμ λΆν©νλ μ½λλ₯Ό μΆκ°νλ λ¨κ³λ₯Ό λ°λ³΅ ꡬννλ μννΈμ¨μ΄ λ°©λ²λ‘ μ΄λ€.
μΌλ°μ μΈ κ°λ°λ°©μμ 'μꡬμ¬ν λΆμ > μ€κ³ > κ°λ° > ν μ€νΈ > λ°°ν¬'μ νν.
μ΄λ¬ν λ°©μμ μννΈμ¨μ΄ κ°λ°μ λλ¦¬κ² νλ μ μ¬μ μν μ‘΄μ¬
μμ λΆλΆμ κΈ°λ₯ μμ μλ λͺ¨λ λΆλΆμ ν μ€νΈν΄μΌνλ―λ‘ μ 체 λ²κ·Έ κ²μΆμ΄ μ΄λ €μμ§
TDDμ λνμ μΈ Tool 'JUnit'μ κ°μ₯ λ리 μ¬μ©λλ Java λ¨μ ν μ€νΈ νλ μμν¬μ΄λ€.
μ΅κ·Όμλ λμ ν μ€νΈ λΏλ§μλλΌ jenkins(λΉλμλνλ₯Ό μν ) λ±μ ci λꡬλ₯Ό μ¬μ©ν λ
ν μ€νΈ μ½λμ μ±κ³΅μ¬λΆλ₯Ό νμΈν΄ prμ ν΅κ³Όμν€κ±°λ μ΄μλΈλμΉλ‘ merge μν€λ λ±μ μΆκ°λμμλ λ§μ΄ νμ©λλ€.
2. TDD κ°λ°μ£ΌκΈ°
- RED : μ€ν¨νλ ν μ€νΈ μ½λλ₯Ό μμ±νλ€.
- GREEN : ν μ€νΈ μ½λλ₯Ό μ±κ³΅μν€κΈ° μν μ€μ μ½λλ₯Ό μμ±
- BLUE : μ€λ³΅ μ½λ μ κ±°, μΌλ°ν λ±μ 리ν©ν λ§ μν-
- TDD μΈλΆνλ‘μΈμ€
λ¨μ ν μ€νΈ μμ± > λ¨μ ν μ€νΈ μ€ν > μ΄μ μ½λ μμ± > λ¨μ ν μ€νΈ μ€ν > μ€κ³ κ°μ (리ν©ν λ§) > λ¨μν μ€νΈ ...λ°λ³΅
3. μ΄λ€ μν©μμ TDDλ₯Ό ν΄μΌν κΉ?
TDDλ μ¬μ©μ€λͺ μμ΄μ μμ¬μν΅μ μλ¨μ΄ λλ―λ‘ νΌλλ°±κ³Ό νλ ₯μ΄ μ¦μ§λμ΄, λΆνμ€μ±μ λλΉκ° κ°λ₯ν΄μ§λ€.
μ²μ ν΄λ³΄λ νλ‘κ·Έλ¨ μ£Όμ μ΄κ±°λ(λ΄λΆμ λΆνμ€μ±), κ³ κ° μκ΅¬μ‘°κ±΄μ΄ λ°λ μ μλ νλ‘μ νΈ(μΈλΆμ λΆνμ€μ±),
λκ° μ μ§λ³΄μν μ§ λͺ¨λ₯΄λ κ²½μ° λ±μ μν©μ μ μ©νλ©΄ μ’λ€.
4. TDD μ₯μ
- κ°λ°μμ μλλλ‘ λ‘μ§μ΄ λμνλμ§ λͺ νν μ μ μλ€. (κ°λ°μ λ°©ν₯μ±μ μμ§ μκ² μ μ§)
- μ μ¬μ μ€λ₯λ₯Ό λ°©μ΄νμ¬ λλ²κΉ μκ°κ³Ό μ¬μ€κ³ μκ°μ λ¨μΆν μ μλ€.
- λ‘μ§ λ³κ²½μ λν μν₯λλ₯Ό λͺ νν μ μ μκ³ , μΆκ° ꡬνμ΄ μ©μ΄νλ€.
5. TDD λ¨μ
- μμ°μ±μ μ ν
(SI νλ‘μ νΈμμλ μννΈμ¨μ΄ νμ§λ³΄λ€ λ©κΈ°μΌ μ€μκ° μ€μνλ―λ‘ TDD λ°©μμ μ μ¬μ©νμ§ μμ)
- κΈ°μ‘΄μ κ°λ°λ°©μμ λ§μ΄ λ°κΎΈμ΄μΌν¨
- ꡬ쑰μ μ½λ§€μΈλ€.
'CS > κ°λ°μμ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[κ°λ°μμ] #6. ν΄λ¦°μ½λ (0) | 2023.01.12 |
---|---|
[κ°λ°μμ] #5. μ μ°¨μ§ν₯ vs κ°μ²΄μ§ν₯ (0) | 2023.01.11 |
[κ°λ°μμ] #4. MVC ν¨ν΄ (0) | 2023.01.11 |
[κ°λ°μμ] #3. Gitκ³Ό Githubμ μ°¨μ΄ (0) | 2023.01.10 |
[κ°λ°μμ] ν¨μν νλ‘κ·Έλλ° (0) | 2023.01.10 |