소프트웨어 테스트 방법

2007. 11. 30. 14:40Software Engineering/Software Testing

소프트웨어 테스트 방법

 1.      Black Box Test(=Dynamic Test)

정의

프로그램의 외부규격서에 의거하여 입력데이터와 출력 데이터 관계가 규격서에 정해진 바와 같은 결과를 얻었는지 조사 시험하는 방법. 프로그램 내부구조를 해석하지 않는다는 점에서 블랙박스시험이라고 한다. 이 방식의 시험사례를 설계하기 위해 결정표가 이용되기도 한다.
 
목적
-         부정확하거나 빠진 결함의 발견
-         인터페이스 결함 및 자료구조상의 결함 발견
-         성능결함과 시작, 종결상의 결함 발견
 
기법
                       i.              동등분할 기법
-         다양한 입력조건들을 갖춘 시험사례의 유형들로 분할
-         각 시험사례 유형마다 최소의 시험사례를 준비
-         시험사례를 줄이기 위해서 하나의 시험사례가 비슷한 다른 유형의 시험값에 대표될 수 있는 것으로 선정
                      ii.              경계값 분석 기법
-         입력조건의 경계치에 치중하며 출력유형도 고려하여 시행
-         경계값을 기준으로 경계값내의것, 경계값, 경계값 밖의 것으로 시험사례 선정
                    iii.              원인-결과 그래프 기법
-         입력데이터간의 관계가 출력에 영향을 미치는 상황을 체계적으로 분석하여 효율성 높은 시험사계를 발견 하고자 하는 기법
-         인과관계 그래프를 이용하여, 명세서의 불완전성 및 애매모호함을 추출
                    iv.              결함예측 기법
-         시험자의 감각과 경험으로 결함을 찾아보는 방식
 
2.      Whiter Box Test

정의

프로그램 내부 구조의 타당성 여부를 시험하는 방식, 내부구조를 해석해서 프로그램의 모든 처리루틴에 대해 시험하는 방식, 가끔 발생하는 조건도 고려해서 처리 루틴을 검증하기 위한 시험 데이터를 작성하여 시험을 실시할 필요가 있다.
 
시험영역
-         문자영역 : 각 원시코드 라인이 한번이라도 수행되도록 설계
-         물리적 경로영역 : 프로그램의 모든 경로가 한번이라도 수행되도록 설계
-         논리적 경로영역 : 물리적 경로의 순서가 결과에 영향을 미친다는 가정하에 논리적경로들이 수행되도록 설계
 
화이트 박스 테스트 조건
-         프로그램 내의 소스들은 적어도 한 번은 수행
-         프로그램내의 모든 결정(Decision)이 각각 True, False 값을 적어도 한번은 가져야 한다.
-         결정내의 모든 조건들은 각각 True, False 값을 적어도 한 번은 가져야 한다.
-         프로그램내의 모든 수행 가능한 경로는 모두 수행되어야 한다.
 
화이트 박스 테스트의 종류
                       i.              구조시험
-         프로그램의 논리적 복잡도를 측정 후 이 척도에 따라 수행시킬 기본 경로들의 집합 정리
                      ii.              루프(Loop) 시험기법
-         프로그램의 루프구조에 국한해서 실시하는 시험기법
-         단순한 루프, 중첩 루프, 연결 루프, 비구조적 루프