일반적인 소프트웨어 자동화 테스트에는 Selenium 및 QTP와 같은 자동화 도구가 필요합니다. 코딩된 UI는 이러한 도구와 유사하며 기능 테스트에 특히 유용할 수 있습니다.
코딩된 UI 테스트(CUIT)는 Visual Studio를 사용하여 기록을 수행할 수 있으므로 Visual Studio IDE를 사용하여 스크립트를 작성합니다.
초보자를 위한 이 코딩된 UI 자습서에서는 다음을 배우게 됩니다.
코딩된 UI 테스트란 무엇입니까?
코딩된 UI 테스트 기능
코드화된 UI 테스트(CUIT) 지원 기술
테스트 자동화에 코딩된 UI를 사용하는 이유
코딩된 UI 테스트(CUIT)를 만드는 방법
코딩된 UI 테스트의 내용
코딩된 UI 테스트 수행 방법
코딩된 UI 테스트(CUIT) 모범 사례
코딩된 UI 테스트와 Selenium과 QTP의 비교
코딩된 UI 테스트란 무엇입니까?
코딩된 UI 테스트(CUIT) 사용자 인터페이스(UI)를 통해 애플리케이션을 구동하는 자동화된 테스트입니다. 따라서 CUIT(Coded UI Test)라는 이름이 붙었습니다. 이 테스트에는 UI 컨트롤의 기능 테스트가 포함됩니다. 사용자 인터페이스를 포함하여 전체 응용 프로그램의 기능을 확인합니다. 기존 수동 테스트를 자동화하는 데에도 사용됩니다.
<중앙>
<그림>
UI 테스트 아키텍처
그림>
코딩된 UI 테스트 기능
코딩된 UI 기능은 다음과 같습니다.
기능 테스트
VB/C#에서 코드 생성
ALM 스토리와 통합
실험실에서 또는 빌드의 일부로 빌드, 배포 및 테스트
로컬, 원격 실행, 데이터 수집
풍부한 확장성
의도 인식 녹음 및 탄력적인 재생
코드화된 UI 테스트(CUIT) 지원 기술
코딩된 UI를 사용하면 UI(사용자 인터페이스)가 있는 응용 프로그램을 쉽게 테스트할 수 있습니다. 응용 프로그램은 창 기반 또는 웹 기반일 수 있습니다.
코딩된 UI는 다음과 같은 기술을 지원합니다.
창 기반 데스크톱 애플리케이션
웹 서비스(SOAP, ASPX 등)
윈도우폰 애플리케이션
WPF(Windows 프레젠테이션 파운데이션)
웹 애플리케이션(HTML, Silverlight, HTML5)
테스트 자동화에 코딩된 UI를 사용하는 이유
테스트 자동화를 위해 코딩된 UI가 선호되는 이유
개발자와 소프트웨어 테스터는 동일한 도구/언어를 사용하여 효과적으로 협업할 수 있습니다.
웹 및 Windows 프로젝트를 모두 지원합니다.
요소 식별 메커니즘은 코딩된 UI의 훌륭한 기능입니다. 또한 동기화를 지원합니다.
재생 엔진은 'WaitForControlExist' , 'WaitForReadyLevel' 등과 같은 기능을 지원합니다.
'Test Agents'의 도움으로 원격 시스템에서 자동화 테스트를 실행할 수 있습니다.
자동화 팀은 계층화된 프레임워크와 함께 코딩된 UI를 사용하여 정교한 테스트를 개발할 수 있습니다.
소프트웨어 테스터는 log4net.dll을 활용하여 예외를 포착하고 결과를 효과적으로 기록할 수 있습니다.
코딩된 UI 도구는 설명 프로그래밍을 지원합니다. 소프트웨어 테스터가 개체 속성을 기반으로 시나리오를 자동화할 수 있습니다.
AJAX 컨트롤을 지원합니다.
코딩된 UI 테스트(CUIT)를 만드는 방법
코딩된 UI 테스트를 생성하려면 다음과 같은 방법으로 수행할 수 있습니다.
기존 작업 기록에서 생성(수동 테스트 기록에서 변환)
처음부터 새로운 코딩된 UI 테스트 만들기
처음부터 코드 작성
코딩된 UI 테스트의 내용
코딩된 UI 테스트를 생성하면 코딩된 UI 테스트 빌더가 맵을 생성합니다. 여기에는 테스트 중인 UI, 테스트 메서드, 매개변수, 어설션 등이 포함됩니다. 각 테스트에 대해 클래스 파일도 생성합니다.
파일
콘텐츠
편집 가능
UIMap.Designer.csDeclaration 섹션 UIMap 클래스 메서드 PropertiesNoUIMap.csUIMap 클래스(부분)YesCodedUITest1.csCodeUITest1 클래스 메서드 PropertiesYesUIMap.uitest테스트용 UI의 XML 맵입니다. UI Map Editor를 통해서만 수정됩니다. 아니요
UIMap.Designer.cs :디자이너는 UIMap의 코드 보기를 포함합니다. 테스터가 일부 UI 상호 작용을 기록하거나 일부 개체가 UIMap에 수동으로 추가될 때 생성됩니다.
UIMap.cs :UIMap에 대한 모든 수정 또는 사용자 정의가 이 파일에 저장됩니다. 처음에는 이 파일이 비어 있으며 나중에 채울 수 있습니다. UIMap.designer.cs 파일을 직접 수정한 경우 기록되지 않도록 하십시오. 그렇지 않으면 모든 변경 사항이 손실됩니다.
CodedUITest1.cs :이 파일에는 코딩된 UI 테스트 클래스, 테스트 메서드, 어설션 호출 및 메서드 호출이 포함됩니다. 모든 어설션 및 메서드는 기본적으로 이 파일에서 호출됩니다.
UIMap.uitest :UIMap 클래스의 XML 표현입니다. 여기에는 창, 컨트롤, 속성, 메서드, 작업 및 어설션이 포함됩니다. UI 맵 편집기를 통해서만 편집됩니다.
다음으로 이 코딩된 UI 튜토리얼에서는 코딩된 UI 자동화 테스트를 수행하는 방법을 배웁니다.
코딩된 UI 테스트 수행 방법
코딩된 UI에는 애플리케이션에 대한 테스트를 수행하는 두 가지 방법이 있습니다.
코딩된 UI 기록 및 재생 또는
코딩된 UI 핸드 코딩
코딩된 UI 테스트를 수행하려면 다음 단계를 따라야 합니다.
CodedUI 테스트 프로젝트 생성
코딩된 UI 테스트 파일 추가
일련의 동작 기록
텍스트 상자와 같은 UI 필드의 값 확인
생성된 테스트 코드 보기
작업 및 주장 추가
테스트 활동 및 주장의 세부정보 편집
테스트 실행
코딩된 UI 테스트(CUIT) 모범 사례
다음은 코딩된 UI 테스트 자동화 프레임워크에 대한 몇 가지 모범 사례입니다.
가능한 경우 코딩된 UI 자동화 테스트 빌더 사용
UIMap.designer.cs 파일을 직접 수정하지 마세요. 그렇지 않으면 파일에 대한 변경 사항을 덮어씁니다.
기록된 방법의 시퀀스로 테스트 만들기
기록된 각 방법은 단일 페이지, 양식 또는 대화 상자에서 작동해야 합니다. 또한 각각의 새 양식, 페이지 또는 대화 상자에 대해 새 테스트 방법을 만듭니다.
메소드를 만들 때 기본 이름 대신 의미 있는 메서드 이름을 사용합니다. 의미 있는 이름은 방법의 목적을 식별하는 데 도움이 됩니다.
가능한 경우 기록된 각 방법을 10개 미만의 작업으로 제한합니다. 이 접근 방식을 사용하면 UI가 변경되는 경우 메서드를 더 쉽게 교체할 수 있습니다.
어설션을 만들려면 CodedUI 테스트 빌더를 사용하세요. UIMap.Designer.cs 파일에 어설션 메서드를 자동으로 추가합니다.
사용자 인터페이스가 변경되거나 기존 테스트 방법의 영향을 받는 섹션을 다시 기록하는 경우 테스트 방법/어설션 방법을 다시 기록합니다.
API로 직접 코딩하는 경우 UIMap.Designer.cs 파일에서 생성된 클래스의 메서드 및 속성을 사용합니다. 이 수업은 작업을 보다 안정적이고 쉽게 만들어 주며 생산성을 높이는 데 도움이 됩니다.
코딩된 UI 테스트 대 셀레늄 대 QTP 비교
아래는 코딩된 UI 대 셀레늄 대 QTP의 비교표입니다.
Selenium은 WPF는 물론 Windows 애플리케이션도 지원하지 않습니다.
Visual Studio CodedUI는 Window Store 애플리케이션 테스트와 Window Phone 애플리케이션 테스트를 지원합니다. 이를 지원하는 다른 도구는 없습니다.
테스트 완료는 Window 애플리케이션을 지원하지만 플러그인을 설치해야 합니다.
코딩된 UI 테스트 대 셀레늄 대 QTP 비교
요약:
사용자 인터페이스(UI)를 통해 애플리케이션을 구동하는 자동화된 테스트를 CUIT(CodedUI 테스트)라고 합니다.
코딩된 UI 테스트 자동화 프레임워크는 웹 서비스, 윈도우 폰 애플리케이션, 웹 애플리케이션 등과 같은 기술을 지원합니다.
코딩된 UI 테스팅을 통해 개발자와 소프트웨어 테스터는 동일한 도구/언어를 사용하여 효과적으로 협업할 수 있습니다.