- 연역법
- 일반적인 전제를 토대로 더욱 개별적인 결론을 도출하는 추론 방법
- 대표적인 사례: 3단 논법
- 고양이는 포유류다 ➜ 스코티시 폴드는 고양이다 ➜ 스코티시 폴드는 포유류다
- 귀납법
- 개별 사례를 토대로 일반적인 법칙을 찾아내는 추론 방법
- 예시
- 삼색 고양이 1000마리의 성별을 조사한 결과 ➜ 삼색 고양이에는 수컷이 없다
1. 기존 소프트웨어
1.1 연역적 특징을 따르는 개발 방식
- 주어진 전제조건(요구사항)을 만족하는 구체적인 결과물(소프트웨어)를 만들어가는 방식
- 정의된 요구사항을 전제로 ➜ 구체적인 요구사항 결정 ➜ 요구사항을 만족하는 소프트웨어 개발
- 개발 작업이 올바르게 수행된다면 ➜ 요구사항을 만족하는 소프트웨어 제작을 기대할 수 있음
- 소프트웨어가 요구사항을 만족하지 않는다면 ➜ 개발작업이 올바르게 수행되지 않았음을 의미
1.2 테스트 기법의 특징
- 연역적 특징을 이용 ➜ 명확한 테스트 가능
- 요구사항을 토대로 테스트 문제와 모범 답안 준비
- 테스트 작업 수행
- 소프트웨어가 정답을 출력하면 합격으로 인정
2. AI 소프트웨어
2.1 귀납적 특징을 따르는 개발 방식
- 학습용 데이터셋이라는 개별 사례로부터 다른 데이터에도 적용할 수 있는 일반적인 법칙을 찾아내는 방식
- 학습용 데이터셋을 토대로 ➜ 데이터의 특징을 나타내는 학습 완료 모델 구축
- 학습 완료 모델은 데이터셋에 포함되지 않은 입력 데이터에 대해서도 결과 출력 가능
2.2 테스트 기법의 특징
- 개별 사례를 일반화하여 결과(법칙)를 출력 ➜ 구해진 법칙이 항상 올바르다고 단정할 수 없음
- 학습용 데이터셋을 토대로 학습한 학습 완료 모델이 학습용 데이터셋 이외의 데이터에서도 올바른 추론 결과를 출력할지 알 수 없음
- 애초에 올바른 출력이 무엇인지도 아무도 알 수 없음
- 따라서 기존 소프트웨어의 테스트 기법을 적용할 수 없음