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 이나 데이터를 분석할 수 있다. 이러한 웹사이트 분석 도구와 같은 유형의 프로그램을 프록시 레코더 라고 부른다.
그럼 이런 유형의 대표적인 프록시 레코더는 어떤 프로그램이 있을까?
|
위 프록시 레코더 툴은 웹 개발자라면 자주 사용하게 될 프로그램이다.
자세한 내용과 사용법은 다음의 블로그에서 참고하도록 하자.
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 버튼을 클릭하여 테스트를 진행해 보자.
테스트가 완료되면 각각의 페이지에서 랜더링된 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 를 기준으로 작성된 문서지만, 스펙은 크게 변하지 않았으니 큰 문제가 없을 거라 생각한다.
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 기준으로 작성된 한글 문서를 참고하도록 하자.
댓글을 달아 주세요