📂 테스트 용어
📌 테스트 목적
" 테스트는 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 수동 또는 자동화된 방법을 동원하여 검사하고 평가하는 일련의 과정" - IEEE
"프로그램 테스트는 결함이 있음을 보여줄 뿐, 결함이 없음을 증명할 수는 없다" - Dahl, Dijkstra, Hoare
- 테스트는 사람이 만든 실수(error)로 인해 발생하는 문제점이나 실패(failure)를 사전에 발견 및 방지하기 위해 결함(defect) 찾아내는 행위
📌 테스트 분류 (단계별)
1) 컴포넌트 테스트
- 단위 테스트, unit 테스트
- 모듈이나 객체, 프로그램과 같이 개별적으로 테스트 가능한 단위에서 테스트 수행 (실제로 거의 하지X)
- 테스트 수행을 위해
드라이버
와 스텁
필요
- Driver : 컴포넌트에 쉽게 접근 불가하지만, 해당 컴포넌트에 접근하기 위한 부분이 개발되지 않았을 경우 테스트할 때 사용(ex. class)
- Stub : 컴포넌트에 쉽게 접근 가능하지만, 프로세스를 수행할 부분이 아직 개발되지 않았거나, 접근 가능한 컴포넌트만 테스트할 때 사용 (ex. JSP)
2) 통합 테스트
- 각 컴포넌트 사이의 인터페이스를 테스트함
- UI부분과 서버 부분을 묶어서 테스트하거나 각 기능 사이의 연결관계를 테스트 수행
- 종류
- 컴포넌트 통합 테스트 : 한 시스템 내에서 컴포넌트 사이의 관계를 테스트
- 시스템 통합 테스트 : 두 개 이상의 시스템 사이의 관계를 테스트
3) 시스템 테스트
- 개발된 시스템이 제대로 동작되는지 테스트 (Verification)
- 성능 테스트 및 보안 테스트와 다름
4) 인수 테스트
- 시스템이 고객이 원하는대로 만들어졌는지 테스트 수행 (Validation)
📖 참고 📖 Verification(검증) vs Validation(확인)
- Verification : 시스템 기능이 잘 작동하는지 점검
- Validation : 요구사항에 정의된 대로 설계되었는지 점검
- V & V : Verification + Validation
📌 테스트 분류 (목적별)
1) 기능 테스트
2) 비기능 테스트
3) 구조 테스트
4) 확정 및 회귀 테스트
✔ QAO (Quality Assurance Officer) / QA
- 프로젝트에서 품질을 관리하는 사람
- SI 프로젝트에서 수행 중인 프로젝트에 적합하도록
방법론
및 템플릿
수정, 품질 관련 표준 지키는지 확인
✔ 요구공학 (Requirement Engineering)
- 요구사항을 정의할 때 고객사의 매뉴얼이나 시스템을 보고 요구사항 분석 (소프트웨어 공학의 일부)
- 요구사항을 유도, 분석, 문서화, 검증, 관리하는 작업을 체계적 접근
✔ ISTQB (International Software Testing Qualifications Board)
- 국제 소프트웨어 테스트 능력 인정 기관
- 테스터를 위한 자격 시험 및 자격증 제공
- Syllabus 문서 참고
✔ 주요 품질 특성
- 기능성 (Functionality)
- 신뢰성 (Reliability)
- 사용성 (Usability)
- 효율성 (Effiency)
- 유지보수성 (Maintainability)
- 이식성 (Portability)
✔
📂
✔
➡
📖 출처 📖
자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기
좋은 글 잘 읽었습니다, 감사합니다.