728x90
반응형
SMALL
검사
소프트웨어 품질 보증 활동의 하나로, 소프트웨어에 대한 요구사항의 만족도 및 예상 결과와 실제 결과의 차이점을 여러 방법을 사용하여 검사하고, 평가하는 일련으; 과정을 의미한다.
- 소프트웨어 품질을 평가하는 작업이며, 분석이나 설계, 코딩 결과를 최종적으로 점검하는 과정이다.
- 오류를 발견하기 위해 프로그램이나 시스템을 수행하는 과정이다.
- 검사의 목적은 소프트웨어를 구성하는 요소들이 잘 조화를 이루며 정상적으로 동작하고 성능이 요구에 맞다는 것을 보장하기 위해서이다.
검사의 목적을 달성하기 위한 규칙
Glen Myers은 검사의 목적을 달성하기 위해 다음과 같은 규칙을 제시하였다.
- 오류를 찾기 위해 프로그램을 실행시키는 절차를 검사하고한다.
- 오류 발견 확률을 높이기 위해 휼륭한 검사 사례(test case)를 활용한다.
- 성공적인 검사는 아직 발견되지 않은 오류를 찾아내는 것이다.
검사사례 : 검사 자료나 실행될 조건을 의미하는 것으로, 소프트웨어 오류를 찾아낼 수 있는 가능성이 가장 높은 테스트를 얻어내는 것이다.
검사 기법
최소한의 시간과 노력으로 대부분의 오류를 찾아내기 위해 검사 사례를 설계하는 방법
- 검사 사례를 설계하는 검사 기법에는 화이트 박스 테스트와 블랙박스 테스트가 있다.
검사 사례 설계의 고려사항
- 모듈 내의 모든 독립적인 경로가 적어도 한 번은 수행되어야 한다.
- 가능한 한 복잡한 논리는 배제 시킨다.
- 임의 조건을 만족시켜야 한다.
- 내부 자료 구조를 사용하여 테스트를 수행한다.
화이트 박스 테스트
모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 검사하여 검사 사례를 설계하는 방법
- 설계된 절차에 초점을 둔 구조적 테스트로 프로시저 설계의 제어 구조를 사용하여 검사 사례를 설계하며, 테스트 과정의 초기에 적용된다.
- 모듈 안의 작동을 직접 관찰한다.
- 원시 코드의 모든 문장을 한 번 이상 수행함으로써 수행된다.
- 프로그램의 제어 구조에 따라 선택, 반복 등의 분기점 부분을 수행함으로써 논리적 경로를 제어한다.
- 각 조건에서 참과 거짓의 모든 논리적 결정이 적어도 한 번 이상 실행된다.
- 화이트 박스 테스트 기법에는 기초 경로 검사, 제어 구조 검사(조건 검사, 루프 검사, 데이터 흐름 검사)등이 있다.
기초 경로 검사
- 기초 경로 검사는 Tom McCabe가 제안한 것으로, 대표적으로 화이트 박스 테스트 기법이다.
- 검사 사례 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주고, 이 측정 결과는 실행 경로의 기초를 정의하는데 지침으로 사용된다.
기초 경로 검사 절차
- 설계나 원시 코드를 기초로 해서 흐름도를 작성한다.
- 흐름도의 논리적 복잡도를 측정한다.
- 독립 경로들의 기초 집합을 결정한다.
- 기초 집합의 각 경로를 실행시키는 검사 사례를 선정한다.
제어 흐름도
제어흐름을 표현하기 위해 사용되는 그래프로 프로그램 그래프, 흐름 그래프라고 한다.
제어 흐름도는 각 제어마다 다음과 같은 기호를 사용하여 표기한다.
노드(원) | 정차적 명령문을 나타낸다. |
화살표 | 제어의 흐름을 나타낸다. |
영여 | 화살표와 노드로 둘러싸인 구역으로, 외부 구역도 하나으 영역으로 포함한다. |
순환 복잡도
- 순환 복잡도를 이용하여 계산된 값은 프로그램의 독립적인 경로의 수를 정의하고, 모든 경로가 한 번 이상 수행되었음을 보장하기 위해 행해지는 테스트 횟수의 상한선을 제공 한다.
- 제어 흐름도 G에서 순환복잡도V(G)는 다음과 같은 방법으로 계산 할 수 있다.
순환 복잡도는 제어 흐름도의 영역 수와 일치하므로, 영역 수를 계산한다.
V(G) = E - N +2 -> E 는 화살표 수, N은 노드 수
제어 구조 검사
조건 검사 | 프로그램 모듈 내에 있는 논리적 조건을 검사하는 검사 사례 설계 기법이다. 프로그램에 있는 각 조건을 검사하는데 초점을 맞추는 방법으로 조건 검사 범위의 측정이 간단하다 |
루프 검사 | 프로그램의 반복 구조에 초점을 맞춰 실시하는 검사 사례 설계 기법이다. - 로프검사는 단순 루프, 중첩 루프, 연결 루프, 비구조적 루프의 네 가지를 사용하여 정의할 수 있다. |
데이터 흐름 검사 | 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞춰 실시하는 검사 사례 설계 기법이다. |
블랙박스 테스트
소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는것을 입증하는 검사로서 기능검사라고도 한다.
- 부정확하거나 누락된 기능, 인터페이스 오류, 자료 구조나 외부 데이터베이스 접근에 따른 오류, 행위나 성능 오류, 초기화와 종료 오류 등을 발견하기 위해 사용되며 테스트 과정의 후반부에 적용된다.
- 소프트웨어 산물의 각 기능별로 적절한 정보 영역(입, 출력)을 정하여 적합한 입력에 대한 출력과 정확성을 검토한다.
- 블랙 박스 테스트의 종류에는 동치 분할 검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측검사, 비교 검사 등이 있다.
동치분할 검사
- 동치 분할 검사는 입력 자료에 초점을 맞춰 검사 사례를 만들고 검사하는 방법으로 동등 분할 기법이라고도 한다.
- 프로그램의 입력조건에 타당한 입력 자료와 타당하지 않은 입력 자료의 개수를 균등하게 하여, 검사 사례를 정하고, 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 방법이다.
경계값 분석
- 경계값 분석은 입력 자료에만 치중한 동치 분할 기법을 보완하기 위한 기법이다.
- 입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용하여 입력 조건의 경계값을 검사 사례로 선정하여 검사한다.
원인-효과 그래프 검사
- 원인-효과 그래프 검사는 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석하여 효용성 높은 검사 사례를 선정하여 검사하는 기법이다.
- 프로그램의 외부 명세에 의한 입력 조건과 입력으로부터 발생되는 출력을 논리적으로 연결시킨 그래프로 표현하여 검사한다.
오류 예측 검사
- 오류 예측검사는 과거의 경험이나 확인자의 감각으로 검사하는 기법이다.
- 다른 블랙 박스 테스트 기법으로 찾아낼 수 없는 오류를 찾아내는 일련의 보충적 검사 기법이며, 데이터 확인 검사하고도 한다.
비교검사
여러 버전의 프로그램에 동일한 검사 자료를 제공하여 동일한 결과가 출력되는지 검사하는 기법이다.
728x90
반응형
LIST
'전공공부 > 소프트웨어공학' 카테고리의 다른 글
소프트웨어 위험 관리 (0) | 2021.11.16 |
---|---|
소프트웨어 품질 보증 (0) | 2021.11.15 |
형상 관리 (0) | 2021.11.09 |
구현 단계 (0) | 2021.11.09 |
객체지향 구현 (0) | 2021.11.08 |
댓글