(나는 이것이 좋은 인터뷰 질문 일 것이라고 생각 하지만, 제 경우에는 그보다 실용적입니다.)
우리는 수십 가지 화학 성분 사이에서 매우 길고 정교한 화학 반응 과정을 모델링 하는 크고 복잡한 응용 프로그램 을 보유하고 있습니다. 우리는 응용 프로그램에 대한 합격 시험을 설계하는 단계에 있지만, 테스트 할 수있는 수 많은 경로에 다소 어려움을 겪고 있습니다. 우리의 상황은 '길 찾기'기능에서 경로 계획 알고리즘을 테스트 할 때 Google지도 개발자 팀이 직면했던 것과 매우 흡사합니다. 분명히 그들은 가능한 모든 경로를 테스트 (확인 및 검증) 할 수 없었습니다. 그렇다면 모든 상황에서 응용 프로그램이 작동한다는 확신을 어떻게 얻었습니까?
그리고 그들이 어떻게했는지 알지 못하므로 다음과 같이 물어보십시오. 문자 그대로 불가능할 때 주어진 응용 프로그램이 견고하다는 것을 만족시키기 위해 적절한 코드 범위로 테스트 스위트를 디자인하는 방법은 무엇 입니까? 시스템을 통해 모든 잠재적 인 경로를 조사하기 위해?
내가 찾고있는 것은 다루기 힘든 문제를 작고 다루기 쉬운 조각으로 나누는 데 사용하는 원칙입니다. 그 합은 전체를 만족스럽게 추정 할 수 있습니다. "모든 것을 테스트 할 수는 없지만 테스트 할 수는 있습니다. 이것과 이것으로 충분합니다. " 나는 "아마도 올바른"접근 방식을 찾고 있지 않지만 실제 예산 / 시간 제약 조건을 고려할 때 신중한 접근 방식을 찾고 있습니다.
(저는 Google지도 예제를 가능한 한 구체적인 답변을 요청하기위한 호일로 사용하고 있습니다.)