Microsoft PowerPoint - 14_Testing(2010).ppt [호환 모드]

Similar documents
Microsoft PowerPoint 테스트.ppt

Software testing

Software Engineering

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

PowerPoint 프레젠테이션

<4D F736F F F696E74202D205B37C0E55D20B0CBC1F520B9D720C8AEC0CE2E BC8A3C8AF20B8F0B5E55D>

PowerPoint Template

Chapter 4. LISTS

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

<C6F7C6AEB6F5B1B3C0E72E687770>

윈도우즈프로그래밍(1)

Infinity(∞) Strategy

Visual Basic 반복문

Microsoft PowerPoint - e pptx

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

<4D F736F F F696E74202D20C7F6B4EBB8F0BAF1BDBA202D20BCBCB9CCB3AA20BCD2C7C1C6AEBFFEBEEE20C5D7BDBAC6AE C0AFC1D

Java ...

Microsoft PowerPoint - 08_DesignPrinciple(2010).ppt [호환 모드]

JAVA PROGRAMMING 실습 08.다형성

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

chap 5: Trees

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Microsoft PowerPoint - polling.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Ver 1.0 마감하루전 Category Partitioning Testing Tool Project Team T1 Date Team Information 김강욱 김진욱 김동권

슬라이드 1

Microsoft PowerPoint - chap05-제어문.pptx

<B1D4B0DDBCAD202D20C4DAB5E520B1E2B9DD2E687770>

자연언어처리

Introduction to CTIP

슬라이드 1

RVC Robot Vaccum Cleaner

BY-FDP-4-70.hwp

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

Microsoft PowerPoint - 30.ppt [호환 모드]

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

JUNIT 실습및발표

PowerPoint 프레젠테이션

Spring Boot/JDBC JdbcTemplate/CRUD 예제

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

PowerPoint 프레젠테이션

Java Programing Environment

Frama-C/JESSIS 사용법 소개

PowerPoint Presentation

歯처리.PDF

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

Microsoft Word - FunctionCall

슬라이드 1

Microsoft PowerPoint - VHDL08.ppt [호환 모드]

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

5장 SQL 언어 Part II

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Ver. T3_DWS.UTP-1.0 Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date Team Infor

Microsoft PowerPoint - [2009] 02.pptx

11장 포인터

Microsoft PowerPoint - Java7.pptx

ISP and CodeVisionAVR C Compiler.hwp

슬라이드 제목 없음

중간고사

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

텀블러514

Chapter #01 Subject

untitled

OCW_C언어 기초

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Ver. 4.0 OOPT Stage 1000 <Plan and Elaboration> Version 4.0 Project Team T7 Team Date Team Information 오세욱 임현유

untitled

서강대학교공과대학컴퓨터공학과 (1/5) CSE3081 (2 반 ): 알고리즘설계와분석 < 프로그래밍숙제 2> (v_1.0) 담당교수 : 임인성 2015 년 10 월 13 일 마감 : 10 월 31 일토요일오후 8 시정각 제출물, 제출방법, LATE 처리방법등 : 조교가

IBM Mobile Quality Assurance 소개

Buy one get one with discount promotional strategy

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

Chapter_06

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

쉽게 풀어쓴 C 프로그래밊

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

본 강의에 들어가기 전

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

MySQL-.. 1

Microsoft PowerPoint - 6.pptx

(SW3704) Gingerbread Source Build & Working Guide

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

JVM 메모리구조

Chap 6: Graphs

PowerPoint Presentation

17장 클래스와 메소드

13주-14주proc.PDF

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

금오공대 컴퓨터공학전공 강의자료

USER GUIDE

MF Driver Installation Guide

ez-shv manual

Transcription:

LECTURE 14 테스트 모든코드가실행될때까지코딩작업이완료된것은아니다. - Pragmatic Programmer 테스트는조기에, 자주, 자동화하는것이좋다. - Pragmatic Programmer 최은만, CSE 4039 소프트웨어공학

Outline 테스트작업의원리와목표 테스트의단계와테스트의종류 블랙박스테스트 화이트박스테스트 통합테스트, 인수테스트 테스트자동화도구 최은만, CSE 4039 소프트웨어공학

소 개 테스트 테스트에필요한시간과노력 ---> 매우크다 그러나테스트는대부분초보자나개인의역량에맡기는경우가많음 정의 시스템이정해진요구를만족하는지, 예상과실제결과가어떤차이를보이는지수동또는자동방법을동원하여검사하고평가하는일련의과정 [IEEE, 1993] 숨어있는결함을찾기위해소프트웨어를작동시키는일련의행위와절차 ---> 결함이없음을증명하는것이아니고결함이존재함을보여주는작업 테스트 --> 분석, 설계도중에일어나는검증, 검토등품질보증을위한모든행위 최은만, CSE 4039 소프트웨어공학 3

테스트와개발단계 (V 모형 ) 테스트단계와소프트웨어개발단계의관계 개발단계 테스트단계 범위와목표 인수테스트 요구분석 구조설계 시스템테스트 통합테스트 리그레션테스트 프로그램설계 단위테스트 코딩 최은만, CSE 4039 소프트웨어공학 4

소프트웨어심리 프로그래머의심리 자신의프로그램이맞다고생각, 그러나프로그램은테스트에의하여확임됨 프로그램안의오류를인신공격, 또는개인평가로해석하여테스트를기피 egoless programming, democratic programming 심리적불안 테스트는파괴적인과정 (destructive process) 으로생각 이를극복하기위하여테스트하기전에예상결과를준비 independent d test, t test t automation ti 최은만, CSE 4039 소프트웨어공학 5

테스트이슈 소프트웨어신뢰도요구의증가 오류의방지 개발단계에서의오류유입방지 테스트케이스설계기술 모듈화설계가테스트에드는노력을줄임 개발전단계에서의 Verification and Validation 노력 대부분의오류는설계단계에서의정보관리부재에기인 설계오류가제일많음 오류수정에드는비용 테스트는전개발단계에서이루어져야함 리그레션테스트의비용이매우큼 테스트환경을다시구축하는데드는비용 소프트웨어테스트에대한이론적기초 소프트웨어오류의성질을이해 최은만, CSE 4039 소프트웨어공학 6

테스트의유형 Validation Are we building the right product? Verification Are we building the product right? 인증 (Certification) A written guarantee 정적분석 (Static ti Analysis) 동적분석 (Dynamic Analysis) 단계별 단위테스트 (unit test) 통합테스트 (integration test) 인수테스트 (acceptance test) 최은만, CSE 4039 소프트웨어공학 7

테스트의유형 시험방법 화이트박스테스트 블랙박스테스트 기능시험 성능시험 스트레스시험 Benchmark 시험 Field 시험 리그레션테스트 품질보증 최은만, CSE 4039 소프트웨어공학 8

테스트의원리 테스트의단계 1) 테스트에의하여무엇을점검할것인지정한다. < 예 > 테스트의목표 - 기능의완벽성, 신뢰도 2) 테스트방법을결정한다. < 예 > 검사, 증명, 블랙박스테스트, 화이트박스테스트, 자동화도구 3) 테스트케이스를개발한다. - 테스트자료, 시행조건 4) 테스트의예상되는올바른결과를작성한다. - 테스트오라클 (test oracle) 5) 테스트케이스로실행시킨다. - 테스트하니스 (test harness) 가필요 최은만, CSE 4039 소프트웨어공학 9

테스트에대한올바른이해 테스트는오류를발견하려고프로그램을수행시키는것 따라서테스트에의하여오류가발견되지않았다고하여프로그램에오류가없는것은아님 완벽한테스트는불가능하다. 테스트는창조적인일이며힘든일이다. 테스트는오류의유입을방지할수있다. 테스트는구현에관계없는독립된팀에의하여수행되어야함 최은만, CSE 4039 소프트웨어공학 10

오류패턴 테스트는시스템의오류패턴과매우밀접한관련 모듈에오류가너무많다면오류없는모듈이될수있도록테스트하여고치는것은한계 최은만, CSE 4039 소프트웨어공학 11

화이트박스테스트 모듈안의작동을자세히관찰하는시험 구조적시험 검증기준 (test coverage) 1) statement coverage 원시코드의모든문장을한번이상수행 2) decision coverage 선택구조조건의모든경우가적어도한번씩테스트 3) loop coverage 루프구조를완벽히테스트 1 반복조건을만족하지못하여루프를수행시키지못한경우 2 루프안의내용을한번만수행 3 한번이상수행 최은만, CSE 4039 소프트웨어공학 12

화이트박스테스트 화이트박스테스트순서 1) 논리흐름도에의한표현 2) 테스트케이스생성 논리흐름도 모듈내의제어흐름을간선으로표시한그래프 세그멘트 ---> 정점 제어흐름 ---> 간선 세그멘트의발견 최은만, CSE 4039 소프트웨어공학 13

점수의평균을구하는모듈 procedure FindMean(var Mean: real; var ScoreFile: file of real); {Procedure which reads in a series of real values form a file, sums the values and computes their mean. The mean is computed by dividing the sum of the scores by the number of scores by the number of scores read in.} var Score, SumOfScores, NumberOfScores: real; if Score > 0.0 then begin SumOfScores := SumOfScores + Score; NumberOfScore := NumberOfScore + 1.0 end; end; begin {Initialize SumOfScores and NumberOfScores to zero} SumOfScores := 0.0; NumberOfScores := 0.0; {Read in and sum the scores and count the number of scores} while not eof(scorefile) do begin read(scorefile, Score); {Compute the mean and print the results.} if NumberOfScores >0.0then begin Mean := SumOfScores/NumberOfScores; writeln('the mean score is ', Mean) end else writeln('no scores were entered.') end; 최은만, CSE 4039 소프트웨어공학 14

N-S 도표 SumOfScore <- 0.0 NumberOfScores <- 0.0 1 Mean <- 0.0 read a Score while there are still Scores to be read in do 2 T Score > 0.0? 3 F SumOfScores<-SumOfScores+Score Score 4 5 NumberOfScore<-NumberOfScores+1 read a Score 6 T 7 NumberOfScores > 0.0 F Mean<-SumOfScores/ NumberOfScores write "No scores 8 were entered." write"themeanis", 9 Mean 최은만, CSE 4039 소프트웨어공학 15

논리흐름도 최은만, CSE 4039 소프트웨어공학 16

테스트케이스 검증기준에따라논리흐름도의경로를적어도한번씩방문하도록테스트케이스를추출 < 예 > 테스트케이스 score=89.0 <eof> score=53.41, -77.0 경로 a, b, d, h, c, i a, c a, b, d, h, b, e, h, c, j 최은만, CSE 4039 소프트웨어공학 17

화이트박스의실행 모듈이름 : 모듈번호 : 저작자 : 테스트담당자 : 선택 / 루프가능결과 1 2 3 4 5 6 7 8 skip while not of once >1 if Score > 0 T F if NumberOf T Score>0.0 F 케이스 # 값 예상되는결과 실행결과 1. 89.0<eof> Mean=89.0 2. <eof> 'No scores were entered' 3. 53.41-77.0<eof> Mean=53 53.41 4. 최은만, CSE 4039 소프트웨어공학 18

테스트기준 (Test Coverage) Random Test < 예 > Ax^2 + Bx + C = 0 A B C 4 5 1 5-7 2 1 2-3 Statement Test < 예 > 1 if (X>3 AND Y=2) then 1 2 Z=1; endif; 2 3 if (X=4 OR Z>3) then 3 5 Z=Z+1; endif; 4 5 Test path: 1, 2, 3, 4, 5 최은만, CSE 4039 소프트웨어공학 19

테스트기준 Branch Test 1, 2, 3, 4, 5 1, 3, 5 Path Test 1, 2, 3, 4, 5 1, 3, 5 1, 2, 3, 5 1, 3, 4, 5 Condition Test test all branches and all possible outcomes of multiple conditions (X=5, Y=2, Z=3) (X=4, Y=3, Z=3) (X=5, Y=3, Z=4) 최은만, CSE 4039 소프트웨어공학 20

사례 : 문장검증기준 문장검증기준 1-2-3-4-5-6-7 선택검증기준 1-2-3-4-5-6-7 1-2-3-5-6-1 경로검증기준 1-2-3-4-5-6-7 1-2-3-4-5-6-1 1 1-2-4-5-6-7 1-2-4-5-6-1 조건검증기준 if (x > 1 or y < 10) 최은만, CSE 4039 소프트웨어공학 21

블랙박스테스트 모듈이요구에맞게잘작동하는가에초점 기능테스트 모듈의외형 ( 입력, 출력 ) 모듈의기능위주의검사 동치분해 (equivalence partitioning) 입력조건을여러개의동치클래스로나눔 입력이일정한범위안의값을가져야한다면최소한세개의동치클래스가존재한다. 범위보다작은값, 범위내의값, 범위를넘어서는큰값. < 예 > 현금자동지급기의총지급액범위 :1000원-30만원 1 1000원에서 30만원사이의값 ( 정상 ) 2 1000 원미만의값 ( 비정상 ) 3 30만원보다큰값 ( 비정상 ) 최은만, CSE 4039 소프트웨어공학 22

동치분해 - 이산적집합에속하는값이어야정상입력이라면두가지동치클래스가존재한다. 정상입력에속하는값, 그외의값 < 예 > 학적관리시스템에서의재학상태 1 재학상태의정상적인값, 즉재학, 휴학, 졸업, 중퇴 2 그외의비정상적인값 m 식료품점전산화를위한모듈의블랙박스테스트입력 : 식료품이름, 무게 ( 온스 ; 1-48) < 예 > 품명, 1, 2, 3, 4 13. 오름차순의무게 ( 정상 ): 1, 2, 3 1. 영문자이름 ( 정상 ): AbcDef 2. 영문자가아닌이름 ( 비정상 ): A2X?/ 3. 길이가 2 미만의문자 ( 비정상 ): A 4. 2 이상 15 이하의문자 ( 정상 ): AbcDef 5. 길이가 15 보다큰문자열 ( 비정상 ): abcdefghijklmnopqr 6. 1 보다작은값 ( 비정상 ): -1 7. 1 과 48 사이의값 ( 정상 ): 24 8. 48 보다큰값 ( 비정상 ): 127 9. 정수 ( 정상 ): 24 10. 실수 ( 비정상 ): 5.3 또는 7 1/2 11. 숫자 ( 정상 ): 24 12. 숫자아님 ( 비정상 ): 5%,, 14. 오름차순이아닌무게 ( 비정상 ): 2, 1, 3 15. 무게가입력되지않음 ( 비정상 ) 16. 한개이상다섯개까지의무게 ( 정상 ): 1, 2, 3 17. 다섯개이상의무게값 ( 비정상 ): 1, 2, 3, 4, 5, 6 18. 품명이먼저입력 ( 정상 ): AbcDef, 1, 2, 3 19. 품명이먼저가아님 ( 비정상 ): 1, AbcDef, 2, 3 20. 하나의쉼표로입력의요소들을분리 ( 정상 ): AbcDef, 1, 2, 3 21. 쉼표로입력요소를분리하지않음 ( 비정상 ): XYZ 1, 2, 3 22. 입력이빈칸을포함하지않음 ( 정상 ): AbcDef, 1, 2, 3 23. 입력이빈칸을포함 ( 비정상 ): A bcdef, 1, 2, 3 최은만, CSE 4039 소프트웨어공학 23

Boundary Test 테스트케이스예상되는결과동치클래스 a. Xy, 1 b. AbcDefghijklmno, 1, 2, 3, 4, 48 c. A2x?, 1 d. A, 1 e. abcdefghijklmnop f. Xy, -1, 5 g. Xy, 0 h. Xy, 49 i.xy,2,1,3,4,5 j. Xy k.xy,1,2,3,4,5,6 l.1,xy,2,3,4,5 m.xy,1,2,3,4,5 정상정상비정상비정상비정상비정상비정상비정상비정상비정상비정상비정상비정상 1, 4(LB), 7(LB), 9, 11, 13, 16(LB), 18, 20, 22 1, 4(UB), 7(LB), 7(UB), 9, 11, 13, 16(UB), 18, 20, 23 2 3 5 6, 10, 12 7(BB) 8, 7(AB) 14 15 17 19 21 최은만, CSE 4039 소프트웨어공학 24

통합테스트 (Integration Test) 통합테스트의목적 1) 시스템을구성하는모듈의인터페이스와결합을테스트 2) 시스템전체의기능과성능을테스트 통합순서에따라 1) 동시식 (big-bang) 2) 하향식 (top-down) 3) 상향식 (bottom-up) 4) 연쇄식 (threads) 통합시필요한소프트웨어 테스트하니스 : 부분적인테스트를위하여코드에삽입하는프로그램 --> 추후삭제됨 스텁 (stub): 시험대상모듈이호출하는모듈대신에만들어진모의서브루틴 드라이버 (driver): 시험대상모듈을호출하는모의모듈 최은만, CSE 4039 소프트웨어공학 25

동시식통합 (Big Bang) 모든모듈을한꺼번에통합하여테스트 단위테스트에많은시간이필요 시스템의중요부분과부수적인부분을구별하지않음 일정계획에융통성이없음 오류가있을경우어떤모듈이변경되어야하는지파악하기어려움 최은만, CSE 4039 소프트웨어공학 26

하향식통합 (Top-Down) 시스템구조도의위에있는모듈부터아래층의모듈로내려오면서통합 점증적통합이므로하드웨어의사용이분산되고오류의원인을찾아내기쉬움 상위층의중요한모듈을먼저시험 ---> 시스템의골격을조기에테스트함 스텁의사용으로시스템의모양을사용자에게조기에보여줄수있음 프로그래머가시스템의작동에대한확신을유지시킬수있음 최은만, CSE 4039 소프트웨어공학 27

상향식통합 (Bottom-Up) 최하위모듈을먼저시험 드라이버가필요 오류발견이쉽고하드웨어의사용을분산 하위층의모듈을상위층보다더많이시험 테스트의초기에뼈대가갖추어지지않음 최은만, CSE 4039 소프트웨어공학 28

연쇄식통합 (Threads) 최선의통합방법 어느정도의기본기능을수행하는모듈 (thread) 로부터통합 시스템의중요한기능을담당하는모듈부터통합 초기에시스템을골격을보여주고사용자의의견을받아수정가능 최은만, CSE 4039 소프트웨어공학 29

사례 : 색인제작시스템통합 최은만, CSE 4039 소프트웨어공학 30

기능테스트 (Functional Test) 시스템 Rental-Out Modules 테스트케이스 #: 테스트시행자 일시 : 호출또는리턴되는 입력, 사용자반응 예상되는자료 예상되는출력 테스트결과 모듈이름 구조의변화 Handle Costume Rental 사용자 "Rental ( 없음 ) Rental 메뉴화면 Costume out" 선택 출력 Rental Out 사용자 "Non-fee ( 없음 ) Fee/NoFee 메뉴 Rental" 선택 화면출력 Get No Fee Rental 사용자입력 New Renter 레코드 사용자입력 Info 항목변경 : 자료가프린트 Renter Name: Renter Name <- J. M. Kim J. M. Kim Organization: Organization <- CS Department CS Dept. Campus Address: Campus Address <- WonHeung Hall WonHeung Hall S#: 415-74-8837 S# <- 415-74-8837 Date Out: 3/27/94 Date Out <- 3/27/94 Expected Date/n: Expected Date/n <- 4/2/94 4/2/94 Puller: M.Lee Puller <- M. Lee Rental Out ( 없음 ) ( 없음 ) 최은만, CSE 4039 소프트웨어공학 31

인수테스트 목적 시스템이사용할수있도록모든준비가되어있는지를보이는것 사용할모든준비가되었다는것을확인시켜주는작업 테스트방법은사용자가선택 인수테스트방법의대부분은통합테스트와같음. 다른점은사용자환경에서한다는것 베타테스트 고객의사용환경에서시험 개발자없이사용환경에소프트웨어를설치하여시험 최은만, CSE 4039 소프트웨어공학 32

테스트자동화도구 코드분석도구 정적분석도구 코드분석도구 : 원시코드의문법적적합성을자동으로평가하여잘못된문장을표기 구조검사도구 : 원시코드의그래프를생성하여논리흐름을보여주고구조적인결함이있는지체크 데이터분석도구 : 원시코드에정의된데이터구조, 데이터선언, 컴포넌트인터페이스를검사. 잘못된링크나데이터정의의충돌, 잘못된데이터의사용등을발견 순서검사도구 : 이벤트의순서체크. 잘못된순서로코딩되어있다면이벤트를지적 동적분석도구 프로그램이수행되는동안이벤트의상태를파악하기위하여특정한변수나조건의스냅샷 (snapshot) 을생성 최은만, CSE 4039 소프트웨어공학 33

테스트케이스생성도구 자료흐름도 원시프로그램을입력받아파싱한후자료흐름도를작성 define-use 관계 찾으려는변수에영향을주는요소들을모아테스트경로를구동시키는입력값들을찾아낸다. 기능테스트 주어진기능을구동시키는모든가능한상태를파악하여이에대한입력을작성 입력도메인분석 원시코드의내부를참조하지않고 입력변수가가질수있는값의도메인분석 랜덤테스트 입력값을무작위로추출 시스템의신뢰성분석에사용 최은만, CSE 4039 소프트웨어공학 34

테스트실행도구 캡쳐및리플레이 테스트계획에표시된테스트데이터를자동으로입력하고실행과정에발생하는화면이나인쇄되는결과를캡쳐 예상되는결과와비교 예상되는결과와차이를보일경우테스트프로그래머에게보고 오류를발견하고수정한후고치는작업이바르게되었는지확인하는데유용 자동적으로스텁과드라이버를생성하는도구 자동테스트환경 테스트수행도구들이테스트환경으로통합되어제공 최은만, CSE 4039 소프트웨어공학 35