소프트웨어 설계의 단계별 구분
- 상위 설계 (High-Level Design)
- 목적: 시스템의 전반적인 구성과 모듈 간 관계를 정의하여 개발 방향을 제시
- 종류
- 아키텍처 설계, 데이터 설계, 시스템 분할, 인터페이스 정의, 사용자 인터페이스 설계(UI 설계)
- 하위 설계 (Low-Level Design)
- 목적: 실제 구현이 가능하도록 상세하게 설계하여 개발자가 참조할 수 있도록 함
- 종류
테스트 관련 주요 용어 정리
- **테스트 스텁 (Test Stub) - 하향식 통합 테스트(Top-Down)**에서 사용
- 아직 구현되지 않은 하위 모듈을 대신해, 호출된 후 미리 정의된 응답을 반환하는 임시 모듈
- 👉 예: 상위 모듈에서 하위 모듈을 호출했을 때, 실제 로직 없이 더미 값을 반환
- **테스트 드라이버 (Test Driver) - 상향식 통합 테스트(Bottom-Up)**에서 사용
- 하위 모듈을 직접 호출하고 테스트하기 위한 상위 모듈 대체용
- 👉 예: 하위 모듈을 단독으로 테스트하기 위해 만든 호출용 임시 프로그램
- 테스트 슈트 (Test Suites)
- 여러 개의 테스트 케이스(Test Case)를 모아둔 집합
- 특정 기능 또는 모듈 전체를 체계적으로 테스트할 수 있도록 구성
- 👉 예: 회원가입 기능 테스트 슈트 → 입력 유효성, 중복 체크, 이메일 발송 등 다양한 케이스 포함
- 테스트 케이스 (Test Case)
- 특정 기능에 대해 실행할 단위 테스트 항목
- 테스트할 입력값, 실행 조건, 예상 결과 등을 포함