Visual Studio 2008 은 기존 UI 를 많이 유지한 채 Release 되었다. 하지만, 많은 부분에서 새롭게 기능이 추가되고 개선되었다고 한다.
 
그 중, Web Test Recorder(웹 테스트 레코더) 이다. (사실 그닥~~ 좋아진건 없는 것 같다)
Visual Studio 2008 을 설치하면 우선 Internet Explorer(인터넷 익스플로러)용 Addin인 Web Test Recorder 9.0 버전이 함께 설치 된다.
 
[그림1] IE Plugin 이 설치된 Web Test Recorder 9.0
 
 
What Web Test Recorder ?
 
Web Test Recorder 는 Visual Studio 2008 과 통합된 웹 테스트 도구이다. 웹사이트에 대한 요청을 기록하여, 넘겨진 Query String 이나 데이터를 분석할 수 있다. 이러한 웹사이트 분석 도구와 같은 유형의 프로그램을 프록시 레코더 라고 부른다.
 
그럼 이런 유형의 대표적인 프록시 레코더는 어떤 프로그램이 있을까?
 
 
위 프록시 레코더 툴은 웹 개발자라면 자주 사용하게 될 프로그램이다.
자세한 내용과 사용법은 다음의 블로그에서 참고하도록 하자.
http://www.netfighter.pe.kr/blog_post_193.aspx
 
 
Overview Web Test Recorder 9.0
 
그럼 Visual Studio 2008 의 Web Test Recorder 9.0 는 타 프록시 레코더에 비해 CSS나 이미지, Javascript 와 같은 데이터는 기록하지 않는다. 이러한 데이터는 Web Test Viewr(웹 테스트 뷰어)에서 런타임으로 확인하기 때문에, 이미지에 대한 기록을 줄임으로써 복잡하지 않는 테스트를 할 수 있다.
 
l CSS, 이미지, Javascript 는 기록하지 않음
l 때문에, 이미지의 기록을 없앰으로써 유연하게 테스트 진행
l 동적 매개 변수 승격 기능
- HTTP 요청을 캡처한 다음 후속으로 HTTP 요청을 바인딩 함으로써 재생 오류 방지
l Transaction 기능 ( Batch 기능와 유사함 )
l Network Credential 기능 ( 자동 인증 기능 )
l Comment 기능 ( 주석 달기 기능 )
 
 
Start Web Test Recorder
 
이 기능은 이미 Visual Studio 2005 부터 포함되어졌던 기능이다. 이번 Visual Studio 2008 도 이전 버전에 비해 크게 변화된 점이 없지만, 복습하는 차원에서 다시 한번 차근히 따라해 보자.
 
Test -> New Test 를 클릭하면 새로운 Test Project 를 만들 수 있다.
 
[그림2] Web Test Project 만들기
 
프로젝트를 만들게 되면 [그림3] 과 같이 빈 페이지로 Internet Explorer 가 실행된다.
 
[그림3] about:blank 페이지의 Internet Explorer 가 실행된 화면
 
Record / Pause / Stop 버튼을 이용하여 웹 요청을 기록할 수 있다. 단, Stop 버튼을 누르면 더 이상 요청을 기록하지 않고, Visual Studio 2008 창으로 전환이 되고, 기록된 요청에 대한 목록이 [그림4] 와 같이 Treeview 형태로 표시가 된다.
 
[그림4] Web Test Recorder 기록
 
그럼 이제 Run Test 버튼을 클릭하여 테스트를 진행해 보자.
 
[그림5] Run Testing
 
테스트가 완료되면 각각의 페이지에서 랜더링된 html 이나 javascript 등이 Web Browser 탭에 표시가 된다. 해당 페이지에서 Image 또는 css 파일등을 확인하고 싶다면 Testing 이 완료된 Treeview 에서 더블클릭을 하게 되면 페이지 내에서 요청된 다른 형태의 파일정보들을 볼 수 있다.
 
Query String 의 값을 변경하여 테스트를 진행할 수도 있다. Webtest 프로젝트에서 페이지의 하위 트리를 클릭하면 페이지로 전달된 Query String 의 값을 볼 수 있는데, Properties 창을 통해 이 값을 [그림6] 과 같이 변경하면 된다.
 
[그림6] Query String 을 변경하여 테스트
 
물론 더 필요한 Query String 이 있다면 추가도 가능하다.
 
 
Microsoft.VisualStudio.QualityTools.WebTestFramework.DLL
 
웹 테스트 프로젝트는 Microsoft.VisualStudio.QualityTools.WebTestFramework.DLL 어셈블리를 참조한다. 이 어셈블리를 참조하면 프로그래밍 적으로 테스트를 만들고 테스트 할 수 있다.
 
참고 : Generate Code 를 통해 이미 기록된 Web Test Recorder 를 코드로 변환할 수 있다.
 
Microsoft.VisualStudio.QualityTools.WebTestFramework.DLL 어셈블리를 참조하게 되면 WebTestRequest 와 같은 클래스로 프로그래밍 적으로 테스트를 만들 수 있다.
 
웹 테스트 기록은 다음과 같이 자동 생성 코드로 변환된다.
 
WebTestRequest request3 = new WebTestRequest("http://umc.pe.kr/ScriptResource.axd");
request3.QueryStringParameters.Add("d", this.Context["QueryStringParam1.d"].ToString(), false, false);
request3.QueryStringParameters.Add("t", "633293840692451055", false, false);
yield return request3;
request3 = null;
 
좀 더 자세한 정보를 얻고자 한다면 다음의 주소를 참고 하도록 하자.
Visual Studio 2008 Beta 2 를 기준으로 작성된 문서지만, 스펙은 크게 변하지 않았으니 큰 문제가 없을 거라 생각한다.
http://msdn2.microsoft.com/ko-kr/library/microsoft.visualstudio.testtools.webtesting(VS.90).aspx
 
 
Hope…
 
이번 Web Test 프로젝트는 Internet Explorer Plug-in 용 버전이 업그레이드 된 것 이외에 크게 두드러진 점을 발견하지 못했다. 이미 기능적으로 VS2005 부터 Test 용도로 사용하기에 충분하지 않았나 하는 생각이다.
 
VS 2005 부터 툴 자체가 무거워 지면서 Web Test 또한 무겁다는 생각을 지워버릴 수 없다. 하지만, 웹 개발용 디버깅 툴인 Fiddler 와 함께 그 막강한 기능은 여전하다.
 
Fiddler 또한 XML WebService나 SmartClient 등의 개발에 필 수 유틸리티 이지만, 웹 요청에 대한 기록을 보기 위한, 그 이상 활용하기에 직관성이 조금 떨어지는 것 같다. 하지만, VS.NET 의 Web Test Recorder 는 직관성과 좀 더 깊은 테스트 목적에 더할나위 없는 툴이 될것이다.
 
좀더 자세한 정보를 얻고자 한다면 Visual Studio 2008 Beta 2 기준으로 작성된 한글 문서를 참고하도록 하자.
http://msdn2.microsoft.com/ko-kr/library/ms182539(VS.90).aspx
Posted by 땡초 POWERUMC

댓글을 달아 주세요