본문 바로가기
전공공부/소프트웨어 공학

소프트웨어 검사 기법

by tiit 2020. 2. 17.
반응형

1. 화이트 박스 테스트 

: 모듈의 원시 코드를 오픈시킨 상태에서 원시코드의 논리적인 모든 경로르 검사하여 검사 사례를 설계하는 방법이다. 

 

특징

- 설계된 절차에 초점을 둔 구조적 테스트, 제어 구조를 이용하여 검사 사례 설계

- 모듈 안의 작동을 직접 관찰

- 모든 문장을 한 번 이상 수행

- 선택, 반복 등의 분기점 부분들을 수행

- 기초 경로 검사, 제어 구조 검사 등이 있다.

 

1) 기초 경로 검사

: Tom McCabe가 제안한 것으로 검사 사례 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주고, 이 측정 결과는 실행 경로의 기초를 정의하는 데 지침으로 사용된다.

 

- 검사 절차

i. 설계나 원시 코드를 기초로 해서 흐름도 작성

ii. 흐름도의 논리적 복잡도 측정

iii. 독립 경로들의 기초 집합 결정

iv. 기초 집합의 각 경로를 실행시키는 사례 선정

 

- 제어 흐름도

제어 흐름을 표현하기 위해 사용되는 그래프로 노드(절차적 명령문), 화살표(제어의 흐름), 영역(화살표와 노드로 둘러사인 구역)을 이용하여 표시

- 순환 복잡도

한 프로그램의 논리적인 복잡도를 측정하기 위한 소프트웨어의 척도로, 제어 흐름도 이론에 기초

제어 흐름도 GA에서 순환복잡도 V(G)를 구하는 2가지 방식 1) 순환복잡도는 제어 흐름도의 영역수와 일치 2) V(G) = E - N + 2 (E = 화살표 수, N =노드 수)

 

2) 제어 구조 검사

- 조건 검사

모듈 내에 있는 논리적 조건을 검사하는 검사 사례 설계 기법

- 루프 검사

반복 구조에 초점을 맞춰 실시하는 검사 사례 설계 기법

- 데이터 흐름 검사

변수의 정의와 사용 위치에 초점을 맞춰 실시하는 검사 사례 설계 기법

2. 블랙 박스 테스트

SW가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 검사

특징

- 소프트웨어 인터페이스에서 실시

- 누락된 기능, 인터페이스 오류, 자료 구조나 DB접근 오류, 행위나 성능 오류, 초기화와 종료 오류 발견 위해 사용

- 각 기능별로 적절한 입출력 설정하여 적합한 입력에 대한 출력의 정확성 점검

1) 동치 분할 검사(Equivalence Partitioning Testing)

입력 자료에 초점을 맞춰 검사 사례를 만드는 방법. 타당한 자료와 타당하지 않은 자료의 개수를 균등하게 하여 정함

2) 경계값 분석(Boundary Value Analysis)

경계값에서 오류가 발생될 확률이 높다는 점 이용

3) 원인-효과 그래프 검사(cause-effect graphing testing)

력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석하여 효용성 높은 검사 사례를 선정하여 검사하는 기법

4) 오류 예측 검사(Error Guessing)

과거의 경험이나 확인자의 감각으로 검사

5) 비교 검사(Comparison Testing)

여러 버전의 프로그램에 동일한 검사 자료를 제공하여 동일한 결과가 출력되는지를 감사

[출처] 소프트웨어공학 - 검사 기법과 전략|작성자 kb

반응형

댓글