π€ ν μ€νΈ μ½λ?
μννΈμ¨μ΄μ κΈ°λ₯κ³Ό λμμ ν μ€νΈνλ λ° μ¬μ©λλ μ½λμ λλ€.
κ°λ°μκ° μμ±ν μ½λλ₯Ό μ€ννμ¬ μμλ κ²°κ³Όκ° μ μμ μΌλ‘ λμ€λμ§ νμΈνλ λ° μ¬μ©λ©λλ€.
E2E(End to End), ν΅ν© ν μ€νΈ(Integration Test), λ¨μ ν μ€νΈ(Unit Test) μ κ°μ λ€μν ν μ€νΈκ° μμ΅λλ€.
1. λ¨μ ν μ€νΈ
νλμ λͺ¨λ(κΈ°λ₯)μ΄ μλν λλ‘ μλνλμ§ νμΈνλ κ³Όμ μ λλ€.
2. ν΅ν© ν μ€νΈ
λ¨μ ν μ€νΈμμ κ²μ¦λ κ°λ³ λͺ¨λ(κΈ°λ₯)λ€μ κ²°ν©νμ¬ μμλλ‘ μνΈμμ©νκ³ μλμ§ νμΈνλ ν μ€νΈμ λλ€.
μ£Όλ‘ μΈλΆ μμ‘΄μ±(ex.λ°μ΄ν°λ² μ΄μ€)μ λν΄ ν μ€νΈ ν©λλ€.
3. E2E(End to End)
μ€μ μννΈμ¨μ΄λ₯Ό μ¬μ©νλ μ¬μ©μ μλ리μ€λ₯Ό ν μ€νΈν¨μΌλ‘μ¨ μννΈμ¨μ΄κ° μλν λλ‘ λμνλμ§ νμΈν©λλ€.
π‘ ν μ€νΈ μ½λλ μ μμ±ν κΉμ?
μ΄μ κ°λ° κ³Όμ μμ κ²μκΈ λ±λ‘ κΈ°λ₯μ ꡬννκ³ κ·Έ κΈ°λ₯μ ν μ€νΈνκΈ° μν΄μλ μλμ κ°μ κ³Όμ μ κ±°μ³€μ΅λλ€.
-> κ²μκΈ λ±λ‘ κΈ°λ₯ꡬν
-> μ ν리μΌμ΄μ μ€ν
-> λ‘κ·ΈμΈ ( νμλ§ μμ± κ°λ₯νκΈ° λλ¬Έμ )
-> κ²μ¬ν ν΄λ¦
-> κ²μκΈ μμ±
-> κ²μκΈ λ±λ‘
μ΄λ¬ν κ³Όμ μ ν΅ν΄ κΈ°λ₯μ΄ μ μμ μΌλ‘ μλνλμ§ νμΈνκ³ μμ νκ³ λ₯Ό λ°λ³΅νλ€ λ³΄λ 볡μ‘ν κΈ°λ₯μ ꡬννκ±°λ μ¦μ μμ μ΄ νμνκ² λ λλ©΄ μ€λ μκ°λμ ν μ€νΈνκ² λμμ΅λλ€.
π μμ°μ± ν₯μ
νμ§λ§ ν μ€νΈ μ½λλ₯Ό μμ±ν¨μΌλ‘μ¨ μ½λλ₯Όν΅ν΄ κΈ°λ₯μ μλκ³Ό μ€λ₯λ₯Ό νμΈνκ³ λλ²κΉ μ μλͺ¨λλ μκ°μ μ€μ¬ μλΉμ€ κ°λ°μκ° λΉμ¦λμ€ κ°λ°μ μ§μ€νλ©΄μ μμ°μ± ν₯μμ λμμ μ£Όκ² λ©λλ€.
π μμ κ°
λ§μ½ μꡬμ¬ν λ³κ²½μ΄λ 리ν©ν λ§μ ν΅ν΄ μλΉμ€ λ‘μ§μ λ³κ²½νλ€λ©΄ μ΄μ μ μμ±ν ν μ€νΈ μ½λλ₯Ό ν΅ν΄ λ³κ²½μλν λ€λ₯Έ κΈ°λ₯λ€μ κ²°ν¨μ μ‘°κΈ°μ λ°κ²¬ν μ μκ³ , μ΄λ‘μΈν΄ κ°λ°μλ μ’ λ μμ κ° μλ κ°λ°μ ν μ μμ΅λλ€.
π νμ§λ§ λ¨μ λ μ‘΄μ¬ν©λλ€.
νλμ κΈ°λ₯μ μ¬λ¬κ°μ§ μν©μ λͺ¨λ μΌλνμ¬ ν μ€νΈ μ½λλ₯Ό μμ±ν΄μΌ νκΈ° λλ¬Έμ λ§μ μ½λλ₯Ό μμ±νκ² λ©λλ€.
λν κΈ°λ₯μ΄ λ³κ²½λλ€λ©΄ ν μ€νΈ μ½λλν λ³κ²½ν΄μΌ νκΈ°μ κ°λ° μκ°κ³Ό μ μ§λ³΄μ λΉμ©μ΄ λ°μνκ² λ©λλ€.
β TDD(Test-Driven Development)?
μννΈμ¨μ΄ κ°λ° λ°©λ²λ‘ μ€μ νλλ‘, μ ν μ€νΈ ν κ°λ° λ°©μμ λ§ν©λλ€.
μ¦, λ¨Όμ ν μ€νΈ μ½λλ₯Ό μμ±ν ν ν μ€νΈλ₯Ό ν΅κ³ΌνκΈ° μν μ½λλ₯Ό κ°λ°νλ λ°©μμ λλ€.
λΉ¨κ° : μ€ν¨νλ μμ ν μ€νΈλ₯Ό μμ±ν©λλ€.
μ΄λ‘ : κ°λ₯ν 빨리 ν μ€νΈκ° ν΅κ³Όνκ²λ λ§λλλ€.
리ν©ν°λ§ : μ΄λ‘ λ¨κ³μμ μΌλ¨ ν΅κ³Όνκ²λ§ μμ±ν μ½λλ₯Ό μμ ν ννλ‘ λ¦¬ν©ν°λ§ ν©λλ€.
μμκ°μ ν μ€νΈ -> κΈ°λ₯ꡬν -> 리ν©ν λ§μ μ¬μ΄ν΄λ‘ κ°λ°μ μ§νν©λλ€.
μ΄ κ³Όμ μ ν΅ν΄ μμ°μ€λ½κ² κΈ°λ₯ ꡬν λ° μ½λ μμ μ λν κ·Όκ±°λ₯Ό μ»μ μ μκ²λ©λλ€.
κ°μ²΄ μ§ν₯μ μΈ μ½λ μμ°
λλ²κΉ μκ°μ λ¨μΆ
ν μ€νΈ λ¬Έμμ λ체 κΈ°λ₯
μΆκ° ꡬνμ μ©μν¨
μ΄μ²λΌ λ€μν μ₯μ λ€μ΄ μμ§λ§ μ΄λ¬ν κ°λ°λ°©μμ μ΄λ ΅κ²λ§ λκ»΄μ§λλ€.π
κ°λ°μ μ€κ³(Design)μ΄νμ μ΄λ£¨μ΄μ§λ μμ μΌλ‘, μ€κ³κ° μ λλ‘ μ΄λ£¨μ΄μ§μ§ μλλ€λ©΄ κ°λ°μ΄ νλ€μ΄μ§λ κ²μ λΉμ°ν ν λΏλλ¬ TDDλ°©λ²λ‘ μ μ μ©νκΈ°λ μ΄λ €μΈ κ²μ λλ€.
μΌλ°μ μΈ ν μ€νΈ λ°©λ²μ κΈ°λ₯μ ꡬννκ³ κ·Έ κΈ°λ₯μ λν ν μ€νΈ μ½λ μμ±ν©λλ€, μ΄λ λ§€μ° μ§κ΄μ μ λλ€.
νμ§λ§ ν μ€νΈ μ½λλ₯Ό λ¨Όμ μμ±νκ² λλ€λ©΄ ꡬνν κΈ°λ₯μ μκ°νλ©° μ 체μ μΌλ‘ μ΄ν΄νκ³ μμ΄μΌ ν κ²μ λλ€.
μ¦, μ μ§μΈ μ€κ³λ₯Ό κΈ°λ°μΌλ‘ μ€κ³μ λν μ΄ν΄κ° νμν κ²μ λλ€.
π νμ§λ§ TDDκ° λ¬΄μ‘°κ±΄ μ’λ€κ³ ν μλ μμ΅λλ€.
μλ₯Ό λ€μ΄ λ°λλΌμΈμ΄ μκ³ ν μ€νΈ μ½λλ₯Ό μμ±νλ λΉμ©μ΄ λ λ§λ€κ³ νλ¨λλ€λ©΄ λ€λ₯Έ λ°©λ²μ κ³ λ €ν΄μΌ ν©λλ€.
κ°λ° νκ²½μ λ€μνκΈ° λλ¬Έμ νλμ λ°©λ²λ‘ μΈ TDDλ₯Ό μ΄λ€ μν©μ μ μ©ν κ²μΈμ§ κ³ λ―Όν΄ λ³Ό νμκ° μμ κ²μ λλ€.
π Reference
https://itstory1592.tistory.com/108
'Backend' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λμμΈ ν¨ν΄] builderν¨ν΄ (0) | 2024.02.18 |
---|