블랙박스 테스트
사용자 입장에서의 테스트이므로, 코드 내부 구현 사항을 알지 못한 채 기능의 정상적인 동작을 평가
화이트박스 테스트
프로그래머가 직접 자신이 작성한 코드의 기능을 확인하기 위해 실시하는 테스트, 코드 내부의 모든 동작을 알고 있는 상태에서 진행하므로 버그 발견 가능
이상적으로는 두 테스트 모두 골고루 촘촘하게 이루어져야 한다
TDD란 다음의 절차를 따르는 개발방식.
테스트 케이스 작성 → 코드 작성하며 테스트 케이스 통과시키기 → 새로운 테스트 케이스 작성, 보충 → 이 과정 계속 반복
golang에서 자체적으로 지원하는 코드 성능 측정 모듈이다.
예
...
func fibonacchi(n int) int {
if n < 0 {
return 1
}
if n < 2 {
return n
}
return fibonacchi(n - 2) + fibonacchi(n - 1)
}