1. 도구개요 2. 기능요약 3. 도구실행환경 4. 도구설치방법 5. 도구기능소개 6. 도구활용예제 7. FAQ 8. 도구평가 9. 용어집
1. 도구개요 소개 주요기능 서비스지향아키텍처 (SOA) 및웹서비스에대한로드테스트를향상된 UI 로제공 웹서비스의로드테스트 카테고리 세부카테고리테스트설계및실행 커버리지 Load 도구난이도중 라이선스형태 / 비용 EUPL / 무료및유료 ( 상용 ) 사전설치도구 JAVA FX, JRE 운영체제 Windows, Linux, Mac OS, UNIX 최신버전 2.6.5 (2013. 12) 특징 웹서비스의로드테스트 테스트형태에따른분산 UI제공 UI를통하여동시및별도의결과보고제공가능 SoapUI 와의연동 적용회사 / 프로젝트 관련도구 제작사 공식홈페이지 SoapUI, JMeter, Grinder, ngrinder SmartBear http://www.loadui.org/ 2
2. 기능요약 서비스지향아키텍처 (SOA) 및웹서비스에대한로드테스트를향상된 UI 로제공 주요기능 타도구와의연동 지원여부 지원 (SoapUI 완벽지원, XML 형식에따라지원 ) 다중로드테스트지원 (UI 활용 ) 스케쥴관리 테스트방식 지원 SOAP, REST, URL 등 3
3. 도구실행환경 JRE 및 JAVA FX 환경에서구동 다양한 OS 를지원 Windows : Windows XP / Windows 7 (32, 64-bit 모두지원 ) Linux : 32, 64-bit 지원 Mac OS X : 32, 64-bit 지원 UNIX : 32, 64-bit 지원 Java FX 및 JRE 환경필요 설치후구동시자동으로설치 Java FX 및 JRE Windows / Linux / Mac OS / UNIX 4
4. 도구설치방법 세부목차 4.1 다운받기 4.2 설치하기 4.3 설치확인하기 4.4 NetBeans 6.5.1 다운및설치 4.5 NetBeans 설치확인하기 5
4. 도구설치방법 4.1 다운받기 (1/4) http://www.loadui.org/ 에서 를다운 Download 클릭 (Source Forge 다운로드로이동 ) 6
4. 도구설치방법 4.1 다운받기 (2/4) 최신버전 (2.6.5) 클릭 7
4. 도구설치방법 4.1 다운받기 (3/4) 해당운영체제에맞는파일을선택후다운로드 본매뉴얼에서는 64bit- 윈도우용으로진행 8
4. 도구설치방법 4.1 다운받기 (4/4) 다운로드및실행 저장위치를선정하거나바로실행 9
4. 도구설치방법 4.2 설치하기 (1/3) Welcome 화면 Next 클릭 10
4. 도구설치방법 4.2 설치하기 (2/3) 약관동의및설치폴더지정 약관에동의후 Next 설치폴더를지정후 Next 11
4. 도구설치방법 4.2 설치하기 (3/3) 시작메뉴설정및설치완료 시작메뉴단축아이콘여부결정후 Next Finish 12
4. 도구설치방법 4.2 실행하기 (1/3) 실행 시작메뉴에서 실행 13
4. 도구설치방법 4.2 JavaFX 설치하기 (2/3) 실행 : JavaFX Runtime 설치 JavaFX 자동설치 14
4. 도구설치방법 4.2 설치하기 (3/3) 실행화면 15
4. 도구설치방법 4.4 NetBeans 6.5.1 다운및설치 (1/7) NetBeans 6.5.1 다운로드 : http://netbeans.org/downloads/6.5.1/index.html 6.5.1 버전에서는웹서비스구현및 SOA 의환경 (WSDL, BPEL, 서비스조합엔진, 예제모두를제공 ) 16
4. 도구설치방법 4.4 NetBeans 6.5.1 다운및설치 (2/7) 다운받은파일을설치 : Welcome 화면 압축해제후첫화면에서 Next 17
4. 도구설치방법 4.4 NetBeans 6.5.1 다운및설치 (3/7) 다운받은파일을설치 : 약관동의 약관에동의후 Next 18
4. 도구설치방법 4.4 NetBeans 6.5.1 다운및설치 (4/7) 다운받은파일을설치 : 설치폴더지정 IDE 설치경로와사용할 JDK 경로를설정하고 Next 19
4. 도구설치방법 4.4 NetBeans 6.5.1 다운및설치 (5/7) 다운받은파일을설치 : WAS 설정 NetBeans 에서사용할 WAS 중하나인 Glass fish Server V2 설정 : 압축해제후첫화면에서 Next 20
4. 도구설치방법 4.4 NetBeans 6.5.1 다운및설치 (6/7) 다운받은파일을설치 : WAS 설정 Glass fish Server V3 설치경로지정후 Next 21
4. 도구설치방법 4.4 NetBeans 6.5.1 다운및설치 (7/7) 다운받은파일을설치 : 설치최종확인 설치할경로와공간등을확인후 Install 22
4. 도구설치방법 4.5 NetBeans 설치확인하기 NetBeans 설치결과 Service 탭에기본적으로몇개의 WAS 가설치되어있는것을확인할수있음 23
5. 도구기능소개 세부목차 5.1 의특징 5.2 WSDL과 WS-BPEL 5.3 웹서비스의구현 5.4 웹서비스의배포및 WSDL 생성 5.5 테스트환경설정 5.6 테스트수행 5.7 주요추가기능 (2.6.5) 24
5. 도구기능소개 5.1 의특징 : SoapUI 와함께테스트를지원 http, SOAP 등다양한형태의로드테스트지원 직관적인 UI 인터페이스를통해테스트진행상황을파악하기용이 단순한웹페이지로드테스트부터테스트케이스를활용한로드테스트지원 테스트케이스및결과도출등은 SoapUI 와연동하여지원 25
5. 도구기능소개 5.2 WSDL 과 WS-BPEL (1/4) WSDL : Web Services Description Language 의테스트가되는대상 웹서비스기술언어및기술된정의파일의총칭 XML 로기술되며, 웹서비스의구체적내용이기술되어있다 서비스제공장소, 서비스메시지포맷, 프로토콜 26
5. 도구기능소개 5.2 WSDL 과 WS-BPEL (2/4) WSDL : Web Services Description Language 웹서비스를이용하기위한서비스주소및의사소통형식을정의 type : WSDL 내부에서사용할변수형태와내용을정의 message : 웹서비스와상호의사소통할메시지를정의 (Type 에서선언된형태를바탕으로구성 ) porttype : 메시지의통로가되는포트를정의 ( 일반적으로 Operation 과매칭 ) binding : WSDL 의 Bind 형태를정의 (HTTP, SOAP 등 )» 각 Operation 별로 Binding 을정의할수있음 service : Binding 된내용을통해의사소통할직접적인 Service URI 을정의 27
5. 도구기능소개 5.2 WSDL 과 WS-BPEL (3/4) WS-BPEL : Web Service - Business Process Execution Language 웹서비스조합과명세의표준 서비스들간의계약, 잘정의된인터페이스, 상호연관기반환경제공 XML 로기술되며, 서비스조합의내용이여러명령어를통해기술되어있다 Invoke, Assign, Receive, Reply, if, while, flow, wait 등 28
5. 도구기능소개 5.2 WSDL 과 WS-BPEL (4/4) WS-BPEL : Web Service - Business Process Execution Language 웹서비스조합과명세의표준, 서비스들간의계약, 잘정의된인터페이스, 상호연관기반환경제공 partnerlink : 서비스조합에참여하는서비스 variables : WS-BPEL 내부에서사용할변수 sequence : WS-BPEL 에서구조적으로처리할순서를정의» Invoke : 서비스를호출» Receive : 파트너링크나, WS-BPEL 의 WSDL 에서메시지수신» Reply : 파트너링크나, WS-BPEL 의 WSDL 에서메시지답장» Assign : 지정된변수를할당하거나대입등처리» While : 지정된조건동안반복» Flow : 병렬적, 동시적으로처리하며, 처리된모든내용이하나로모일때까지대기한다» If : 조건에따른분기 29
5. 도구기능소개 5.3 웹서비스의구현 (1/8) 웹서비스의구현 : NetBeans Web Application 프로젝트생성 여러도구와형태로웹서비스의구현이가능하나, 본매뉴얼에서는 NetBeans 의기능을통해구현 New Project Java Web Web Application 30
5. 도구기능소개 5.3 웹서비스의구현 (2/8) 웹서비스의구현 : NetBeans Web Application 프로젝트생성 프로젝트이름입력 Next 31
5. 도구기능소개 5.3 웹서비스의구현 (3/8) 웹서비스의구현 : NetBeans Web Application 프로젝트생성 서버종류와경로설정 Finish (Next 눌러서프레임워크설정이가능 ) 32
5. 도구기능소개 5.3 웹서비스의구현 (4/8) 웹서비스의구현 : 생성된프로젝트 WAS 작동확인 프로젝트마우스우클릭 Run 하거나, Main Project 로설정되어있을시아이콘클릭 Hello World! 출력시정상작동 33
5. 도구기능소개 5.3 웹서비스의구현 (5/8) 웹서비스의구현 : 웹서비스를위한 Java 파일생성 프로젝트마우스우클릭 Web Service 웹서비스이름입력 패키지선택 Finish 34
5. 도구기능소개 5.3 웹서비스의구현 (6/8) 웹서비스의구현 : Operation 의정의 Add Operation Name, Return Type 입력후 Add 클릭하여입력값설정 Name, Type 설정 OK 35
5. 도구기능소개 5.3 웹서비스의구현 (7/8) 웹서비스의구현 : 2 개의 Operation 의정의결과 같은방법으로 Operation 을정의 36
5. 도구기능소개 5.3 웹서비스의구현 (8/8) 웹서비스의구현 : Java Code 구현 단순한덧셈 / 뺄셈연산만되도록구현 37
5. 도구기능소개 5.4 웹서비스의배포및 WSDL 생성 (1/4) 웹서비스의배포 : 프로젝트마우스우클릭 Deploy Run 으로대신해도, 실행하기위한배포작업수행, 배포시배포된상황을 Service 탭에서확인가능 38
5. 도구기능소개 5.4 웹서비스의배포및 WSDL 생성 (2/4) 웹서비스의배포 : 배포된웹서비스의테스트 Run 으로대신해도, 실행하기위한배포작업수행, 배포시배포된상황을 Service 탭에서확인가능 39
5. 도구기능소개 5.4 웹서비스의배포및 WSDL 생성 (3/4) 웹서비스의배포 : WSDL 의생성 WSDL 파일링크를클릭할시현재배포되어있는 WSDL 파일을볼수있으며, 저장할수있음 40
5. 도구기능소개 5.4 웹서비스의배포및 WSDL 생성 (4/4) 웹서비스의배포 : WSDL 의생성 : Generate and copy WSDL 서비스의 URL 은배포하는위치로설정, 현재배포된 WAS 설정시항목을복사 41
5. 도구기능소개 5.5 테스트환경설정 (1/11) 테스트환경설정 : 새로운프로젝트만들기 프로젝트리스트에서마우스우클릭 New Project 42
5. 도구기능소개 5.5 테스트환경설정 (2/11) 프로젝트이름선정 : Test 생성할프로젝트이름과, 파일이름설정 ( 별도설정가능 ) 43
5. 도구기능소개 5.5 테스트환경설정 (3/11) 프로젝트생성형태설정 ❶ Create a Simple Web LoadTest : 기본적으로 URL 을바탕으로기본테스트구조를생성 ❷ Create a soapui LoadTest : SoapUI 를활용하여로드테스트 ❶ ❷ 44
5. 도구기능소개 5.5 테스트환경설정 (4/11) 프로젝트생성형태 : Web LoadTest ❶ Create a Simple Web LoadTest 클릭 (21 페이지 ) URL 과초당수행할횟수를입력 Create 45
5. 도구기능소개 5.5 테스트환경설정 (5/11) 프로젝트생성형태 : Web LoadTest 시작버튼을통해해당기본 Load Test 를수행 46
5. 도구기능소개 5.5 테스트환경설정 (6/11) 프로젝트생성형태 : soapui LoadTest ❷ Create a soapui LoadTest 클릭 (21 페이지 ) 초당수행할횟수를입력 Create 47
5. 도구기능소개 5.5 테스트환경설정 (7/11) 프로젝트생성형태 : Web Project 시작버튼을통해해당기본 Load Test 를수행 48
5. 도구기능소개 5.5 테스트환경설정 (8/11) 프로젝트생성형태 : SoapUI 설정 SoapUI 에서 TestCase 생성 저장 49
5. 도구기능소개 5.5 테스트환경설정 (9/11) 프로젝트생성형태 : SoapUI 설정 SoapUI 에서 TestCase 생성 저장 50
5. 도구기능소개 5.5 테스트환경설정 (10/11) 테스트로그연결하기 OUTPUT 화면에드래그 51
5. 도구기능소개 5.5 테스트환경설정 (11/11) 테스트로그연결하기 Result Data to output 연결 52
5. 도구기능소개 5.6 테스트수행 (1/3) 테스트 : 테스트수행 상단의버튼을클릭하여테스트수행 53
5. 도구기능소개 5.6 테스트수행 (2/3) 테스트 : 테스트수행속도변경 Rate 아이콘을회전하여테스트수행 54
5. 도구기능소개 5.6 테스트수행 (3/3) 테스트 : 테스트로그보기 연결한 Table 로그에결과기록 55
5. 도구기능소개 5.7 주요추가기능 (2.6.5) (1/3) Design 화면과 Statistics 화면을 Tab 으로구성 56
5. 도구기능소개 5.7 주요추가기능 (2.6.5) (2/3) Chart 에서 Statistics 의 add, zoom, scale, remove 방법개선 57
5. 도구기능소개 5.7 주요추가기능 (2.6.5) (3/3) Chart 에서 Statistics 의 add, zoom, scale, remove 방법개선 58
6. 도구활용예제 세부목차 6.1 예제소개 6.2 예제웹서비스구현 6.3 SOAP 프로젝트생성 6.4 에테스트환경설정 6.5 Test 59
6. 도구활용예제 6.1 예제소개 예제시스템 : 구현된웹서비스를바탕으로로드테스트수행하기 로드테스트내용계산기는 2개의서비스에나뉘어담김 ( 덧셈, 뺄셈 / 곱셈, 나눗셈 ) 각각개별의서비스로존재하는계산기능을 SoapUI 로테스트각수행하는테스트를초당 10회부터테스트이후문제가발생하는수준까지속도를올려테스트를수행 60
6. 도구활용예제 6.2 예제웹서비스구현 (1/2) _AS 프로젝트구현 도구기능설명에사용하였던형태로덧셈과뺄셈오퍼레이션을가지는웹서비스구현 61
6. 도구활용예제 6.2 예제웹서비스구현 (2/2) 프로젝트배포후확인, WSDL 복사 각각테스트페이지에서작동여부확인가능, 각자의 WSDL 을테스트프로젝트폴더에복사 62
6. 도구활용예제 6.3 SoapUI 프로젝트생성 테스트환경설정 : 테스트케이스생성 단순한덧셈기능을하는테스트케이스생성 63
6. 도구활용예제 6.4 에테스트환경설정 (1/2) 프로젝트생성형태 : SoapUI 설정 SoapUI 에서 TestCase 생성 저장 에서읽기 64
6. 도구활용예제 6.4 기능테스트 (2/2) Test Log 설정하기 65
6. 도구활용예제 6.5 Test (1/3) 테스트 : 초당 10 회테스트 이상없이진행 66
6. 도구활용예제 6.5 Test (2/3) 테스트 : 초당 300 회테스트 이상없이진행 67
6. 도구활용예제 6.5 Test (3/3) 테스트 : 초당 2000 회테스트 11 만여회이상수행중연결실패 10983, 실패 51 건 68
7. FAQ 질문 1) 에서 TestCase 를만들수는없습니까? 답변 1 : 는단순히로드테스트기능만지원하고있습니다. TestCase 는 SoapUI 를통해만들수있습니다. SoapUI 를사용하지않고만들려면, 직접 XML 파일을다루어 TestCase 를만드는방법도있습니다. 질문 2) 실행중프로젝트선택창으로가고싶습니다. 답변 2 : 는한번에하나의프로젝트만선택하여실행할수있습니다. 다른프로젝트를선택하기위해서는현재프로젝트를저장하고종료하게되면기존프로젝트리스트를볼수있으며, 진행된상황을미리보기를통해확인할수있습니다. 69
8. 도구평가 활용성 기존에사용하던 TestCase 나 SoapUI 프로젝트와함께사용가능 범용성 XML 을사용하여프로젝트및테스트케이스공유가능 호환성 Java 를바탕으로하며여러운영체제에서작동 SoapUI, 모두 XML 을사용하여내용을확인할수있으며저장파일자체의연동성이좋음 성능 무거운프로그램 UI 에비해빠른테스트수행결과제공 기타 특정프레임워크가필요하지않고, 실시간으로쉽고빠른속도의테스트를수행 도구평가의견 는 UI 를통해여러가지형태의테스트를수행 는 SoapUI 및다른테스트케이스관리도구와연동이쉬움 테스트수행이빠름 70
9. 용어정리 본매뉴얼에서사용하고있는용어의정리 SOA SOAP WSDL 로드테스트 (Load Test) Service-Oriented Architecture 의약자로써, 대규모컴퓨터시스템을구축할때의개념으로업무상에일처리에해당하는소프트웨어기능을서비스로판단하여그서비스를네트워크상에연동하여시스템전체를구축해나가는방법론. Simple Object Access Protocol 의약자로써, 일반적으로널리알려진 HTTP, HTTPS, SMTP 등을사용하여 XML 기반의메시지를컴퓨터네트워크상에서교환하는형태의프로토콜 Web Services Description Language 의약자로써, 웹서비스기술언어또는기술된정의파일의총칭으로 XML로기술. 웹서비스의구체적내용이기술되어있어서비스제공장소, 서비스메시지포맷, 프로토콜등을포함. 개발된기기나프로그램이서비스에들어가기앞서실제와유사한부하를걸어정상동작여부와견딜수있는부하, 문제점등을확인하기위한시험. 대부분의경우실제부하의지속적인발생이어려워실제와유사한모의부하발생기를사용하여시행되며, 경우에따라서는실제부하이상의스트레스를가하는과부하시험도시행 71