Scientific code 는 functions 간 interlocking 이 심해서, business code 와 다르게 unit test 가 쉽지 않음.
실행 아키텍처, 컴파일러에 따라 다를 수 있고 numerical precision 도 고려해야 함.
numerical rounding error 를 고려한 테스트 가능. (TEST_ASSERT_DELTA)
Unit test 시, 대조군은 history 가 있는 legacy code, 나머지는 신규 코드
Regression testing : code 에 변화가 있을 때, 결과가 같은지 확인
Unit testing : 1개의 function 에 대해서 명세한 대로 결과가 나왔는지 확인
Integration testing : 여러 개의 function 의 결과를 한번에 확인