동적테스트
직접 실행 시켜보면서 SW가 예상대로 작용하는지의 여부를 판정하는 테스트 방법으로 블랙박스테스트와 화이트박스테스트로 나뉨
1.블랙박스테스트기법(내면을 알수 없는 상태에서 기능/성능 테스트, 부정확하거나빠진결함, 인터페이스결함,성능결함, 자료구조상 결함발견):동등분할(입력도메인 범위입력조건,특수값제한조건,집합소속여부조건,논리조건등에 근거하여 동치 클래스로 분할하고 한 클래스내 데이터에서 에러가 발생하면 동치클래스 안 다른 데이터에서도 같은 에러가 발생하게 될것이라는 가정하에 각 클래스마다 대표 테스트케이스를 선정하여 테스트 수행기법), 경계값분석(경계값에러발생빈도가 높다는 사실 착안하여 에러검출가능성 높이는 기법), 오류예측기법(입력환경의 복합성을 완전하게 고려하지 못하는 단점을 보완해주는 기법), 원인-결과그래프기법(입력데이터간 관계가 출력에 미치는 영향을 그래프로 표현하여 오류발견하도록 테스트), 제어흐름기법(명세등의 요구사항문서로부터 동적 제어흐름그래프모델을 생성하고 테스트경로를 선택하여 선택경로를 순회하는 입력값을선정), CRUD테스팅(프로세스와 데이터연관관계분석의 CRUD매트릭스에따른 테스트케이스산정),결정테이블테스팅(요구되는 결정이나 조건과 프로세스관련 모든 동작을 기술하고 결정과 조건 조합에 따라 발생하는 동작을 표시하는 결정테이블작성을 통해 구현이나 명세에 잠재 오류찾는데 효과적 기법,테이블분석통해 중복,모순상황배재후 결정과 액션 조함으로 테스트케이스산정),ExceptionTesting(에러메시지와 예외상황, 결과촉발 조건을 식별하고 에러사항에 대한 테스트케이스 선정),상태전이테스트(시스템상태나 모드, 상태간천이, 천이 일으키는 결과적 행위들을 테스트케이스로 선정),Positive&NegativeTest(대상SW가 잘못됐음과 올바른작동을 밝혀내기 위한 테스트수행기법),RandomTesting(모든 가능입력값을 부분집합을 선택하여 프로그램.시스템 테스트),RegressionTesting(수정프로그램이 명세를 만족하는지/에러발생인지를 결정),ThreadTesting(실시간 및 객체지향 시스템에서 시스템전체 경유토록 만들어진 일련 처리단계들과 연과 동작 테스트 기법),Prototype테스트(prototype을 통해 SW개발 생명주기 각단계 반복적 프로토타입을 검토/수정하며 SW전체 테스트)
2.화이트박스테스트기법(프로그램상 허용되는 논리경로파악, 경로복잡성계산테스트, 구조적테스트라고도 하며 구현내부구조를 보고 테스트 데이터 선정):BasisPathTest(프로그램흐름이나 논리적 경로에 기반하여 테스트케이스식별,반복허용없는 유일한 경로),BranchCoverageTest(최소한 한번은 참이나 거짓결과를 가지는 모든결정,분기문을 테스트하는 케이스선정),ConditionCoverageTesting(분기문내 각 컨디션보장을 위한 테스트케이스생성),DataFlowTesting(프로그램내 변수값 할당받은 지점이나 사용지점에따라 프로그램 테스트경로선택),LoopTesting(루프시작 끝에 버그가 많다는 경험기반),MutataionTesting(오류를 인위적으로 추가하여 만든 프로그램을 통해 원본프로그램과 차별화 하는 테스트데이터 선정), SandwichTesting(프로그램내 트리의 루트모듈에서 시작하여 피호출된 모듈순으로 테스트수행하는 탑다운방식과 단말에서 호출모듈순으로 테스트 수행하는 bottom-up방식을 동시에 사용테스트),StatementCoverageTesting(프로그램내 모든 Statement나 LOC보장위한 테스트케이스생성기법)
'T-prj > 1.SW공학' 카테고리의 다른 글
[소공49]성능테스트 (0) | 2012.08.13 |
---|---|
[소공47]비기능적테스트 (0) | 2012.08.13 |
[소공46]탐색적테스팅 (0) | 2012.08.13 |
Recent Comment