32 lines
2.2 KiB
Markdown
32 lines
2.2 KiB
Markdown
---
|
|
id: P-REINFORCE-AUTO-TEST-001
|
|
category: "10_Wiki/💡 Topics/AI"
|
|
confidence_score: 0.97
|
|
tags: [auto-reinforced, testing, quality-assurance, verification, validation, software-engineering, reliability]
|
|
last_reinforced: 2026-04-20
|
|
---
|
|
|
|
# [[Testing]]
|
|
|
|
## 📌 한 줄 통찰 (The Karpathy Summary)
|
|
> "불신의 미학: 개발자가 '잘 만들었겠지'라는 희망 회로를 돌릴 때, '진짜로 잘 돌아가는지'를 가장 심술궂은 케이스로 찔러보고 확인하여, 사용자에게 굴욕을 당하기 전 미리 매를 맞게 돕는 시스템의 필터링 장치."
|
|
|
|
## 📖 구조화된 지식 (Synthesized Content)
|
|
테스트(Testing)는 시스템이나 구성 요소가 규정된 요구사항을 충족하는지, 그리고 예상된 결과와 실제 결과가 일치하는지 확인하는 과정입니다.
|
|
|
|
1. **테스트 피라미드**:
|
|
* **Unit Test**: 함수나 클래스 같은 최소 단위 검증 (속도 빠름, 많아야 함). (TDD와 연결)
|
|
* **Integration Test**: 모듈들이 서로 만났을 때 잘 돌아가는지 확인.
|
|
* **E2E (End-to-End) Test**: 사용자의 흐름 전체(로그인부터 결제까지) 시뮬레이션 (느림, 중요함).
|
|
2. **왜 중요한가?**:
|
|
* 테스트가 없는 시스템은 '언제 터질지 모르는 폭탄'이며, 유능한 개발자는 코드를 짜는 시간보다 테스트를 설계하고 돌리는 시간에 더 큰 가치를 둠. (Reliability의 핵심)
|
|
|
|
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
|
- **과거 데이터와의 충돌**: 과거에는 출시 직전 한 번만 하는 '이벤트 정책'이었으나, 현대 정책은 코드 한 줄 고칠 때마다 수만 개의 테스트가 자동으로 도는 '지속적 테스트(CI) 정책'이 상식이 됨(RL Update).
|
|
- **정책 변화(RL Update)**: 결정론적인 소프트웨어와 달리 확률적인 AI 모델 정책은 테스트가 매우 힘든데, 이제는 AI 에이전트의 답변을 또 다른 AI 가 평가(LLM-as-a-judge)하는 '메타 테스트 정책'이 도입됨. (Quality-Control와 연결)
|
|
|
|
## 🔗 지식 연결 (Graph)
|
|
- [[TDD]], [[Quality-Control]], [[Reliability]], [[Standard-Operating-Procedure]], [[Management]]
|
|
- **Modern Tech/Tools**: Cypress, Playwright, Pytest, Github Actions (CI).
|
|
---
|