응용 S/W 구현관리
화이트박스 테스트
- 설계된 절차에 초점을 맞춘 구조적 테스트,
프로시저 설계의 제어구조를 사용하여 검사사례를 설계 하며 테스트 과정 초기에 적용
- 각 조건에서의 참과 거짓의 모든 논리적 결정이 적어도 한 번 이상 수행됨
- 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검
- 모듈 안의 작동을 직접 관찰 가능
- 원시코드의 모든 문장을 한번 이상 수행함으로써 진행
- 제품의 내부 요소들이 명세서에 따라 수행되고 충분히 실행되는가를 보장하기 위한 검사
- 프로그램 원시코드의 논리적인 구조를 커버하도록 테스트케이스를 설계
종류 : 기초경로검사, 제어구조검사(조건검사, 루프검사, 데이터흐름검사) 등
기초경로검사
- McCabe가 제안한 것으로 대표적인 화이트박스 테스트기법
- 검사 사례 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주고
측정 결과는 실행경로의 기초를 정의하는데 지침으로 사용
순환복잡도
- 한 프로그램의 논리적 복잡도를 측정하기 위한 S/W척도로 제어흐름도 이론에 기반
- 공식 : 순환복잡도 V(G) = E-N+2(E-화살표, N-노드 수)
제어구조 검사기법
조건검사
: 프로그램의 모듈 내에 있는 논리적 조건을 검사하는 기법
: 각 조건을 검사하는데 초점을 맞춤, 검사 범위 측정이 간단
루프검사
: 프로그램 반복(Loop)구조에 초점을 맞춰 실시하는 기법
데이터 흐름검사(Data Flow Testing)
: 프로그램에서 변수의 정의와 변수 사용 위치에 초첨으 맞춰 실시하는 검사기법
블랙박스 테스트
- 소프트웨어가 수행할 특정 기능을 알기위해 각 기능이 완전히 작동되는것을 입증하는 검사
- 부정확하거나 누락된 기능, 인터페이스 오류, 자료구조, 외부데이터 베이스 접근에 따른 오류,
행위나 성능의 오류, 초기화와 종료 오류 등을 발견하기 위해 사용(테스트 후반부에 적용)
- 데이터 위주 또는 입출력 위주 검사
- 각 산출물의 기능별로 적절한 정보 영역을 정하여 적합한 입력에 대한 출력의 정확성 점검
종류 : 동치분할검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교검사 등
동치분할검사
- 입력자료에 초점을 맞춰 검사 사례를 만들고 검사하는 기법
- 프로그램의 입력조건에 타당한 입력 자료와 타당하지 않은 입력자료 개수를
균등하게 설정하여 검사사례를 정하고 해당 입력자료에 맞는 결과가 출력되는지 확인
경계값 분석
입력의 중간값보다 경계값에서 오류가 발생할 확률이 높다는 점을 이용
입력조건의 경계값을 검사사례로 선정하여 테스트
원인-결과 그래프
- 입력 데이터간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석하여 검사하는 기법
- 프로그램 외부 명세에 의한 입력조건과 입력으로부터 발생되는 출력을
논리적으로 연결시킨 그래프로 표현하여 검사
오류 예측 검사
다른 검사 기법으로 찾아낼 수 없는 오류를 찾아내는 보충적 검사 기법
과거의 경험, 확인자의 감각으로 테스트
비교검사
여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트
단계별 소프트웨어 검사
단위테스트
원시 프로그램 코드에 대한 분석 진행
코드가 효율적으로 작성됐는지 프로젝트 내에 합의된 코딩표준을 준수하고 있는지 검증
통합테스트
프로그램 구성하는 각각의 모듈들을 통합
통합된 컴포넌트 간의 인터페이스와 상호작용 상의 오류를 발견하는 작업 수행
개발자가 직접 시행
상향식 테스트
: 프로그램의 하위 모듈에서 상위모듈 방향으로 통합하면서 테스트 하는 기법
: 가장 하위 단계 모듈부터 통합 및 테스트가 수행 되므로 스텁은 필요하지 않음
: 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터가 필요
: 상위모듈의 역할을 하는 드라이버 필요
: 최하위 모듈들을 개별적으로 병행하여 테스트 할 수 있음(하위 모듈들 충분히 테스트 가능)
: 정밀한 계산이나 데이터 처리가 요구되는 시스템에 적합
하향식 통합 테스트
: 프로그램 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트 하는 기법
: 주요제어 모듈을 기준으로 하여 아래 단계로 이동하면서 통합
: 깊이 우선 통합과 넓이 우선 통합으로 나뉨
: 테스트 초기부터 사용자에게 시스템 구조를 보여줄 수 있음
: 주요 제어 모듈은 작성된 프로그램을 사용
: 주요 제어 모듈의 종속 모듈들은 스텁으로 대체
하향식 통합 테스트
상향식 통합 테스트
시스템 테스트
소프트웨어가 해당 컴퓨터 시스템에서 제대로 수행되는지 테스트하고
다른 시스템 요소들을 전체적으로 테스트
인수검사 = 검증검사 = 확인테스트
사용자의 요구사항을 만족시키는가에 중점
통합 검사 후 전체 내용이 하나의 S/W로 통합 후 요구사항 명세서 토대로 진행
개발한 소프트웨어를 사용자가 직접 테스트
종류
형상검사 : S/W구성요소, 목록, 유지보수를 지원하기 위해 필요한 모든사항이 제대로 표현하는지 검사
알파검사 : 제한된 환경에서 사용자가 개발자의 환경에서 프로그램 실행
베타검사 : 제한되지 않은 환경에서 사용자가 프로그램 실행 후 오류 발생 시 개발자에게 주기적 보고
문제 1
정답 : 블랙박스테스트
문제 2
정답 : ㄷ ,ㅂ