16

최종 시스템 통합 테스트

Day 5: 제조 AI 풀스택 캡스톤

학습 목표
  • 앞 과제에서 만든 모듈을 실제로 불러와 실패할 수 있는 통합 테스트를 작성한다
  • 테스트가 검증한 범위와 검증하지 못한 범위를 구분해 적는다

통합 테스트

앞 과제의 mfg_kpi.py(Day 1)와 mfg_assistant_v3.py(오늘)를 같은 폴더에 두고 실행합니다.

python integration_test.py

먼저 알아 둘 것

네 번째 검사는 지금 상태에서 실패합니다. 스크립트가 잘못된 것이 아니라 어시스턴트의 의도 분류가 실제로 틀렸기 때문입니다. 수요를 묻는 질의에 설비 관계 그래프와 잔여 수명이 딸려 나오고, 조치를 묻는 질의에는 매뉴얼 검색이 붙지 않습니다. 실패 메시지가 어느 질의에서 어떤 도구가 남거나 빠졌는지 알려 줍니다. 그것을 고치는 것이 오늘의 과제이고, 고치면 네 검사가 모두 통과합니다.

통과 여부보다 중요한 것은 무엇을 검사하지 않았는지입니다. 스크립트 마지막이 그 목록을 출력합니다. 통합 테스트가 초록불이라는 말과 배포해도 된다는 말은 다릅니다.

에디터 로딩 중...
힌트 보기
  • 테스트는 실패할 수 있어야 한다. 자기가 계산한 값을 자기와 비교하면 코드를 어떻게 고쳐도 통과한다
  • 기대값은 테스트 밖에서 온 것이어야 한다. 손으로 검산한 참조 케이스나 규격값을 쓴다
  • 실패 메시지에 '무엇을 기대했고 실제로 무엇이 나왔는지'를 함께 적어야 고칠 수 있다
  • 검사하지 않은 영역은 통과 목록이 아니라 미검증 목록에 적는다
정답 보기
에디터 로딩 중...
AI로 학습하기 — 꿀팁
제조 AI 시스템 E2E 테스트 검증AI 학습 팁

AI에게 테스트 시나리오 목록을 주면 엣지케이스 누락과 모듈 간 연동 실패 가능성을 찾아 테스트 코드를 보강해줍니다.

제조 AI 통합 시스템의 E2E 테스트 케이스를 pytest로 작성해줘. 각 케이스는 반드시 실패할 수 있어야 하고, 기대값은 테스트 밖에서 온 값(검산한 참조 케이스, 규격값, 사양서 수치)이어야 해. 검증 범위: RAG 검색에서 LLM 답변까지 3초를 넘으면 타임아웃, Vision API 오류 시 텍스트 전용 폴백, Optuna 수렴 실패 시 기본값 반환. 각 케이스에 mock 과 assert 를 포함하고, assert 가 항상 참이 되는 케이스가 있으면 지적해줘.
이 팁이 도움이 됐나요?
용어