UI 테스트 자동화(Coded UI Test)를 통한 품질 혁신 가이드

Slides:



Advertisements
Similar presentations
Web Based Data Warehouse Query Tool 이화여자대학교 2002 년 컴퓨터학과 졸업프로젝트 14 조.
Advertisements

기회 관리 SAP Best Practices for CRM SAP Best Practices.
마이크로소프트 OLAP 및 리포팅 솔루션을 근간으로 기간 시스템과 연계한 분석 시스템 구축 방안 우철웅기술이사컨설팅사업부 ㈜인브레인 I N B R E I N.
사전 프로세스 단계 SAP Best Practices. ©2012 SAP AG. All rights reserved.2 목적, 장점 및 주요 프로세스 절차 목적  이 비즈니스 프로세스 절차에는 특정 물류 시나리오의 표준 비즈니스 프로세스 절차를 진행하기 위해 사전에.
의료정보팀 박수완 강남세브란스병원 GANGNAM SEVERANCE HOSPITAL.
Streaming 과 Adaptive Streaming 티빙 시대 8조. 티빙시대 모니터링팀 8조의 PowerPoint 01 Streaming02 Adobe Flash03 Silverlight04 APPLE’S05 Q&A.
2 IE 8 과 ActiveX 컨트롤 정 성태 책임 컨설턴트 ㈜ 닷넷 엑스퍼트 3 MIC ( 신뢰등급 : Mandatory Integrity Control) 보호 모드와 MIC 의 관계 LCIE (Loosely-coupled Internet Explorer) ActiveX.
여신 관리 SAP Best Practices. ©2012 SAP AG. All rights reserved.2 목적, 장점 및 주요 프로세스 절차 목적  판매 문서를 생성하거나 변경할 때 여신 한도 점검을 수행합니다. 장점  대손 리스크 감소  안정성과 수익성 높은.
반복 제조 SAP Best Practices. ©2012 SAP AG. All rights reserved.2 목적, 장점 및 주요 프로세스 절차 목적  반복 제조는 일반적으로 생산 프로세스가 아래와 같은 기준에 부합하는 경우 사용됩니다. – 동일하거나 유사한 제품이.
포토 스탬프 제안서 제 안 사 : ㈜디제이어퍼 커뮤니케이션 대표이사 : 김강일. © 2006 DJ Upper Communication. All rights reserved. This presentation is for informational purposes only.
Windows 시스템 복구의 최강 ! Backup Exec System Recovery 7.0 서린정보기술㈜ 윤주병 대리.
NOROO R & C CO.,LTD. 615,PAKDAL-DONG, MANAN-GU, ANYANG-CITY, KYONGGI-DO, KOREA The information contained herein is believed to be reliable, but no representations,
약식 캠페인 관리 SAP Best Practices for CRM SAP Best Practices.
SQL Server 2005 기반의 Microsoft Business Intelligence 전략 박명은 차장 SQL Technology Specialist 기술사업부 기업고객사업 한국마이크로소프트.
Lync 2013 소개 및 구축 가이드 화상, 음성 및 회의 SMS&P TSS 양영건 차장 Microsoft Lync
경상대학교 TOEIC 접수 매뉴얼 경상대학교 접수페이지 페이지 설명
졸업 프로젝트 중간보고서 12조 Spot Browser.
Crystal Reports .NET ASTech System.
한-칠레 FTA 협상 1. FTA (자유무역 협정) 2. FTA 첫 상대국으로서 칠레 3. 한-칠레 FTA 체결 과정
발표 순서 1 개 요 2 설계 단계에서 피로 건전성 평가 운영 단계에서 피로 건전성 평가 및 관리 3 4
2009년 IT인재개발원 [연수생 모집요강]
글로벌 비즈니스를 위한 클라우드 플랫폼 Microsoft Azure
Microsoft Operations Management Suite
Backup Exec System Recovery Manager 7.01 Configurations Guide
APPEON SOLUTION INTRODUCTION.
PaaS와 IaaS가 연계된 클라우드 서비스
안재훈 기업고객사업본부/기술사업부 한국마이크로소프트
삼성전자 사외업무지원시스템 사용자 매뉴얼 v4.1.
iGrafx Consulting Group
제주지역대학 제주 새별오름 들불축제 지역 식생(植生) 변화 조사 연구
2장 데이터가 가지고 있는 특성을 정리하여 그래프로 표현하기
8가지 TIP으로 Windows 8 완전정복하기
Young Jun, Son Partner Account Manager
Name Title Company Name
Azure WebApp on Linux와 .NET Core
Visual Studio 2008 버전별비교 및 제품개요
InstallShield Professional Services ( Services Pack / Education / Consulting ) ㈜소프트뱅크 커머스.
SQL Server 2000, SQL Server 2005 비교 자료
New 2007 Microsoft Office system
DAT305 SQL Server AlwaysOn Technologies: 올바른 고 가용성 기능 선택
SSAS 변화된 구조와 사용자 분석 화면 구현 우철웅 기술이사 BI 사업부 인브레인.
파생금융상품시장의 동향과 전망 -수익률 곡선과 통화스왑 베이시스를 중심으로
Windows Server 2008 보안 한국마이크로소프트.
Name Title Company Name
ASP.NET Mobile Controls
일타쌍피!! 아이유(IU)가 아니라 UI 테스트 길(Road)이 아니라 Load 테스트
.NET Application Upgrade 방안 및 TFS Upgrade
Social Web Development Platform ASP.NET Razor
시나리오: 사물 인터넷 (Internet of Things)
11장 세 개 이상의 모집단 평균에 대한 추론(분산분석)
13장 카이제곱(χ2)분석 2019년 2월 24일 오전 3시 39분2019년 2월 24일 오전 3시 39분
Volume Licensing Service Center
Visual Studio 2013 IDE의 새로운 기능 소개
3장 데이터의 특성을 대표적인 수치로 표현하기 2019년 2월 25일 오전 9시 36분2019년 2월 25일 오전 9시 36분
1장 생활과 통계학 2019년 2월 25일 오전 9시 37분2019년 2월 25일 오전 9시 37분
기업고객사업본부 / 기술사업부 한국마이크로소프트
웹 성능 및 부하 테스트(Load Test)를 통한 소프트웨어 품질 향상방안
10장 두 개의 모집단에 대한 추론 2019년 4월 5일 오후 4시 22분2019년 4월 5일 오후 4시 22분
9장 모집단이 한 개인 경우의 통계적 추론 2019년 4월 6일 오후 2시 22분2019년 4월 6일 오후 2시 22분
VS 2005와 VS 2003 동급 제품, upgrade path
Visual Studio 2013을 활용한 개발 생산성 및 코드 품질 혁신
8장 무죄인가 유죄인가를 판단하는 가설의 검정 2019년 5월 1일 오전 8시 29분2019년 5월 1일 오전 8시 29분
Visual Studio 2013을 활용한 개발 생산성 및 코드 품질 혁신
Name Title Company Name
7장 표본의 결과를 이용하여 모집단의 특성을 밝혀내자
Name Title Company Name
Name Title Company Name
7/10/2019 6:22 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
5장 세상의 많은 현상들은 정규분포를 따른다. 2019년 7월 31일 오후 6시 46분2019년 7월 31일 오후 6시 46분
Presentation transcript:

UI 테스트 자동화(Coded UI Test)를 통한 품질 혁신 가이드 김태영(Taeyo) 부장, 개발자 플랫폼 사업본부 한국마이크로소프트

테스트(& UI 테스트)는 왜 필요한가? 어…어...어떤 버튼을 눌러야 하지?

애플리케이션 계층과 테스트 UI 테스트 단위 테스트 사용자 인터페이스 (ASP.NET, WinForms, XAML 등) Presentation 계층 Business Logic/Service 계층 단위 테스트 Data Access/리파지토리 계층 Database

개발자의 테스트를 무시하지 마라 수동 UI 테스트는 언제나 우리들의 친구였다

Unit Test? Coded UI Test? Unit Test Coded UI Test 클래스와 메서드에 대한 API 수준의 테스트 개발 품질 향상을 위해 가장 우선적으로 고려해야 할 테스트 UI 관련된 부분을 테스트하기에는 어려움이 있음 Coded UI Test 사용자 인터페이스가 올바로 동작하는지 검사하는 테스트 응용 프로그램의 실행 동작을 레코딩 및 테스트 사용자의 키보드, 마우스 움직임을 시뮬레이트 UI 테스트를 단위 테스트처럼 자동화할 수 있음 통합 테스트 용도로 활용 가능 코드 검사분석(Coverage) 지원

4/9/2019 테스트 경험의 발전 F5 경험 UI를 통해 전체 응용프로그램을 빌드하고 수동으로 테스트 일반적인 비-CUIT 테스트 UI를 이용하지 않고 전체 응용 프로그램 테스트 (예, 단위 테스트) 일반적인 CUIT 테스트 UI를 통하여 전체 응용프로그램을 자동으로 테스트 UI를 검증하는 테스트 격리 상태에서 UI 테스트 출처 : http://msdn.microsoft.com/ko-kr/library/dd286726.aspx © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

UI Test 자동화를 위한 Visual Studio의 지원 4/9/2019 UI Test 자동화를 위한 Visual Studio의 지원 Coded UI 테스트 작성 수동 코딩 기존 테스트 케이스 Import 레코드 액션 테스트 케이스 연계 테스트 케이스 실행 방법 직접 실행 빌드 통합 Test Manager Visual Studio 도구 단위 테스트 UI 자동화 테스트 성능 테스트 부하 테스트 코드 품질 분석 결함 보고 품질 분석 코드 커버리지 빌드 보고서 버그 생성 키워드 기반 UI Automation test creation is handled from the Visual Studio IDE. There are three methods for creating these tests: manual creation via code, keyword based scripts (using the preferred partner solution LogiGear), recording your actions as you interact with the UI, or importing an existing manual test case that has an action recording. Once the test has been created in the IDE, it can be ran from the IDE itself directly, from Test Manager, or automated as part of an automated build or deploy scenario. Automated UI tests can be associated with test cases in TFS for maximum visibility. Just like all other types of testing in Visual Studio, automated UI tests are backed by Team Foundation Server, enabling up to the minute detailed reporting. Depending on the method of execution, bugs can be created (directly in the case of MTM execution, or part of a failed build in the case of complete automation). © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

CUIT의 핵심. 코딩된 UI 테스트 빌더 테스트 녹화기 종료 코드 자동 생성 어설션 추가 스텝(단계) 편집 녹화/일시 멈춤/녹화재개 스텝(단계) 편집 어설션 추가 코드 자동 생성 테스트 녹화기 종료

CUIT의 핵심. 코딩된 UI 테스트 빌더

Assertion 추가 테스트 빌더로 어셜션 추가

4/9/2019 코딩된(Coded) UI 테스트 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Data-Driven Coded UI Test 코딩된 UI 테스트 준비된 데이터를 사용하여 UI 테스트를 실행 현재 5가지 종류의 데이터 소스 형식을 지원 CSV, Excel, Test Case(TFS), XML, SQL Express 기 작성된 UI 테스트에 [DataSource] 어트리뷰트를 사용하여 적용 데이터 소스의 각 행은 코딩된 UI 테스트를 각각 반복 실행 실제 해당 데이터에 대한 접근은 TestContext.DataRow["열 이름"] 사용 테스트의 전체 결과는 모든 반복의 결과를 기반으로 함 테스트 반복이 하나라도 실패하면 전체 테스트 결과가 실패 참고 : http://msdn.microsoft.com/ko-kr/library/ee624082.aspx

Data-Driven Coded UI Test 데이터 형식 데이터 원본 어트리뷰트 CSV [DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\data.csv", "data#csv", DataAccessMethod.Sequential), DeploymentItem("data.csv"), TestMethod] Excel [DataSource("System.Data.Odbc", "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)}; dbq=|DataDirectory|\\Data.xls;defaultdir=.;driverid=790;maxbuffersize=2048; pagetimeout=5;readonly=true", "Sheet1$", DataAccessMethod.Sequential), TestMethod] 테스트 케이스 (TFS) [DataSource("Microsoft.VisualStudio.TestTools.DataSource.TestCase", "http://vlm13261329:8080/tfs/DefaultCollection;Agile", "30", DataAccessMethod.Sequential), TestMethod] XML [DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\data.xml“, "Iterations", DataAccessMethod.Sequential), DeploymentItem("data.xml"), TestMethod] SQL Express [DataSource("System.Data.SqlClient", "Data Source=.\\sqlexpress;Initial Catalog=tempdb; Integrated Security=True", "Data", DataAccessMethod.Sequential), TestMethod]

Data-Driven Coded UI Test 코드 샘플

크로스 브라우저 지원 추가 컴포넌트 설치 필요 테스트 브라우저 설정 4/9/2019 크로스 브라우저 지원 추가 컴포넌트 설치 필요 Selenium components for Coded UI Cross Browser Testing 테스트 브라우저 설정 BrowserWindow.CurrentBrowser = “IE” BrowserWindow.CurrentBrowser = “Chrome” BrowserWindow.CurrentBrowser = “Firefox” http://visualstudiogallery.msdn.microsoft.com/11cfc881-f8c9-4f96-b303-a2780156628d © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

코드 검사분석(Code Coverage) 4/9/2019 코드 검사분석(Code Coverage) 얼마나 테스트 되었는지를 정량적으로 검증 코드 커버리지가 없는 단위 테스트는 앙꼬없는 찐빵 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Code UI Test Platform Support 4/9/2019 Code UI Test Platform Support 운영체제 Windows 7, 8, Windows Server 2008 R2 .NET .NET 2.0, 3.0, 3.5, 4.0, 4.5 (상기 버전으로 개발된 앱을 지원한다는 의미임) Internet Explorer 8 ,9, 10, 11 버전 지원 (10, 11은 데스크탑 버전만 지원) Window Store App 지원. XAML 기반 앱 Windows Forms와 WPF 써드파티 컨트롤 지원 Chrome, Firefox 최신 버전만 지원 Window Form 2.0 이상 MFC 부분적으로 지원 WPF 3.5 이상 지원 (다만, 일부 써드파티 컨트롤은 지원되지 않을 수 있음) SharePoint Dynamics CRM web client http://msdn.microsoft.com/en-us/library/dd380742(v=vs.120) http://msdn.microsoft.com/en-us/library/dd380742(v=vs.110) © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Code UI Test Platform No Support Internet Explorer 6, 7 지원안함 Silverlight (플러그인 설치 시 가능하긴 하나 문제있음) Flash Java Office Client Applications SAP http://msdn.microsoft.com/en-us/library/dd380742(v=vs.110)

Visual Studio 11 4/9/2019 Coded UI Test Coded UI tests는 단위 테스트 수트의 일부로 실행되기 때문에, 결함을 조기에 발견할 수 있게 한다 Coded UI tests 는 소스 제어로 버전 관리도 가능하다 Coded UI 테스트와 그 밖의 회귀 테스트를 빌드 자동화의 일부로 실행하도록 설정하면, 개발팀은 테스트 실행에 관해 고민할 필요가 없다. 문제가 생기는 경우에 그 원인을 찾아서 해결하면 된다 Talk Track: As coded UI tests are code, you can attach them to your continuous integration build verification tests, or other automated builds to ensure that defects in your application’s UI are discovered as soon as possible. 룩앤필이 변경된다 하더라도, 자동화된 테스트는 여전히 잘 동작한다 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

로그 설정 추적수준을 조정하여 로그 출력 설정 C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE QTAgent32.exe.config 파일 수정 system.diagnostics 섹션의 EqtTraceLevel 기본 값은 0으로 설정. 1, 2는 오류 로그만 출력 3, 4는 상세 로그 출력

로그 출력 화면

DEMO

최선의 구현 방법 가능하면 항상 코딩된 UI 테스트 빌더를 사용하세요 UIMap.designer.cs 파일을 직접 편집하지 마십시오. 그 파일은 빌더에 의해서 자주 변경됩니다 테스트를 일련의 기록된 메서드로 만듭니다 기록된 각 메서드는 단일 페이지, 폼 또는 대화 상자에서 작동해야 합니다 각각의 새 페이지, 폼 또는 대화 상자에 대한 새 테스트 메서드를 만듭니다 메서드를 만들 때, 기본 이름 대신 의미 있는 메서드 이름을 사용하세요 가능하면 기록된 각 메서드의 작업 수를 10개 미만으로 제한하는 것이 좋습니다 이러한 모듈 방식을 사용하면 UI가 변경되는 경우 메서드를 쉽게 바꿀 수 있습니다 참고 : http://msdn.microsoft.com/ko-kr/library/dd380782.aspx

최선의 구현 방법 (계속) 코딩된 UI 테스트 빌더를 사용하여 각 어설션을 만듭니다 그러면 어설션 메서드가 자동으로 UIMap.Designer.cs 파일에 추가됩니다 UI가 변경되는 경우 테스트 메서드 또는 어설션 메서드를 다시 기록하거나 영향을 받는 기존 테스트 메서드 섹션을 다시 기록하세요 테스트 대상 응용 프로그램의 각 모듈에 대한 별도의 UIMap 파일을 만듭니다 테스트 대상 응용 프로그램에서 UI 컨트롤을 만들 때 의미 있는 이름을 사용 코딩하여 어설션을 만드는 경우 UIMap.cs 파일에 있는 UIMap 클래스 부분에 각 어설션에 대한 메서드를 만듭니다 API로 직접 코딩하는 경우, UIMap.Designer.cs 파일에 생성된 클래스의 속성과 메서드를 가능한 한 많이 코드에 사용합니다 이러한 클래스를 사용하면 작업이 더 간단해지고 신뢰도와 생산성을 높일 수 있습니다. 참고 : http://msdn.microsoft.com/ko-kr/library/dd380782.aspx

참조 Testing for Continuous Delivery with Visual Studio 2012 http://msdn.microsoft.com/en-us/library/jj159345.aspx Visual Studio 진단 도구로 품질 개선 http://msdn.microsoft.com/ko-kr/library/dd264943.aspx 코딩된 UI 테스트를 사용하여 코드 확인 http://msdn.microsoft.com/ko-kr/library/dd286726.aspx

Q & A