Skip to content

Commit

Permalink
Move: TDD, Learning-test
Browse files Browse the repository at this point in the history
  • Loading branch information
currenjin committed Nov 5, 2024
1 parent 2da530c commit 8d9d5b3
Show file tree
Hide file tree
Showing 488 changed files with 69 additions and 0 deletions.
12 changes: 12 additions & 0 deletions learning-test/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# LEARNING-TEST
ν•™μŠ΅ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•œ μ €μž₯κ³΅κ°„μž…λ‹ˆλ‹€.

## ν•™μŠ΅ν…ŒμŠ€νŠΈκ°€ λ­”κ°€μš”?

λ‹€λ₯Έ μ‚¬λžŒμ΄ κ΅¬ν˜„ν•΄ 놓은 것(μ˜€ν”ˆ μ†ŒμŠ€ ν”„λ ˆμž„μ›Œν¬, 라이브러리 λ“±)을 λ‹¨μœ„ ν…ŒμŠ€νŠΈλ‘œ μ‚¬μš©λ²•μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.

## ν•™μŠ΅ν…ŒμŠ€νŠΈλ₯Ό μ™œ ν•˜λ‚˜μš”?

- λ‹¨μœ„ν…ŒμŠ€νŠΈ 방법을 ν•™μŠ΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
- λ‹¨μœ„ν…ŒμŠ€νŠΈ λ„κ΅¬μ˜ μ‚¬μš©λ²•μ„ 읡힐 수 μžˆμŠ΅λ‹ˆλ‹€.
- νŠΉμ • 라이브러리의 μ‚¬μš© 방법을 읡힐 수 μžˆμŠ΅λ‹ˆλ‹€.
57 changes: 57 additions & 0 deletions tdd/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# TDD

ν…ŒμŠ€νŠΈ 주도 개발(Test-driven development, TDD)은 맀우 짧은 개발 사이클을 λ°˜λ³΅ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ 개발 ν”„λ‘œμ„ΈμŠ€ 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. κ°œλ°œμžλŠ” λ¨Όμ € (1) μš”κ΅¬μ‚¬ν•­μ„ κ²€μ¦ν•˜λŠ” μžλ™ν™”λœ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό μž‘μ„±ν•˜κ³ , 그런 후에 (2) κ·Έ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό ν†΅κ³Όν•˜κΈ° μœ„ν•œ μ΅œμ†Œν•œμ˜ μ½”λ“œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€. λ§ˆμ§€λ§‰μœΌλ‘œ (3) μž‘μ„±ν•œ μ½”λ“œλ₯Ό ν‘œμ€€μ— λ§žλ„λ‘ λ¦¬νŒ©ν† λ§ν•©λ‹ˆλ‹€. 이 기법을 κ°œλ°œν–ˆκ±°λ‚˜ '재발견' ν•œ κ²ƒμœΌλ‘œ μΈμ •λ˜λŠ” Kent Beck은 2003년에 TDDκ°€ λ‹¨μˆœν•œ 섀계λ₯Ό μž₯λ €ν•˜κ³  μžμ‹ κ°μ„ λΆˆμ–΄λ„£μ–΄μ€€λ‹€κ³  λ§ν•©λ‹ˆλ‹€.

## CYCLE
1. μž‘μ€ ν…ŒμŠ€νŠΈλ₯Ό ν•˜λ‚˜ μΆ”κ°€ν•œλ‹€.
2. λͺ¨λ“  ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•΄μ„œ ν…ŒμŠ€νŠΈκ°€ μ‹€νŒ¨ν•˜λŠ” 것을 ν™•μΈν•œλ‹€.
3. 쑰금 μˆ˜μ •ν•œλ‹€.
4. λͺ¨λ“  ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•΄μ„œ ν…ŒμŠ€νŠΈκ°€ μ„±κ³΅ν•˜λŠ” 것을 ν™•μΈν•œλ‹€.
5. 쀑볡을 μ œκ±°ν•˜κΈ° μœ„ν•΄ λ¦¬νŒ©ν† λ§μ„ ν•œλ‹€.

## PROJECT
### Test driven development by Example
μΌ„νŠΈλ²‘μ˜ TDD by example 쀑 Money 예제λ₯Ό TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### Java baseball playground
μˆ«μžμ•Όκ΅¬κ²Œμž„μ„ TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### Java racingcar playground
μžλ™μ°¨ κ²½μ£Ό κ²Œμž„μ„ TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### Java coordinate playground
μ’Œν‘œ 계산기λ₯Ό TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### AutoParams
autoparams μ‚¬μš© 예제λ₯Ό TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### FixtureMonkey
fixture monkey μ‚¬μš© 예제λ₯Ό TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### Specification
Specification pattern 을 TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### Visitor
Visitor pattern 을 TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### Builder
Builder pattern 을 TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### Observer
Observer pattern 을 TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### Fibonacci
ν”Όλ³΄λ‚˜μΉ˜ μˆ˜μ—΄μ„ TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### Planetary Orbital Calculator
ν–‰μ„±μ˜ ꢀ도 계산기λ₯Ό TDD 둜 κ΅¬ν˜„ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

### Challenge
이미 TDD 둜 μ§„ν–‰ν–ˆλ˜ ν”„λ‘œμ νŠΈμ— λŒ€ν•΄ λ°˜λ³΅ν•΄μ„œ TDD 둜 κ΅¬ν˜„ν•˜λŠ” κ³΅κ°„μž…λ‹ˆλ‹€.

## PERSONAL
- [TDD with currenjin's wiki](https://currenjin.github.io/wiki/TDD/)
- [ν…ŒμŠ€νŠΈμ— κ΄€ν•œ λ‚˜μ˜ 생각(1일 1κΈ€)](https://currenjin.github.io/wiki/test/)

## ETC
- [μ˜μ‘΄μ„±κ³Ό 쀑볡](tdd/etc/dependency_and_duplication.md)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit 8d9d5b3

Please sign in to comment.