본문 바로가기

전공/소프트웨어공학

Defect testing

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