작성
·
6
0
강의를 들으면서 내부 설계에 의존하는 테스트라는 것이 무엇인지 조금 헷갈려서 질문 드립니다.
강의 초반에는 테스트가 내부 설계에 의존해서는 안된다고 말씀 주셨습니다. 내부 설계에 의존하게 되면 테스트가 깨지는 등의 부작용이 발생할 수 있기 때문이라는 점도 함께 말씀 주셨는데,
이번 강의에서는 내부 설계에 의존해야 하는 케이스를 설명 해주셨습니다.
다만 왜 이런 케이스에는 내부 설계에 의존해야 하는지를 확실하게 이해를 하지 못했습니다.
조금 더 자세한 질문을 드리자면
내부 설계의 의미
내부 설계에 의존해야 하는 이유
이 두가지를 잘 이해하지 못한 것 같습니다.
내부 설계라는 것이 클라이언트가 실제로 사용하는, 외부로 공개된 인터페이스를 제외한 모든 부분을 말하는 것일까요?
이번 강의에서 내부 설계에 의존해야 하는 이유는
클라이언트는 어떤 방식으로 암호화를 하는지 알 필요가 없다.
하지만 현재 공개된 인터페이스로는 실제 비밀번호가 평문으로 저장이 되었는지, 아니면 정말 암호화가 이루어져 저징이 되었는지를 확인할 수 있는 방법이 없다.
그러므로 실제 암호화 로직을 테스트 해야한다 (내부 설계에 의존해야 한다)
정도로 이해했습니다만 제가 맞게 이해한 것인지 감이 오질 않습니다.
요약하자면
내부 설계란 외부로 드러난 인터페이스 외적인 것들을 말하는 것인지
왜 내부 설계를 의존해야만 하는 상황이 발생하는지
정도일 것 같습니다.
감사합니다.
답변