글
1. 구조기반 기법(Structure based techniques = White Box) 개요
- 소프트웨어가 어떻게 구성되었는가에 대한 정보. 즉, 코드와 디자인의 테스트케이스를 유도하는데 사용.
2. 구조기반 테스트 기법 종류 및 제어흐름 테스트 기법
가. 구조기반 테스트 기법 종류
컴포넌트 레벨 (단위레벨) |
. 개별적으로 테스트 가능한 소프트웨어(모듈, 프로그램, 객체, 클래스 등)안의 결함을 찾고 기능을 검증, 시스템의 나머지 부분과 고립되어 실행 . 스텁, 드라이버, 시뮬레이터가 사용 될 수 있음 . 구문, 결정, 분기문 테스트 |
통합레벨 |
. 컴포넌트 사이의 인터페이스, 운영 시스템, 파일 시스템, 하드웨어나 시스템 사이의 인터페이스의 상호작용을 테스트 . 모듈 간의 호출관계(Call Tree) 테스트 |
시스템 레벨 |
. 요구사항 명세, 비즈니스 프로세스, 유즈케이스, 시스템 행위의 상위레벨의 묘사, 운영시스템과의 상호작용, 시스템 자원이나 위험 기반 테스트 포함 . 테스터들은 불완전하거나 문서화 되지 않은 요구사항도 다루어야 함 . 메뉴, 비즈니스 프로세스, 웹 페이지 구조 테스트 |
나.제어흐름 테스트 기법
구문 |
테스트 스위트(테스트 케이스 묶음)에 실행된 구문이 몇 퍼센트인지를 측정 커버리지 달성이 쉬운 반면 보장성이 낮은 커버리지 |
결정(DC) |
결정포인트 내의 전체 조건식이 최소한 참/거짓 한번의 값을 갖도록 측정 개별 조건식과 관계없이 테스트 케이스는 2개(T/F) |
조건(CC) |
전체 조건식의 결과와 관계없이 각 개별 조건식이 참/거짓 한번 모두 갖도 록개별조건식을조합 |
조건/결정(C/DC) |
전체 조건식 참/거짓 한번씩 하면서 개별 조건식 참/거짓 모두 한번씩 갖도 록조합 |
변경조건/결정 (MC/DC) |
각 개별 조건식이 다른 개별 조건식에 무관하게 전체 조건식의 결과에 무관 하게 영향 |
다중조건(MCC) |
결정포인트 내의 모든 개별 조건식의 모든 가능한 논리적 조합 100% 보장 |
3.구조기반 테스트기법과 명세기반 테스트 기법 차이점
중심 |
. 개발자 및 논리 중심 |
. 사용자 및 기능 중심 |
분류 |
. 화이트 박스 테스트 |
. 블랙박스 테스트 |
기법 |
. 제어흐름 및 Loop 테스트 |
. 동등분할, 경계값, 오류예측 등 |
특징 |
. 커버리지 계산이 중요 . 모든 부분을 테스트할 수 있는 커버리지 분석 |
. 입력 파라메터 간의 논리적 규칙을 통한 파라메터 간의 상태파악 (결정테이블, 도메인 테스트) |
===================================================
1.경로검증 테스트 whitebox test검증기준 개요
가.화이트박스 테스트의 정의
-프로그램 로직 테스트. 모든 경로에 대하여 테스트를 수행하였는지 경로를 확인
나.검증 목표
-모들의 기능을 모두 테스트하여 모듈 오류를 최소화
2.화이트박스 테스트 예제 및 검증기준
문장검증 경로(sentence coverage) |
모든 문장이 한번씩 수행되도록 검증 하는기준 1-2-3-4-5-6-7 |
분기 검증 기준(branch coverage) |
경로에서 나타나는 모든 분기점 파악 예)1-2-3-4-5-6-7,1-2-4-5-6-1 |
경로 검증 기준(path coverage) |
모든 경로에 대해 테스트를 수행해야 한다 |
조건 검증 기준(condition coverage) |
if else,or 등 조건문 테스트 |
3.화이트 박스 테스트 검증 기준의 활용 및 현황
가. 소프트웨어 알고리즘이 복잡한 경우 모든 경로를 분석하여 테스트를 수행
나. 모듈에서 오류가 발생할 경우가 많은 대규모 시스템 및 위험이 높은 소프트웨어 적용
나. 모든 경로를 테스트 하는 경우 많은 비용/시간/인력이 필요함.
다. 전문 테스터 및 테스트 검증 자동화 툴을 활용하여 테스트 정확성과 생산성을 향상 “끝
======================================================================
문)구조기반 테스트
답)
1.구조기반테스트(화이트박스 테스트)의 개요
가.구조기반테스트의 정의
-개발자 입장에서 프로그램의 내부 논리적 구조및 복잡도 초점에 맞춰
수행하는 동적 테스트
나.구조기반테스트의 특징
-개발자입장:코드내부구조의 효율성,동적테스트(실행)
-Coverage 제공:오류발견,순환복잡도(테스트 수 상한성)제공
2.구조기반테스트 기법및 검증기준
가.구조기반테스트 기법
1)기초경로검사
-제어흐름도:제어흐름을 표현하기 위해 사용되는 그래프
-순환복잡도:논리적 복잡도 측정을 위한 SW척도,프로그램 독립 경로수 파악
2)제어구조검사
-Condition Testing:프로그램 모듈내 논리적 조건 검사|조건검사 범위 측정
-Loop Testing:반복구조에 초점,검사사례기법(단순,중첩,연결,비구조적 루프)|경계값오류
-Data Flow Testing:프로그램 변수의 정의와 사용 위치 초점|프로그램 사용변수
나.구조기반 테스트 검증기준
-문장검증기준:원시코드 각 라인 최소 한번이상 수행
-선택검증기준:경로에 나타나는 모든 분기점 파악,참/거짓 모두 테스트
-경로검증기준:수행가능한 모든경로 검사
-조건검증기준:if문장,while문장 안 모든 조건 검사
3.구조기반 테스트의 활용방안및 고려사항
가.테스트 설계:초기 고객 요구사항으로부터 설계 어려움
나.테스트 커버리지 측정:목표 커버리지 달성위한 케이스 도출
다.SW구현정보(코드,설계)기반:분석 장시간 소요우려
라.컴포넌트레벨(구문/결정/분기문테스트),통합레벨(모듈간 호출관계 테스트),
시스템레벨(메뉴,비즈니스프로세스,웹페이지 구조 테스트)
========================================================
75회 Whitebox test
84회 블랙박스테스트(Balckbox Test)와 화이트박스테스트(Whtiebox Test)를 비교 설명하시오
86회 Testcase
White Box/Black Box Test 설명
가.White Box Test
- program source code의 논리적인 구조를 cover하도록 test case를 설계하는 방법(구조 test)
- program 내부 구조에 존재하는 모든 경로를 실행
- 문 cover 범위(statement coverage) : program내의 모든 문장들을 한번 이상 실행하도록 요구하는 기준
- 결정 cover 범위(decision coverage) = 분기 cover 범위 : 각 결정의 참과 거짓을 적어도 한번 이상 실행시키는 것을 기준으로 하는 test 방법
- 조건 cover 범위(condition coverage) : 결정내에 존재하는 각 조건들의 참과 거짓을 한번 이상 실행하도록 test case를 작성
- 결정-조건 cover 범위(decision/condition coverage) : 결정내에 존재하는 조건들의 참과 거짓을 모두 cover하고 각 결정의 참과 거짓에 해당하는 모든 분기들이 모두 cover 될 수 있도록 충분히 test case를 만들어 나가는 방법
나.Black Box Test
-.원시 코드는 보이지 않고 목적코드를 실행시켜 테스트하는 입출력 위주의 방법
-.사용자 중심의 테스트 유형
테스트유형 |
내용 |
Example | |
동등분할기법 |
프로그램의 입력 도메인을 테스트 케이스가 산출될 수 있는 데이터의 클래스로 분류하는 방법 |
x값이 0 -100 사이 (X<0,(0<X<50),(50<X<100),(X>100) | |
경계값 분석기법 |
입력 조건의 중간값에서 보다 경계값에서 에러가 발생될 확률이 높다는 점을 이용하여 이를 실행하는 테스트 케이스르 만드는 방법 |
x값이 0-100 사이여야 한다면 시험사례를 (x=0),(x=100),(x=-0.01),(x=100.1) | |
원인결과 그래프 기법 |
program의 외부 명세에 의해 원인에 해당되는 입력 조건과 그 원인으로부터 발생되는 출력 결과를 논리적으로 연결시킨 graph로 표현 |
||
오류예측기법 |
각 시험 기법들이 놓치기 쉬운 오류들을 감각 및 경험으로 찾아보는 것 |
입력값 없이 Return 친다,문법에 어긋난 입력을 시헙한다. |
'정보관리기술사 > sw공학' 카테고리의 다른 글
감리절차 (0) | 2015.03.13 |
---|---|
visitor 패턴,observer 패턴 ,유지보수 (0) | 2015.03.13 |
정성적,정량적sw위험분석 (0) | 2015.03.13 |
FP (0) | 2015.03.13 |
mccabe 회전복잡도 (0) | 2015.03.13 |
RECENT COMMENT