Defect testing
- 프로그램에 있는 결함들을 발견하는게 목표
- 성공적인 결함 테스트는 프로그램이 비정상적인 방식으로 동작하게 하는 것
- 테스트는 결함의 부재가 아닌 결함의 존재를 보이는 것
Bloack-box tesing
- 프로그램을 black-box로 생각하고 테스팅을 수행
- 내부 구조를 신경쓰지 않고 입력 값에 대한 출력값만 테스팅
White testing = Structural testing
- 프로그램 구조에 따라 테스트 케이스들을 유도.
- 입력 값에 대한 프로그램 내부의 모든 결과를 시험 해보는 것
Path tesing
- 프로그램에 있는 모든 경로가 적어도 한 번은 실행되도록 테스트 케이스들의 집합을 구성
cyclomatic complexity
- 모든 제어 문장들을 시험하기 위한 테스트들의 수
- 프로그램에 있는 조건문의 수 +1
Independent paths
- 독립적인 경로
Component testing
- 개별적
Integration testing
- Component들이 통합되어 구성된 전체 시스템 혹은 서브 시스템들을 시험
- 그룹별. 회사에 맞는 프로그램.
- block-box 테스팅 사용
- 에러들을 지역화 하는 것이 주된 어려움
- 점진적 통합 테스팅이 이 문제를 줄여줌
- Top-down testing : 실제 구현은 구현 안했지만 기능이 있다는 것만 넣음
- Bottom-up : 실제 기능을 구현하고 인터페이스 부분을 넣음
Interface testing
- 모듈 또는 서브 시스템들이 보다 큰 시스템을 생성하기 위해 통합될 때 수행
- 인터페이스로 인한 결함 검출이 목적
- 극단적인 값의 매개변수, null, 잘못 동작, 스트레스 등
Stress testing
- 시스템에 과부하를 주어 결함을 드러나게 함
- 장애 시의 동작을 시험
- 분산 시스템에 적절 : 네트워크 과부하가 걸리면 급격한 성능 저하를 보일 수 있기 때문
Scenario-based testing
- usecase로부터 시나리오를 식별. interaction 다이어그램으로 보충한다.
'전공 > 소프트웨어공학' 카테고리의 다른 글
소프트웨어 감사(inspections) (0) | 2021.11.26 |
---|---|
검증과 확인(V & V = Verification and Validation) (0) | 2021.11.26 |
설계 개념과 원리 (0) | 2021.11.26 |
시스템 모델 (0) | 2021.11.09 |
요구 공학 프로세스 (0) | 2021.10.16 |