레이블이 Visual Studio인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Visual Studio인 게시물을 표시합니다. 모든 게시물 표시

2012년 9월 27일 목요일

[VS2012] System Requirements



Visual Studio 2012 System Requirements


Supported Operating Systems
  • Windows 7 (x86 and x64)
  • Windows 8 (x86, and x64)
  • Windows Server 2008  R2 (x64)
  • Windows Server 2012 (x64)

Hardware Requirements
  • 1.6 GHz or faster processor
  • 1 GB of RAM (1.5 GB if running on a virtual machine)
  • 10 GB (NTFS) of available hard disk space
  • 5400 RPM hard drive
  • DirectX 9-capable video card running at 1024 x 768 or higher display resolution

Supported architectures
  • 32-bit (x86)
  • 64-bit (x64)


CF)

@

2011년 12월 24일 토요일

[VS2010] InstallShield Limited Edition


InstallShield Limited Edition 은  Visual Studio 개발자를 위한 Install Shield 의 무료버전이다.
제한된 기능을 사용할 수 있으며 모든 기능을 사용하려면 Install Shield 2010 전체 버전으로 업그레이드를 받아야 한다.
기존  Visual Studio 설치 및 배포 프로젝트를 이용한 배포 도구는 추 후 Visual Studio 에서 지원하지 않을 예정이라고 한다.


VS2010에서 제공하는 배포 도구 비교
Windows Installer 배포 도구 선택 - MSDN



Getting Started with InstallShield Limited Edition for Visual Studio 2010
Install Shield 개발사인 FLEXERA software 에서 제공하는 메뉴얼. 여기있는 동영상이 참 유용하다.
http://www.flexerasoftware.com/promolanding/10908.htm



InstallShield Limited Edition 설치

Visual Studio 2010을 실행하여 새 프로젝트 만들기를 선택하여 대화상자를 불러온다.
Installed Templates -> Other Project Types -> Setup and Deployment -> InstallShield LE 선택
Enable InstallShield Limited Edition 템플릿 선택



아직 InstallShield LE가 설치되어 있지 않기 때문에 설치 방법에 대한 페이지가 출력된다.
페이지 하단에 "Step 2:Go to the download web site" 를 클릭한다.




하단의 제품 다운로드를 위한 정보를 입력한다. 그런 뒤 Download Now 버튼을 눌러 제품 다운로드!
Email 주소를 정확히 입력해야 한다. InstallShield LE를 설치하면 쉐어웨어 버전으로 설치되어 몇일간만 사용할 수 있다. Email로 제품키를 받을 수 있으며 이 키를 이용해 인증을 받아야 한다.



다운로드 받은 설치 파일을 실행하여 InstallShield LE를 설치!



Email로 전달받은 제품키를 입력한다.







설치 완료 후, 기존 VS2010이 실행되어 있다면 다시 실행시키자.
InstallShield LE 템플릿을 사용할 수 있다.
Installed Templates -> Other Project Types -> Setup and Deployment -> InstallShield LE 선택
Enable InstallShield Limited Edition 템플릿 선택 






2011년 12월 15일 목요일

[VS-] Debugging with Attach to Process


원문 : Debugging with Attach to Process - BlackWasp



Visual Studio는 프로그램을 디버깅 모드로 실행할 수 있게 한다. 또한 다양한 디버깅 툴을 지원하여 프로그램의 활동을 모니터링 할 수 있게 한다.


Attaching to a Process
이미 실행중인 프로세스에 Visual Studio를 연결할 수 있다!! 단, 몇가지 제약 조권이 있다.
- 해당 프로세스는 디버깅 모드로 컴파일된 어셈블리여야 한다.
- 해당 프로세스 어셈블리 위치에 프로그램 데이터 베이스 파일(*.PDB) 이 있어야 한다.
- PDB 파일에서 참조하는 어셈블리의 소스 코드를 이용해야 한다.
- Visual Studio 가 프로세스 연결 기능을 지원해야 한다. Visual Studio Express 버전은 프로세스 연결 기능을 지원하지 않음.

위 조건을 만족하면 Visual Studio를 실행중인 프로세스에 연결할 수 있다. breakpoint 또는 tracepoint 를 이용하여 코드를 일시 중지 시켜 디버깅할 수 있다.


Show the Attach to Process Dialog Box

실행중인 프로레스를 디버깅 하기 위해서는 "Attach to Process (프로세스에 연결)" 대화상자를 불러와야 한다.
Visual Studio 메뉴 -> Debug -> "Attach to Process..."
*) 프로젝트를 연 상태가 아닐 경우에는 Debug 메뉴에서 찾을 수 없고, "Tools" 메뉴에서 찾을 수 있다.


대화상자의 "Available Processes" 에는 현재 사용자가 실행시킨 프로세스 리스트들이 보안다.
다른 사용자 권한으로 실행중인 프로세스를 디버깅 하기 위해선 하단의 "Show processes form all users" 체크박스에 체크하면 된다.
프로세스 리스트는 실시간으로 보여주지는 않는다. "Refresh" 버튼으로 새로 고칠 수는 있다.

"Attach to:"  항목에는 연결하려는 프로세스의 타입이 나타난다.
Native code, Managed code 두가지가 존재한다.
연결하려는 프로세스를 선택하였을 경우 적절한 타입값으로 자동 설정되며 "Select" 버튼으로 설정해 줄 수 도 있다.

연결하려는 프로세스를 선택한 후 "Attach" 버튼을 누르면 해당 프로세스에 연결하게 된다. Visual Studio가 현재 디버깅중인 상태라면 디버깅에 필요한 컨트롤들이 보인다.

디버깅을 다 하였다면 직접 Process 창(Debug메뉴 -> Window)에서 연결끊기를 선택해줄 수 있다. 간단하게 프로세스에서 오른쪽 버튼을 클릭해 "Detach Process" 를 선택할 수 도 있다. 또한 Debug 메뉴의 "Detach All" 메뉴를 선택할 수도 있다.
연결을 끊는다고 해서 실행중인 프로세스가 종료되는 것은 아니다.

*) 원격 디버깅할 때 참고하면 되겠다.

@

2011년 12월 8일 목요일

[VS-] Visual Studio Debug Mode


원문 : Visual Studio Debug Mode - BlackWasp


Visual Studio 디버그 모드를 사용하는 이유는?!
알고는 있지만 말로하자니~ 위 글에서는 말하는 이유는
코드를 라인 단위로 실행하여 변수의 값을 관찰하거나, 버그를 확인할 때 사용한다! 라고 한다!!


The Visual Studio Debugger

프로그램을 디버거로 디버깅 할 수 있게 하려면 어셈블리에 디버깅 심벌이 포함되어 있어야 한다. 이 디버깅 심벌은 어셈블리를 디버깅 모드로 컴파일 할 때 자동으로 추가된다. 반면, 릴리즈 모드로 컴파일 시 디버깅 심벌은 삭제된다.

테스트 하기 위한 소스코드이다. 콘솔 어플리케이션에 다음 코드를 추가하자.


        static void Main(string[] args)

        {

            int table = 12;

            Console.WriteLine("Multiplication Table for {0}", table);



            for (int i = 1; i <= 12; i++)

            {

                int multiplied = Multiply(i, table);

                Console.WriteLine("{0} x {1} = {2}", i, table, multiplied);

            }

        }



        private static int Multiply(int value, int table)

        {

            int multiplied = value;

            multiplied *= table;

            return multiplied;

        }





Starting a Program in Debug Mode

Visual Studio에서 디버거로 프로그램을 실행시키기 위해서 Debug 메뉴의 Debugging 명령을 클릭하거나, F5 단축키를 누른다.
프로그램을 일시 중지 시키기 위해서는 breakpoint를 추가해애 한다. 프로그램이 처리되지 않은 예외를 던지거나 assertion이 실패되었을때도 프로그램이 일시 중지된다.

테스트를 위해 다음 코드에 breakpoint를 추가하자.


F5 버튼으로 디버깅 모드로 실행시킨다. 프로그램 실행 중 breakpoint 부분을 만나면 해당 코드에 노란색 배경색이 칠해진다.
해당 코드 부분은 앞으로 실행되어질 코드이다. 그 코드를 실행시키기 전에 일시 중지된것이다. 다시 F5를 누르면 다음 breakpoint 를 만날때 까지 프로그램이 계속 실행된다.





Stepping Through Code

Step Into (한 단계씩 코드 실행)

디버깅 모드에서 F11키는 "Step Into (한 단계씩 코드실행)" 이다. 해당 라인에서 메소드 내부로 디버깅할 때 사용된다.
F11 키를 누르면 프로그램의 메인 메소드가 실행되기 바로 전에 디버그 모드로 들어가며 일시 중지된다.

Step Over (프로시저 단위 실행)
F10 키를 이용하면 메소드나 프로퍼티 내부로 이동하지 않고 바로 다음 코드로 이동한다.

Step Out (프로시저 나가기)
F11 또는 F10 키를 이용하여 현재 메소드나 프로퍼티에 디버깅중일 때, 코드의 나머지 부분을 실행시켜 빠져 나오고 싶다면 Shift + F11 키를 누른다.


Stopping and Restarting

Shift + F5 (디버깅 중지)
디버깅 중, 디버깅을 종료하고 프로그램을 종료한다.

Ctrl + Shift + F5 (다시 시작)
디버깅 중, 디버깅을 종료하고 프로그램을 다시 디버깅 모드로 시작 한다.


Controlling the Program Flow

Run to Cursor (커서까지 실행)
코드의 특정 위치에서 프로그램이 일시 중지하길 원한다면 해당 위치에 breakpoint를 넣고 디버그 모드로 실행시키게 된다. breakpoint를 넣지 않고 특정 코드 위치에서 마우스 오른쪽 버튼을 누른 후, "Run to Cursor (코드까지 실행)"을 선택하면 프로그램을 실행하여 해당 위치가 실행될 때 프로그램이 디버그 모드로 들어와 일시 정지된다.


Set Next Statement (다음 문 설정)
디버그 중 프로그램의 흐름을 바꾸고 싶을 때 Set Next Statement (다음 문 설정) 을 사용한다. 원하는 위치에 마우스 오른쪽 버튼 클릭 후 "Set Next Statement" 를 선택한다. 이 때, 현재 break 되어 있는 메소드나 프로퍼티에서만 사용할 수 있다. 또한 현재 break 되어 있는 곳과 Set Next Statement 로 선택한 곳 중간의 코드는 무시된다.



Using the Locals Window

디버깅 중 현재 메소드에 위치한 지역 변수의 값을 관찰할 수 있다.


또한 마우스를 해당 변수에 가져가면 툴팁으로도 확인할 수 있다.

@

2011년 11월 17일 목요일

[VS-] Breakpoints and Tracepoints in Visual Studio


원문 : Breakpoints and Tracepoints in Visual Studio - BlackWasp


 프로그램 코드를 디버깅할 때 원하는 위치에서 코드를 멈추게 하는게 중요해요!!
Visual Studio 에서는 breakpoint 를 이용하여 코드를 특정 위치에 멈추게 하며 Trace 정보를 출력시킬 수 도 있다.


What are Breakpoints?

Release 모드로 컴파일된 프로그램이 실행되었을 경우와 디버거가 활성화 되지 않을 경우 breakpoint를 이용할 수 없다.


Settings and Clearing Breakpoints

breakpoint는 프로그램이 실행될 때 실행되는 코드 라인과 클래스 라이브러리에 추가할 수 있다.
주석이나 공백 라인, 클래스 선언부에는 breakpoint를 추가할 수 없다.

테스트할 코드이다. 새로운 콘솔 응용프로그램을 만들고 다음 코드를 메인 메소드에 추가 추가!


for (int i = 1; i <= 12; i++)

{

    Console.WriteLine("Multiplication table {0}.\n", i);

    for (int j = 1; j <= 12; j++)

    {

        Console.WriteLine("{0} x {1} = {2}", j, i, i * j);

    }

    Console.WriteLine("\n");

}




Setting a Breakpoint

breakpoint 추가하는 방법 몇가지가 있는데 우선 Visual Studio의 메뉴를 이용한다. 이 경우 커서가 위치한 곳에 breakpoint가 찍힌다. 단축키 F9를 이용해도 된다.




맨 좌측에 빨간색 동그라미를 "Breakpoint Glyph" 라고 부른다고 한다. (실제로는 한 번도 못들어봤음 ㅋ)


F5키를 눌러 디버깅 모드로 돌입! 프로그램 실행 중 코드의 breakpoint를 만나면 프로그램은 break 모드로 들어간다.
break 모드에서 디버깅 툴을 이용해 코드를 단계별로 디버깅 할 수 있다. 다시 F5를 누르면 break 모드를 빠져나온다.

breakpoint는 맨 좌측 부분을 마우스로 클릭해서도 추가 가능!


Removing a Breakpoint

breakpoint를 추가하는 방법으로 breakpoint를 제거할 수 있다.
규모가 큰 프로그램을 디버깅 할 때 많은 breakpoint를 설정한다. 디버깅이 끝났다면 디버그 메뉴의 "Delete All Breakpoints"를 선택하여 모든 breakpoint를 제거할 수 있다.


Disabling Breakpoints

지정한 breakpoint를 해제하지 않고 일시적으로 비활성화 시킬 수 있다. 지정한 breakpoint에서 마우스 오른쪽 버튼을 누른 후 "Disable Breakpoint"를 선택해 준다. (커맨드 메뉴의 디버그 메뉴 에서도 가능) 비활성화된 breakpoit는 가운데 색이 빠진 원 모양으로 표시된다.






File Breakpoint Dialog

위와 같은 간단한 breakpoint를 생성하는 것 외에 Visual Studio 에서 breakpoint의 추가 설정을 할 수 있다.






활성화된 breakpoint 에서 마우스 오른쪽 버튼을 눌러 "Location..."을 선택한다.
File Breakpoint dialog box 에서 3가지 설정을 이용하여 breakpoint의 위치 정보를 설정한다.
- File           : breakpoint가 위치될 코드 파일의 파일 이름
- Line          : breakpoint가 위치될 코드 라인(행) 번호
- Character  :  breakpoint가 위치될 코드의 열 번호

Character 설정을 이용하면 한 라인에 여러개의 커맨드가 있을 때 break할 커맨드를 설정할 수 있다.


일반적으로 break 모드로 디버깅할때 소스 코드 파일은 반드시 컴파일된 파일과 일치해야 한다. 때때로 사소한 수정을 코드에 했지만 기존 breakpoint를 그대로 사용하고 싶은 경우가 있다. 이 때 "Allow the source code to be different from the original version"(소스 코드가 원래 버전과 일치하지 않아도 됨) 옵션을 선택해 준다.


Conditional Breakpoints

conditional breakpoints는 조건에 맞을때만 break모드로 들어간다. 조건은 Breakpoint Condition dialog box를 이용하여 지정한다.


Condition 체크박스를 체크해야 조건을 판별한다. 조건식을 텍스트박스에 입력한다.
조건은 두가지가 있다.
- Is true           : 텍스트박스의 조건이 참일때만 break 모드로 들어간다.
- Has changed : 조건의 값이 변경되었을 경우 break 모드로 들어간다.

테스트를 위해 조건식에 "i == 10"을 입력한다. 옵션은 "Is true" 옵션 선택.

프로그램을 디버그 모드로 실행시키면 i 가 10일 경우에만 break 모드로 들어간다.
*) 이 경우 File breakpoint 옵션에서 character값을 수정하여 "i<=12"에 breakpoint가 지정되어 있어야 한다.


Setting a Hit Count

모든 breakpoints 는 디버그 모드로 실행중일 동안 hit count를 유지한다. hit count는 0부터 시작하며 breakpoint로 break모드로 들어갈 경우 그 수가 증가한다. Breakpoint Hit Count dialog box를 통해 현재 hit count에 해당하는 행동을 설정할 수 있다.
breakpoint에 마우스 오른쪽 버튼을 클릭하여 컨텍스트메뉴에서 Breakpoint Hit Count dialog box를 불러온다.

옵션
- break always.
: 기본 설정으로 breakpoint로 매번 hit될 때마다 break 모드로 들어간다.

- break when the hit count is equal to.
: 이 설정으로 breakpoint가 단 한번만 활성화 된다. hit count가 텍스트박스에 입력한 값과 같을때만 활성화됨.

- break when the hit count is a multiple of.
: hit count 가 지정한 수의 배수일 경우만 break 모드로 들어간다.

- break when the hit count is greater than or equal to.
: hit count 가 지정한 수보다 크거나 같을 경우만 break 모드로 들어간다.




Breakpoint Filters

한글 Visual Studio 의 Breakpoint Filter dialog box의 설명을 보자!
(자주 사용하는 기능이 아니라 읽어만 봐서는...)


다른 추가 설정과 마찬가지로 breakpont의 마우스 오른쪽 버튼을 눌러 컨텍스트 메뉴에서 "Filter..."를 선택해서 호출한다.


Creating Tracepoints

breakpoint를 tracepoint로 변환하는 방법을 알아보자. tracepoint는 메시지를 출력하거나 매크로를 실행시킨다는 점을 제외하고선 breakpoint와 비슷한다. 게다가 tracepoint를 사용할 경우 프로그램의 실행 중단은 선택적이다.

breakpoint를 tracepoint로 변경하기 위한 dialog box를 실행시킨다. breakpoint 에서 마우스 오른쪽 버튼을 누른 후 컨텍스트 메뉴에서 "When Hit..." (적중될 때)를 선택하면 된다.



breakpoint를 tracepoint로 변경하기 위해 tracepoint가 실행될 경우 출력될 메시지 또는 실행될 매크로 또는 이 두 옵션 모두를 설정한다. 메시지를 출력하기 위해 "Print a message" (메시지 표시) 옵션을 체크한다. 메시지는 breakpoint 주변의 변수이름을 이용하여 변수값을 출력할 수 있다. ("{변수}" 형식 이용). 또한 현재 함수, 프로세스, 스레드 정보를 출력하는 키워드를 사용할 수 있다.

테스트를 위해 메시지 표시 텍스트박스에 다음과 같이 입력한다.
New multiplication table {i}

tracepoint를 만날때 마다 출력 메시지로 설정한 메시지는 Visual Studio의 출력 윈도우에 출력된다.





두 번째 옵션인 "Run a macro" 를 선택하여 tracepoint가 hit되었을 경우 실행할 매크로를 지정할 수 있다. 매크로는 Visual Studio가 미리 정의한 매크로를 사용할 수 있으며 또한 사용자가 작성한 매크로도  사용할 수 있다.

마지막 옵션인 "Continue execution" (계속 실행) 는 tracepont가 breakpoint 처럼 동작할 것인지를 설정한다. 만약 이 옵션이 선택되었을 경우 tracepoint는 출력 및 매크로 실행 후 계속 프로그램을 진행시킨다. 옵션이 체크 해제되었을 경우 breapoint 처럼 hit되었을 경우 프로그램을 break 모드로 들어가게 한다.


The Breakpoint Window

Visual Studio는 Breakpoint 윈도우를 통해 현재 프로젝트의 breakpoint 와 tracepoint를 관리할 수 있게 도와준다.
메뉴의 Debug -> Windows -> Breakpoints 선택






Demo program


 

2011년 11월 16일 수요일

[VS-] Visual Studio Debug and Release Modes


원문 : Visual Studio Debug and Release Modes - BlackWasp
*) 개인적인 학습(?!)을 위해 작성하였으므로 정확하지 않을 수 있습니다.


Native Code 와 마찬가지로 .NET Framework 로 개발된 소프트웨어는 Debug 모드와 Release 모드로 컴파일될 수 있다. 두가지 모드로 컴파일된 모듈은 큰 차이가 있다.


Release Mode

Release 모드로 컴파일 할 때 컴파일러는 결과 모듈이 효율적으로 실행될 수 있도록 이용 가능한 모든 최적화 작업을 수행한다.
일반적으로 결과 모듈은 빠르고 경량이지만 디버깅툴로 접근할 수 없다.


Debug Mode

개발중인 모듈을 컴파일 할 때 사용하는 모드로 추가적인 정보가 모듈에 포함된다. 모듈의 최적화 과정은 수행되지 않는다.
결과 모듈은 사이즈가 크고, 수행 속도가 느리며 효율적이지 않다. 하지만 디버깅 툴로 모듈에 접근할 수 있다.


Setting the Build Mode

빌드 모드를 변경하는 가장 간단한 방법은 Visual Studio 툴바에서 변경하는 것으로, 기본적으로 Debug, Release, Configuration Manager 가 있다. 툴바로 변경하게 되면 솔루션에 포함된 모든 프로젝트에 영향을 주게 된다.


Using the Configuration Manager


<이미지 출처 : http://www.blackwasp.co.uk/images/ConfigurationManager.png>

Configuration Manager 로 솔루션의 빌드 모드를 선택할 수 있다. Debug 및 Release 모드 외에 사용자의 솔루션에 새로운 설정을 생성할 수도 있다. (<New...>를 이용해서) 새로 설정한 빌드 모드를 솔루션의 각각의 프로젝트에 적용할 수 있다.
각각의 프로젝트의 플랫폼을 설정할 수 있으며, 솔루션 빌드 시 각각의 프로젝트의 빌드 여부도 결정할 수 있다.



2010년 8월 4일 수요일

C# 4.0 / VS 2010 Review

C# 4.0 / VS 2010 Review












 C# 개발팀에서 만든 PowerPoint 자료. 

MSDN... 이용할 줄 알면 참 좋군.












2010년 7월 31일 토요일

[VS 2010] Visual Studio 2010 Tools - To improve code quality

원문은 Visual Studio 2010 Tools - To improve code quality 입니다.










Visual Studio 2010 Tools - To improve code quality











VS 2010 Tool을 사용하여 코드의 질을 향상시킬 수 있다. 이때 사용하는 Tool은 다음과 같다.





● Unit Testing 


    코드 조각이나 기능들을 테스트하기 위하여 코드 조각을 작성하는 것을 말한다.





● Code Coverage


    프로그램 소스내 특정 메소드가 실제 호출되서 사용되고 있는지, 그리고 사용된다면 빈도는 어느정도 인지, 또한 메소드내에 if문과 같은 조건식이 실제로 처리되고 있는지 처리된다면 빈도는 어느정도 인지 정보를 말한다. 음... 어렵네.. 자세한 정보는 다음 링크를 참조.


    cf) Code Coverage






● Test Impact Analysis





위 도구들의 VS 2010 각 에디션 별 지원 현황










데모 프로젝트를 만들어 각각을 테스트 해보기로 한다.





Step 1. Create Class Library





테스트할 클래스 라이브러리를 먼저 생성해 주자.





Class Library Name : MathLibrary


Class Name : CalculateBasic


Method : AddNumbers, SubstrctNumbers, MultiplyNumbers and DivideNumbers as shown below










Step2. Create Unit Test





 소스 코드서 마우스를 가져간 다음 마우스 오른쪽 버튼을 클릭한다.


팝업메뉴에서 "Create Unit Test..." 를 선택한다.













Create Unit Tests 윈도우에서 모든 메소드(생성자는 빼고)를 선택한 후 확인 버튼을 누른다.













New Test Project 윈도우에 생성할 UnitTest 프로젝트 이름을 입력한다.













솔루션 탐색기를 보면 CalculateBasicTest.cs 파일을 가진 MathUnitTest 프로젝트가 생성됨을 확인할 수 있다. CalculateBasicTest.cs 파일을 보면 앞서 CalculateBasic.cs의 메소드를 테스할 메소드가 생성되어 있다. 각각의 메소드에서 Assert.Inconclusive 문장을 제거해 주자.













Step 3. Test Unit Test





Unit Test를 해보자!! 우선 수행하기 전에 CalculateBasicTest.cs에 정의된 각 테스트 메소드를 보자.


AddNumbersTest 메소드를 보면 AddNumbers 메소드로 전달할 매개변수, 예측 결과값, 실제 결과값 변수가 선언되어 있다. 주석문에 TODO 라고 써있는 것 처럼 매개변수와 예측 결과값을 직접 작성해줘야 한다. 초기값으로 0 으로 되어있으니 테스트할 값으로 수정해 주자. 다른 테스트 메소드들도 이와 같은 방법으로 수정해 주자.













메뉴에서 "Test → Debug → All Tests in Solution" 을 선택한다.













하단에 Test Results 윈도우에  테스트 결과가 표시된다. 













예측한 값과 결과 같이 다르면 아래와 같이 실패한 정보를 보여준다. 이밖에도 테스트 메소드에서 예외가 발생하가나 기타 다른 이유등의 실패 시에도 그 결과를 보여준다.













Step 4. Enable Code Coverage and Test Impact Analysis





Code Coverage와 Impact Analysis 테스트를 활성화 시키자. 


메뉴에서 "Test → Edit Test Settings → Local (local.testsettings)













Test Settings 윈도우에서 다음과 같이 선택해 준다.


  1. Data and Diagnostics 선택


  2. 오른쪽 하단의 Data and Diagnostics for selected role: 에서 Code Coverage 와 Test Impact 를 체크


  3. Code Coverage 를 선택한 다음 위쪽에 Configure 를 선택한다.













Code Coverage 를 위해 포함시킬 어셈블리를 체크해 준다. 여기선 두개 다 선택해주었다. 클래스 라이브러리 혼자 독립적으로 실행될 수 없으니 해당 클래스 라이브러리를 테스트할 어셈블리도 포함시켜줘야 한다.













Step 5. Check Code Coverage





테스트를 위해 DivideNumbers 메소드를 다음과 같이 수정한다.










다시 한번 Unit Test 를 진행한 후 Test Results 에서 임의의 테스트에 마우스를 가져간 다음 마우스 오른쪽 버튼을 누른다. 팝업 메뉴에서 Code Coverage Results 를 선택한다.













Code Coverage Results 윈도우에서 결과를 확인할 수 있다.










Unit Test에 의해 코드의 Covered 와 Not Covered 수치를 확인할 수 있다. AddNumbers 를 보면 Covered Block 이 100% 이므로 Unit Test에서 모든 블록이 Covered 됬음을 알 수 있다. DivideNumbers 를 보면 28.57%가 Not Covered 이다. DivideNumbers 항목을 마우스로 선택한 후 마우스 오른쪽 버튼으로 Go to Source Code를 선택하여 코드로 이동한다.





색으로 Covered 와 Not Covered 를 구분지어 놨다.













Step 6. Test Impact Analysis





Impact Analysis 테스트의 목적은 Unit Test에서 임의의 코드의 Impact(?)를 체크하는 것이다. 


테스트를 위해 SubstractNumbers 와 MultiplyNumbers 메소드를 다음과 같이 변경해준다.













Impact Test View를 활성화 시키자.


"Test → Windows → Test Impact View"













솔루션을 다시 빌드하면 Test Impact View 에 다음과 같이 결과를 출력해 준다.













MultiplyNumbersTest 에서 마우스 오른쪽 버튼을 눌러 "Run All Impacted Tests" 를 선택해 준다.













Impacted tests로 다시 Code Coverage Result를 확인한다.











음...  Unit Test 는 어떤 경우에 사용해야겠구나 생각이 드는데 나머지는 조금 어렵다...