1. 도구개요 HttpUnit Testing 소개 주요기능 HTTP서버와자바프로그램을통해상호작용을할수있는오픈소스기반의자바라이브러리. HttpUnit 은자바프로그램에서브라우저없이직접서버에접근. HttpUnit 은 HTML서버들의상호작용에대한 API를제공하여 JUnit 또

Similar documents
1. 도구개요 STAF Testing 소개 각테스트대상분산환경에데몬을사용하여테스트대상프로그램을통해테스트를수행하고, 통합하며자동화하는 프레임워크 주요기능 테스트통합및자동화 카테고리 Testing 세부카테고리테스트설계및실행 커버리지 Test Integration / Aut

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

슬라이드 1

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

슬라이드 1

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

슬라이드 1

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

슬라이드 1

1. 도구개요 JUnit Testing 소개 JUnit 은 Java 기반테스팅을위한프레임워크로, 단위모듈 (ex: Method) 이정확히구현되었는지를확인할수있는도구 주요기능 Test case 생성및실행, 오류추적 카테고리 Testing 세부카테고리테스트설계및실행 커버리

1. 도구개요 TestLink Testing 소개 주요기능 TestLink 는웹을기반으로테스트를관리한다. 또한테스트명세서와계획, 리포팅, 요구사항트래킹기능을가지고있 으며버그트래킹시스템들과연동이가능하다. 요구사항트래킹기능제공, 다양한형식의보고서작성기능 카테고리 Testi

JDK이클립스

문서의 제목 나눔고딕B, 54pt

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

2. 기능요약 자바프로그래밍언어에서사용하는자동화된소프트웨어빌드도구 주요기능 IDE 통합및도구지원 원격코드 Build 자동화 지원여부 대부분의도구지원 (Eclipse, NetBeans 등 ) 지원 (FTP, SCP, SFTP, SVN) 자동화 Build 중 Unit Te

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

슬라이드 1

문서의 제목 나눔고딕B, 54pt

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

PowerPoint 프레젠테이션

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

PowerPoint 프레젠테이션

2. 기능요약 웹기반의서비스로써, 손쉬운일정관리및프로젝트관리를지원하는도구 주요기능일정관리그룹관리다중프로젝트관리체크리스트투표기능첨부파일 지원내용지원지원지원지원지원지원 1

PowerPoint Template

JUNIT 실습및발표

문서의 제목 나눔고딕B, 54pt

PowerPoint Presentation

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Install stm32cubemx and st-link utility

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

문서의 제목 나눔고딕B, 54pt

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

2. 기능요약 요구사항들을기록하고이들을 JUnit Test Case 와매치함으로써프로세스를단순화 주요기능단위테스트프로그래밍언어지원시스템테스트 GUI / Console 파라미터가있는메소드의테스트 TDD 지원여부지원 F#, C#, C++ 등닷넷환경지원모두지원 2.5버전이상

슬라이드 1

Microsoft PowerPoint - [JMeter]Manual.ppt

ISP and CodeVisionAVR C Compiler.hwp

Interstage5 SOAP서비스 설정 가이드

4S 1차년도 평가 발표자료

Facebook API

슬라이드 1

1. 도구개요 Implementation Eclipse CDT 소개 CDT(C/C++ Development Toolkit) 는 Eclipse plug-in 중하나로 C/C++ 개발을위한통합개발환경 (IDE : Integrated Development Environmen

Studuino소프트웨어 설치

슬라이드 1

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

SBR-100S User Manual

Microsoft Word - Armjtag_문서1.doc

JDBC 소개및설치 Database Laboratory

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

2. 기능요약 정해진규칙에따라소스코드를검사해주고이에대한결과를 report 하게함으로서코딩효율을높여주는도구 주요기능 지원내용 소스코드검사범위 프로젝트 대상언어 Java, JavaScript, XML, XSL, JSP 코드위배사항발견지원 ( 코딩스타일및사용되지않는코드 )

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

파워포인트

슬라이드 1

Microsoft Word - src.doc

문서의 제목 나눔명조R, 40pt

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

2. 기능요약 는 Java 의 Coverage 를측정하기위한도구 EclEmma 는 의기능을 Eclipse 에서사용할수있도록구현된 Plug-in 주요기능 지원내용 Code coverage 분석 지원 단위별 Coverage 분석 지원 Source highlighting 기

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

1. 도구개요 FitNesses Testing 소개 자동화된테스팅을위한프레임워크인 Fit (Framework for Integrated Tests) 을기반으로하여테스트를수행하고, Fit 의테이블구조를통한웹상에서테스트결과를관리하고보고 주요기능 컴파일된파일 (.Class)

NTD36HD Manual

JUnit & Eclipse

MaxstAR SDK 2.0 for Unity3D Manual Ver

B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

PowerPoint 프레젠테이션

슬라이드 1

게시판 스팸 실시간 차단 시스템

ICAS CADWorx SPLM License 평가판설치가이드

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

PowerPoint Template

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

Microsoft PowerPoint 세션.ppt

Chapter 1

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

JAVA 플랫폼 개발 환경 구축 및 활용

슬라이드 1

문서의 제목 나눔고딕B, 54pt

Javascript

PowerPoint 프레젠테이션

슬라이드 1

tut_modelsim(student).hwp

스마트월드캠퍼스 교육교제

BEA_WebLogic.hwp

Microsoft PowerPoint - jfeature장범석서재원박동현.pptm

1. 도구개요 Configuration & Version Management CVS 소개 버전컨트롤시스템으로소스코드나기타리소스의히스토리를쉽게관리할수있도록도와주는도구 주요기능 버전관리, 변경관리, 소스관리 카테고리 Configuration & Version Managem

PowerPoint 프레젠테이션

CODESYS 런타임 설치과정

쉽게 풀어쓴 C 프로그래밊

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

Angry MOMO Presentation

PowerPoint 프레젠테이션

chapter1,2.doc

gcloud storage 사용자가이드 1 / 17

PowerPoint Template

슬라이드 1

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Transcription:

1. 도구개요 소개 주요기능 HTTP서버와자바프로그램을통해상호작용을할수있는오픈소스기반의자바라이브러리. 은자바프로그램에서브라우저없이직접서버에접근. 은 HTML서버들의상호작용에대한 API를제공하여 JUnit 또는 Cactus 와함께사용하여테스트를작성. HTML 서버들의상호작용에대한 API 제공 카테고리 세부카테고리테스트설계및실행 커버리지단위테스트도구난이도중 라이선스형태 / 비용 MIT License / 무료사전설치도구 Eclipse, JDK 1.4 이상, 테스트케이스도구 (JUnit 혹은 Cactus) 운영체제 Windows, Linux, Mac OS X, UNIX 최신버전 1.7 (2010. 10) 특징 브라우저없이자바프로그램에서직접서버에접근 HTML 파싱, 폼전송, 하이퍼링크, 쿠키설정, 웹브라우저와연관된기능들을수행하는 API 제공 서블릿을다루기위한클래스라이브러리제공 단위테스트보다는통합테스트에유용 테스트케이스작성에관한도구로 JUnit( 또는 Cactus) 을사용 적용회사 / 프로젝트 - 관련도구 JUnit, Selenium, httpunit, JCoverage, CppUnit, Jdepend 제작사 Russell Gold, Wolfgang Fahl ( 개발자 ) 공식홈페이지 http://www.httpunit.org/ 1

2. 기능요약 HTTP 서버와자바프로그램을통해상호작용을할수있는오픈소스기반의자바라이브러리 주요기능 IDE내별도의편집기및 UI 제공정적웹페이지검사하이퍼링크테스트웹페이지 UI테스트정적웹페이지검사테스트자동화 지원여부 일부지원 : JUnit UI 제공 ( 라이브러리기반, 자바테스트코드작성 ) 지원 지원 지원 ( 테이블, 입력폼테스트 ) 지원 지원 ( 자체프로젝트, 시나리오의테스트케이스자동화 ) 1

3. 도구실행환경 Eclipse IDE 상에서설치및구현이가능 다양한 OS 를지원 Windows : Windows XP / Windows 7 (32, 64-bit 모두지원 ) Linux : 32, 64-bit 지원 Mac OS X : 32, 64-bit 지원 UNIX : 32, 64-bit 지원 JDK, 자바기반도구 (IDE 등 ) 및테스트케이스도구필요 플러그인 (IDE 필요 ) 형태도구및기본테스트케이스작성을위한테스트케이스도구필요 (Eclipse Plug-in 형태 ) 테스트케이스도구 (JUnit / Cactus) Eclipse IDE JDK (Java development kit) Windows / Linux / Mac OS / UNIX 1

4. 도구설치방법 세부목차 4.1 다운받기 4.2 디렉터리구조 4.3 Eclipse에 라이브러리등록하기 4.4 라이브러리의종류 1

4. 도구설치방법 4.1 다운받기 다음사이트에서 을다운 http://www.httpunit.org/ Download 1.7 을클릭하여다운로드 2

4. 도구설치방법 4.2 디렉토리구조 다운받은 파일의압축해제 doc : 에관한문서들 - tutorial : Servlet을기초로하여만들어진웹사이트에대한 test 튜토리얼 - api : Javadoc manual : 사용자매뉴얼 examples : 으로작성된몇개의예제프로그램들 jars : 실행, build, test에사용하는 jars 파일들 lib :.jar 파일 META-INF : 인증및교환프로토콜파일들 src : 소스코드 test : 에대한 unit test 3

4. 도구설치방법 4.3 Eclipse 에 라이브러리등록하기 (1/8) 은자바라이브러리이므로프로젝트를컴파일하기전에필요한 라이브러리를등록필요 eclipse 를실행한후, Project Build Path Library 를지정 자바프로젝트를생성 File New Java Project 4

4. 도구설치방법 4.3 Eclipse 에 라이브러리등록하기 (2/8) 프로젝트이름입력 Next 본예제에서는 Project name 을 test page 로지정 ❶ ❷ 5

4. 도구설치방법 4.3 Eclipse 에 라이브러리등록하기 (3/8) Libraries 탭선택 AddExternal JARs... 버튼클릭 ❶ ❷ 6

4. 도구설치방법 4.3 Eclipse 에 라이브러리등록하기 (4/8) 압축해제한 httpunit 폴더에서 jars 폴더로이동 라이브러리선택 열기 (O) 클릭 OK 클릭 ❶ ❷ 7

4. 도구설치방법 4.3 Eclipse 에 라이브러리등록하기 (5/8) 라이브러리가추가된것을확인 ❶ ❷ 8

4. 도구설치방법 4.3 Eclipse 에 라이브러리등록하기 (6/8) 다시한번 Add External JARs 버튼을클릭 9

4. 도구설치방법 4.3 Eclipse 에 라이브러리등록하기 (7/8) Lib 폴더로이동 httpunit.jar 선택 열기버튼클릭 ❶ ❷ 10

4. 도구설치방법 4.3 Eclipse 에 라이브러리등록하기 (8/8) 라이브러리가추가된것을확인 11

4. 도구설치방법 4.4 라이브러리의종류 에서제공하는라이브러리들의종류와기능 Jar 이름기능관련사이트 & 문서 Nekohtml.jar HTML 의파서 (xerces-j 2.2 이상요구 ) www.apache.org/~andyc/neko/doc/ht ml/index.html Jtidy.jar HTML 파서로 Jaxp Compliant 파서와함께사용 lempinen.net/sami/jtidy/ XmlParserAPIs.jar Xerces-j 에서일반적인파서의 API 들을제공받음 xml.apache.org xerceslmpl.jar Xerces-j 2.2 구현 xml.apache.org js.jar 자바스크립트를지원하는기능제공 www.mozila.org/rhino servlet.jar Servlet unit test 에대한기능제공 java.sun.org junit.jar unit test 에대한기능제공 www.junit.org mail.jar 파일업로드용량에관한테스팅기능제공 java.sun.com/products/javamail/ activation.jar 파일업로드용량에관한테스팅기능제공 java.sun.com/products/javabeans/glasg ow/jaf.html 12

5. 도구기능소개 세부목차 5.1 의주요기능 5.2 으로정적인웹페이지테스트 5.3 으로하이퍼링크테스트 5.4 으로웹페이지에있는테이블테스트 5.5 으로웹페이지에있는 Form 테스트 1

5. 도구기능소개 5.1 의주요기능 의기능은크게 4 가지로구별 정적인웹페이지가존재하는지테스트 웹페이지에있는하이퍼링크에대해서테스트 웹페이지에있는테이블에대해서테스트 웹페이지에있는여러종류의입력폼들을테스트 [ 정적인페이지인위키피디아메인화면 ] [ 많은하이퍼링크가존재하는웹페이지화면 ] 2

5. 도구기능소개 5.2 으로정적인웹페이지테스트 (1/6) 을이용하여정적인웹페이지의존재여부를테스트 에러가발생되지않는다면정적인웹페이지가존재하는것이며에러가발생된다면정적인웹페이지가존재하지않음 이기능을소개하기위해서위키피디아 (www.wikipedia.org) 의메인페이지가정적인웹페이지인지를검사 [ 위키피디아메인화면 ] 3

5. 도구기능소개 5.2 으로정적인웹페이지테스트 (2/6) test page 프로젝트에클래스파일을생성 test page 프로젝트선택후마우스우클릭 New Class 4

5. 도구기능소개 5.2 으로정적인웹페이지테스트 (3/6) Java Class 이름입력 ❶ ❷ 5

5. 도구기능소개 5.2 으로정적인웹페이지테스트 (4/6) Java Class 파일안에다음과같이입력하여 Test Case 를생성 테스트를원하는웹페이지의 URL 입력 6

5. 도구기능소개 5.2 으로정적인웹페이지테스트 (5/6) Run 아이콘 / 메뉴바의 Run Run 을선택하여 을실행 7

5. 도구기능소개 5.2 으로정적인웹페이지테스트 (6/6) 실행결과 테스트가성공되었다는의미로써녹색바를볼수있음. 이는정직인웹페이지가존재함을말함. 테스트가실패되었다는의미로써빨간색바를볼수있음. 이는정적인웹페이지가존재하지않음을말함. [ 정적인웹페이지가존재하는경우 ] [ 정적인웹페이지가존재하지않는경우 ] 8

5. 도구기능소개 5.3 으로하이퍼링크테스트 (1/5) 을이용하여웹페이지에있는하이퍼링크에대한테스트를수행 만약에러가발생되지않는다면웹페이지에있는하이퍼링크가정상적으로작동하는것이며에러가발생된다면정상적으로작동하지않는다는의미 이기능을소개하기위해서 홈페이지에있는 ServletUnit 링크의정상작동여부에대한테스트를수행 9

5. 도구기능소개 5.3 으로하이퍼링크테스트 (2/5) test page 프로젝트에클래스파일을생성 본예제에서는 Name 을 Test2 로설정 ❶ ❷ 10

5. 도구기능소개 5.3 으로하이퍼링크테스트 (3/5) 만들어진 Java Class 파일안에다음과같이입력하여 Test Case 를생성 테스트를원하는웹페이지의 URL 테스트를원하는웹페이지의링크이름 11

5. 도구기능소개 5.3 으로하이퍼링크테스트 (4/5) Run 아이콘 / 메뉴바의 Run Run 을선택하여 을실행 12

5. 도구기능소개 5.3 으로하이퍼링크테스트 (5/5) 실행결과 테스트가성공되었다는의미로써녹색바를볼수있음. 이는링크가존재한다는것을말함. 테스트가실패되었다는의미로써빨간색바를볼수있음. 이는링크가존재하지않는다는것을말함. [ 웹페이지에 ServletUnit 라는링크가존재하는경우 ] [ 웹페이지에 ServletUnit 라는링크가존재하지않는경우 ] 13

5. 도구기능소개 5.4 으로웹페이지에있는테이블테스트 (1/5) 을이용하여웹페이지에있는테이블에대한테스트를수행하는기능 만약에러가발생되지않는다면웹페이지에있는테이블이정상적으로작성되었다는것이며에러가발생된다면정상적으로작성되지않았다는의미 테스트할웹페이지화면이며이웹페이지에있는테이블의필드값에대해서테스트를수행 14

5. 도구기능소개 5.4 으로웹페이지에있는테이블테스트 (2/5) test page 프로젝트에클래스파일을생성 본예제에서는 Name 을 Test3 로설정 ❶ ❷ 15

5. 도구기능소개 5.4 으로웹페이지에있는테이블테스트 (3/5) 아래의화면은웹페이지에있는테이블을테스트하기위한 Test Case 작성화면이며다음과같은함수를이용하여테이블을테스트 assertequals([string Message], expected A, actual B) : expected A 와 actual B 가같은지검사 assertnull([string Message], java.lang.object object) : 인자로넘겨받은객체가 Null 여부검사 assertsame ([String Message], expected A, actual B) : expected A 와 actual B 가같은객체를참조하는지검사 assertture([string message], boolean condition) : boolean 조건이참인지검사 Fail([String message]) : 테스트를바로실패처리 테스트를원하는웹페이지의 URL 을입력 원하는테스트함수를작성 16

5. 도구기능소개 5.4 으로웹페이지에있는테이블테스트 (4/5) Run 아이콘 / 메뉴바의 Run Run 을선택하여 을실행 17

5. 도구기능소개 5.4 으로웹페이지에있는테이블테스트 (5/5) 실행결과 이부분이잘못작성되었기때문에테스트실패발생 [ 테이블에있는항목들이정확히작성되었을경우 ] [ 테이블에있는항목들이잘못작성되었을경우 ] 18

5. 도구기능소개 5.5 으로웹페이지에있는 From 테스트 (1/5) 을이용하여웹페이지에있는 Form 에대한테스트 만약에러가발생되지않는다면웹페이지에있는 Form 이정상적으로작성되었다는것이며에러가발생된다면정상적으로작성되지않았다는의미 아래화면은테스트할웹페이지화면과그화면의코드 [Form 의 HTML 코드 ] [ 웹페이지에있는 Form 화면 ] 19

5. 도구기능소개 5.5 으로웹페이지에있는 From 테스트 (2/5) test page 프로젝트에클래스파일을생성 본예제에서는 Name 을 Test4 로설정 ❶ ❷ 20

5. 도구기능소개 5.5 으로웹페이지에있는 From 테스트 (3/5) 아래의화면은웹페이지에있는 Form 을테스트하기위한 Test Case 작성화면 테스트를원하는웹페이지의 URL 을입력 원하는테스트함수를작성 21

5. 도구기능소개 5.5 으로웹페이지에있는 Form 테스트 (4/5) Run 아이콘 / 메뉴바의 Run Run 을선택하여 을실행 22

5. 도구기능소개 5.5 으로웹페이지에있는 Form 테스트 (5/5) 실행결과 이부분이잘못작성되었기때문에테스트실패발생 [Form 에값이정확하게입력된경우 ] [ 테이블에있는항목들이잘못작성되었을경우 ] 23

6. 도구활용예제 세부목차 6.1 예제설명 6.2 Test를위한프로젝트생성하기 6.3 Test를위한 Java Class 파일생성하기 6.4 Eclipse에 라이브러리등록하기 6.5 으로정적인웹페이지테스트 6.6 으로하이퍼링크테스트 6.7 으로웹페이지에있는테이블테스트 6.8 으로웹페이지에있는 Form 테스트 1

6. 도구활용예제 6.1 예제설명 (1/2) homepage 프로젝트개요 homepage 프로젝트설명 - 의홈페이지관리자는사용자들로부터다음과같은메일을수신 - 사용자 J 씨의메일내용 Cookbook 페이지에접속할때마다페이지내용이조금씩틀린것같아혼란스럽습니다. - 사용자 K 씨의메일내용 Cookbook 페이지에존재하는몇개의하이퍼링크중에서연 결되지않는링크가있습니다. - 사용자 P 씨의메일내용 테이블이깨져보이고 Form 에오류가있는것같습니다. - 관리자는메일내용을참조하여페이지테스트를수행 2

6. 도구활용예제 6.1 예제설명 (2/2) H 회사의몇가지이슈상황 Cookbook 페이지가정적인페이지인지동적인페이지인지점검 Cookbook 페이지에있는모든하이퍼링크를검사하는것은많은시간이소요 Cookbook 페이지에있는테이블과 Form 을눈으로확인할경우자칫실수에의해서오류를못찾을가능성도있음 홈페이지관리자는프로젝트상황과현재이슈에대한해결책을고민하던중, 웹페이지테스팅도구인 을이용하여테스트를해보기로결정 3

6. 도구활용예제 6.2 Test 를위한프로젝트생성하기 (1/2) 테스트를수행하기위해서우선 Eclipse 에서프로젝트를생성 File New Java Project 4

6. 도구활용예제 6.2 Test 를위한프로젝트생성하기 (2/2) 다음나오는 New Java Project 창에서프로젝트이름을입력한후 Finish 버튼을클릭 ❶ ❷ 5

6. 도구활용예제 6.3 Test 를위한 Java Class 파일생성하기 (1/2) test 프로젝트에클래스파일을생성 test 프로젝트선택후마우스우클릭 New Class 6

6. 도구활용예제 6.3 Test 를위한 Java Class 파일생성하기 (2/2) Java Class 이름입력 Finish 본예제에서는 Name 을 Test 으로설정 ❶ ❷ 7

6. 도구활용예제 6.4 Eclipse 에 라이브러리등록하기 (1/5) 테스트를위해서는 라이브러리를 Eclipse 에등록 프로젝트에아래와같은순서에따라서라이브러리를등록 프로젝트선택 마우스우클릭 Properties 클릭 8

6. 도구활용예제 6.4 Eclipse 에 라이브러리등록하기 (2/5) Java Build Path Libraries Add External JARs.. 클릭 ❶ ❷ 9

6. 도구활용예제 6.4 Eclipse 에 라이브러리등록하기 (3/5) Httpunit 폴더에서 jars 폴더로이동 라이브러리선택 열기 (O) 클릭 OK 클릭 ❶ ❷ 10

6. 도구활용예제 6.4 Eclipse 에 라이브러리등록하기 (4/5) 다시한번 Add External JARs 버튼을클릭 11

6. 도구활용예제 6.4 Eclipse 에 라이브러리등록하기 (5/5) Lib 폴더로이동 httpunit.jar 선택 열기버튼클릭 ❶ ❷ 12

6. 도구활용예제 6.5 으로정적인웹페이지테스트하기 (1/3) Cookbook 페이지가정적인페이지인지아닌지에대한테스트수행 13

6. 도구활용예제 6.5 으로정적인웹페이지테스트하기 (2/3) Run 아이콘 / 메뉴바의 Run Run 을선택하여 을실행 14

6. 도구활용예제 6.5 으로정적인웹페이지테스트하기 (3/3) 실행결과 화면에서빨간색으로표시된부분을보면녹색바가보이는데녹색바의의미는테스트에통과했다는의미. 따라서 Cookbook 페이지는정적인웹페이지임을확인. 15

6. 도구활용예제 6.6 으로하이퍼링크테스트 (1/4) 두번째로진행할테스트는 Cookbook 페이지에있는하이퍼링크에관한테스트 Cookbook 페이지에는여러개의하이퍼링크가존재하며그중에서 response 링크를테스트 16

6. 도구활용예제 6.6 으로하이퍼링크테스트 (2/4) 앞테스트에서사용한 Java Class 파일안에다음과같이입력하여 Test Case 를생성 17

6. 도구활용예제 6.6 으로하이퍼링크테스트 (3/4) Run 아이콘 / 메뉴바의 Run Run 을선택하여 을실행 18

6. 도구활용예제 6.6 으로하이퍼링크테스트 (4/4) Java Class 파일을실행하면다음과같은화면이출력. 이화면의의미는 Cookbook 페이지는정적인페이지이며그안에있는 response 링크는정상적으로작동. 19

6. 도구활용예제 6.7 으로웹페이지에있는테이블테스트 (1/4) 세번째로진행할테스트는 Cookbook 페이지에있는테이블에관한테스트 테스터는테이블안에입력된필드값의참여부에관한테스트 20

6. 도구활용예제 6.7 으로웹페이지에있는테이블테스트 (2/4) 테스터가원하는테이블의필드들의값은아래표와동일 테스터는 Cookbook 페이지에있는테이블의필드값을비교하기위해아래와같이 Java Class 코드를작성 Name gules sable Color red black 원하는테스트함수를작성 21

6. 도구활용예제 6.7 으로웹페이지에있는테이블테스트 (3/4) Run 아이콘 / 메뉴바의 Run Run 을선택하여 을실행 22

6. 도구활용예제 6.7 으로웹페이지에있는테이블테스트 (4/4) 앞에서작성한 Java Class 파일을실행하여아래와같은결과 아래의그림에서의녹색바는 Cookbook 페이지에있는테이블의테스터가기대한값들이정상적으로들어갔다는것을의미 23

6. 도구활용예제 6.8 으로웹페이지에있는 Form 테스트 (1/4) 마지막으로진행할테스트는 Cookbook 페이지에있는 Form 에관한테스트 테스터는 Form 안에입력된값이정확히입력되어있는지에대해서테스트를수행 <TABLE border="1" cellpadding="3"> <TR> <TD> <FORM> Restaurant Name: <INPUT name="name" type="text" value="la Cerentolla"></INPUT> <BR></BR> Restaurant Type: <INPUT checked="" name="food" type="radio" value="chinese"></input> Chinese <INPUT name="food" type="radio" value="texmex"></input> Tex/Mex <INPUT name="food" type="radio" value="italian"></input> Italian <BR></BR> Location: <SELECT name="location"> <OPTION value="centercity 0>Center City</OPTION> <OPTION value="northeast">northeast</option> <OPTION selected="" value="manayunk">manayunk</option> <OPTION value="pennslanding">penns Landing</OPTION> </SELECT> <BR></BR> <INPUT checked="" name="creditcard" type="checkbox"></input> Accepts Credit Cards <BR></BR> <BR></BR> <INPUT type="submit" value="update"></input> </FORM> </TD> </TR> </TABLE> [Cookbook 페이지에있는 Form 의형태 ] [Form 을구성하는 html 코드 ] 24

6. 도구활용예제 6.8 으로웹페이지에있는 Form 테스트 (2/4) 테스터가원하는값 레스토랑이름 : La Cerentolla 레스토랑의종류 : Chiness 위치 : Manayunk Credit Cards 의사용가능여부 : 사용가능 테스터가원하는값이 Form 에입력되는지확인하기위해다음그림과같이 Java Class 파일을작성 25

6. 도구활용예제 6.8 으로웹페이지에있는 Form 테스트 (3/4) Run 아이콘 / 메뉴바의 Run Run 을선택하여 을실행 26

6. 도구활용예제 6.8 으로웹페이지에있는 Form 테스트 (4/4) 앞에서작성한 Java Class 파일을실행하여아래와같은결과 녹색바의의미는테스터가원하는값이 Form 에입력되었으며, 테스트에통과되었다는것을의미 27

7. FAQ 질문 1) 이제공하는 API 가무엇인가요? 답변 1 : HTML 파싱, 폼젂송, 하이퍼링크, 쿠키설정그리고웹브라우저와연관된기능들을수행하는 API 를제공하며또한서블릿을다루기위한클래스라이브러리를제공합니다. 질문 2) 통합테스트가무엇입니까? 답변 2 : 통합테스트는소프트웨어컴포넌트간의상호작용을검증하는프로세스로서간단하게말하면단위테스트가논리적으로확장된것입니다. 가장단순한형태의통합테스트는, 이미테스트를마친두유닛을하나의구성요소로통합하고두유닛사이의인터페이스를테스트하는것입니다. 여기서구성요소는둘이상의유닛이통합된집합을말합니다. 통합테스트는크게하향식 (Top-down) 와상향식 (Bottom-up) 로나뉘어집니다. 1

8. 도구평가 활용성 단순한설치에비해여러가지형태의웹페이지테스트기능을제공 범용성 플러그인형태로제공되어 Eclipse 기반환경이라면어느환경에서든지사용가능 호환성 현재까지개발된 Eclipse 버전상의발견된문제점없음 성능 기본적인성능은빠르나, 네트워크상태에따라달라질수있음 기타 테스트자동화및강력한라이브러리를제공 도구평가의견 을통하여테스트를자동화하므로코드를편리하게유지, 관리 은자바라이브러리형태로제공되므로설치과정이필요가없음 은웹브라우저를통해웹사이트를방문하는사용자에의해수행되는시나리오의테스트케이스를자동화함으로써테스트케이스를쉽게작성 1

9. 용어정리 본매뉴얼에서사용하고있는용어의정리 정적인웹페이지 일반텍스트편집기로입력되며, *.html 또는 *.htm 으로구성된페이지. 정 적인웹페이지의모습은이것을보는사용자의장소, 시간및환경에상 관없이항상동일. 동적인웹페이지 사용자가페이지를요청하는시점에그페이지를새롭게구성하는행위. 따라서동적웹페이지는 Html 소스를만들어내는코딩작업필요. 1