GUI 테스팅 자동화 프로세스 / Squish & squish coco training

개요

본교육은 사용자와 디바이스 간 커뮤니케이션에 매우 중요한 역할을 하는 GUI를 이해하고 나날이 강조되는 GUI의 중요성에 따른 ‘GUI 테스팅의 이론과 기초 실습’을 통한 GUI 테스팅 프로세스에 대한 전반적인 이해를 높이고자 합니다.

참석대상

GUI 테스팅에 관심이 있거나 테스팅을 계획하고 있는 실무 담당자 등

교육 프로그램

일정

세부내용

강사

1 일차

10:00-11:00

GUI 테스팅 개요

- GUI의 정의

- GUI의 기술 동향

무기체계 SW 시험규정의 변화

- 국방 분야 SW 신뢰성 시험 규정

자동차 및 다양한 산업의 GUI 테스트

모아소프트

엔지니어

11:0-12:00

Squish & Coco 툴 소개

- froglogic 소개

- Squish 소개

- Coco 소개

13:00-14:00

Squish 실습

- 응용 프로그램 적용

- Recording & Replay 기법

- 스크립트 생성

- 레포트 출력

14:00-15:00

Squish 실습

- 객체 인식

- 테스트 조건 적용

- BDD 테스트 소개

15:00-16:00

Squish 실습

- iPad 연동 시험 소개

- Qt로 개발된 실제 타겟 연동 시험 소개

16:00-17:00

Coco 실습

- 코드 커버리지 출력

- 레포트 출력

* 상기 강의 일정은 진행에 따라 다소 변경될 수 있습니다.

교육 일정 안내

교육장소

서울 송파구 가락동 175-14 연암빌딩 4층 모아소프트 교육장

교육기간

2019년 연내 3회

교육비

유저 무료, 비유저 22만원 (froglogic 유지보수 고객 무료)

교재

자체제작

교육장

교육신청 및 안내

http://www.moasoftware.co.kr/edu/edu.asp

02.6945.2182 (hmnam@moasoftware.co.kr)

 

 

 

임베디드 산업에서 현대적 사용자 인터페이스(HMI)의 출현과 함께, 고품질 제품을 개발하고 공급하기 위해서는 임베디드 장치의 GUI 시험을 자동화하는 새로운 방법이 필요합니다. 크로스 플랫폼 및 크로스 기술 GUI 테스트 자동화 툴인 'Squish'와 크로스 플랫폼 코드 커버리지 분석 툴인 'Squish Coco'를 개발한 혁신 기업 Frogogic은 전 세계 3000여 고객에게 13년 이상 테스트 자동화를 위한 신뢰할 수 있고 검증된 솔루션을 제공하고 있습니다.

자동차, 의료, 항전, 운송, 산업, 소형가전, 가정용 어플라이언스 및 홈 자동화와 같이 빠르게 변화하는 임베디드 시장에서 GUI 테스트 자동화의 필요성을 예상한 후, 현재 몇 년 동안 Froglogic은 임베디드 시스템의 많은 HMI 테스트 요구를 충족시키기 위해 GUI 테스트 자동화를 확대하고 있습니다.

Bosch, Siemens, GE, FLIR, Prüftechnik 및 St. Judes Medical을 포함한 많은 유명 기업들은 이미 Qt를 내장 Qt, QML 및 Qt Quick 사용자 인터페이스의 HMI 테스트 자동화와 연결된 애플리케이션의 테스트 자동화를 위해 Squish를 채택했습니다. 여기에는 자동차 IVI, 의료기기, 가정용 기기 및 기타 특수 임베디드 장치의 시험 자동화를 위한 squish의 사용이 포함됩니다. 이러한 회사들 중 많은 경우가 산업 안전 표준을 충족하기 위해, 그들의 테스트의 코드 적용 범위를 측정하기 위해 squish coco를 사용합니다.

임베디드 업계에는 테스트 자동화 요구사항에 직접적인 영향을 미치는 두 가지 주요 동향이 있습니다. 첫째, 스마트폰과 태블릿의 사용 편의성에 맞추기 위해 오늘날의 임베디드 기기는 훨씬 더 복잡한 사용자 인터페이스를 제공하는데, 이는 테스트 과정에서 훨씬 더 많은 주의가 필요합니다. 또한, 많은 임베디드 장치들이 동반 애플리케이션 및 웹 인터페이스를 통해 클라우드를 통해 연결되어 있습니다. 이는 일반적인 사용 시나리오를 다루는 훨씬 더 복잡한 엔드 투 엔드 테스트를 필요로 한다."고 Frogogic의 CEO인 Reginald Stadlbauer는 말합니다.

"Squish가 단일 테스트에서 여러 장치에서 실행되는 여러 애플리케이션을 자동화할 수 있을 뿐 아니라 Qt 및 QML 외에도 기본 모바일, 데스크톱 및 웹 애플리케이션의 GUI 테스트 자동화를 지원하는 기능을 통해 이러한 테스트 자동화 과제를 해결하기 위한 포괄적인 솔루션을 제공하고 있습니다. 이를 통해 고품질의 표준을 보장하고 소프트웨어 출시 주기를 단축하는 이러한 복잡한 HMI 및 시스템 엔드 투 엔드 테스트를 자동화할 수 있습니다,"라고 Progogic의 CTO Harri Porten은 말했습니다.

차세대 임베디드 소자를 개발하는 주요 기술인 Qt가 성장함에 따라, 거품기의 Qt 시험 자동화와 코드 적용 툴에 대한 수요는 급격히 증가하고 있습니다. 따라서, Froglogic은 자동화된 임베디드 HMI 시험의 필요를 위해 제품과 서비스를 개선하는 데 계속해서 투자할 것입니다.

데스크톱, 임베디드 리눅스, QNX, WinCE, 윈도우즈 Embedded, Android 등 모바일 및 임베디드 시스템에서 Qt, QtQuick GUI 테스트 자동화를 이미 지원하는 Qt의 Squish는 동작 기반 개발을 완벽하게 지원하며, 속성 검증 외에도 고급 시각적 검증 기능을 갖추고 있습니다다. 다음 버전에서 Qt용 Squish는 다른 임베디드 시험 및 시뮬레이션 도구와 상호작용할 수 있도록 Qt IVI 모듈과 FMI(Functional Mockup Interface)에 대한 지원을 추가할 것입니다. 더 많은 GUI 범위 분석과 새로운 자동 GUI 스타일 가이드 컴플라이언스 검사가 Squish에 의해 특징지어질 것입니다.

이미 데스크톱의 C/C++ 및 C# 애플리케이션 및 임베디드 시스템의 코드 적용 범위에 대한 지원을 제공하고 있는 코드 적용 툴인 Squish Coco는 ISO 26262와 같은 업계 안전 표준의 엄격한 요구 사항과 QML 애플리케이션에 대한 지원을 포함하여 MC/DC 및 MCC 적용 수준을 강화했습니다.

내장된 시스템과 함께 사용하기 위한 Squish for Qt 및 Squish Coco의 특정 기능에 대한 자세한 내용은 내장 Qt HMI의 자동 테스트를 참고하세요.

http://www.moasoftware.co.kr/product/gui.asp

GUI 어플리케이션의 자동화 테스트와 코드 커버리지 분석을 지원하는 Coco는

독일 froglogic과 국내 독점 계약을 체결한 모아소프트에서 서비스합니다.

루션담당 장정훈 부장 02.6945.2120 jhjang@moasoftware.co.kr

지원 환경- Qt, QML, QtQuick and QtWebKit- Native Window Controls- Mac OS X Cocoa and Carbon- iOS Native and web GUIs- Android Native and Web GUIs- Web and Flex in multiple browsers- and more

Squish Coco (코드 커버리지 분석 도구)- C, C++, C#, Tcl 어플리케이션의 코드 커버리지 분석- Function, Line, Branch, Branch Decision and Condition Coverage 지원- Unit, Automated, Manual 테스트 지원- Untested Code 및 Dead Code 발견에 용이- 서로 다른 버전의 어플리케이션 커버리지 비교 기능 지원- 실행 결과의 누적 Report 제공

Squish Coco Toolchain- CoverageScanner: C, C++, C# 과 Tcl 어플리케이션의 분석- CoverageBrowser: 복잡한 GUI의 분석 데이터 및 결과의 관리 및 디스플레이- Microsoft® Visual Studio Add-in: Visual Studio IDE에서 개발된 C, C++, C# 프로젝트의 코드 커버리지 측정을 위한 구성 생성

 

 

 

오늘은 Squish Coco를 활용한 Qt 테스트 프레임 워크 (또는 짧은 QT test )를 사용하여 작성된 단위 테스트의 코드 범위 를 측정하는 방법을 소개해 보겠습니다.

The example

Qt Test 프레임 워크를 통해 테스트 해볼 'Qt를 사용하는 코드의 간단한 예'는 다음과 같습니다.

애플리케이션 로직은 유명한 "Hello World"예제보다 약간 더 많은 기능을 수행합니다.

 

 

이 함수가 인수에 따라 다른 것을하는지 확인하기 위해 QT test 기반 단위 테스트도 작성합니다.

 

그리고 예제를 완성하기 위해 유닛 테스트 애플리케이션을 빌드하고 실행할 수있는 qmake 프로젝트가 필요합니다.

 

Adding Coverage Information

위의 테스트에 대한 적용 범위 정보를 얻는 첫 번째 단계는 Squish Coco를 사용하여 모든 코드를 계측하는 것입니다. Qt 프로젝트에서 이를 달성하는 한 가지 방법은 qmake에서 컴파일러와 링커 구성을 대체하고 확장하는 것입니다.

 

 

블록 구문을 사용하면 qmake 명령 줄에서 'CONFIG + = coco'를 전달하거나 생략하여 범위 계측을 활성화 / 비활성화 할 수 있습니다. 사용자 정의 COVERAGE_OPTIONS 변수는 Squish Coco를 구성합니다. Qt include 파일에서 확장 된 인라인 코드뿐만 아니라 실제 테스트 코드의 인스트루멘테이션을 생략합니다.

코드 커버리지 도구를 사용하려면 'qmake test_applogic.pro CONFIG + = coco'를 실행하시면 됩니다. 그런 다음 'make clean check'를 실행하여 단위 테스트를 재구성하고 실행시킬 수 있습니다.

마지막으로, 결과 범위 정보를 Coco의 CoverageBrowser에로드 할 수 있습니다. Instrumentation Database 'test_applogic.csmes'를 열고 'test_applogic.csexe'에서 실행 보고서를로드하면됩니다.

CoverageBrowser 의 결과 는 다음과 유사해야 합니다.

 

 

함수 목록에서 볼 수 있듯이 'doSomething ()'의 응용 프로그램 논리가 완전히 다뤄졌습니다. 그러나 실제로 코드의 어느 부분을 테스트했는지는 보이지 않으므로 개선의 여지가 있습니다. Coco는 'if ()'결정의 가능한 결과가 일부 테스트에서 다루어 졌음을 보여줍니다.

Improving coverage information for QT test

현재 어떤 테스트가 실행되고 있는지에 따라 더 많은 컨텍스트 적용 범위를 갖기 위해 단위 테스트 코드를 약간 확장 할 수 있습니다. Coco는 테스트가 시작된 곳과 끝나는 곳 및 현재 실행중인 테스트를 통보받을 수 있습니다. QT test의 경우 각 테스트 케이스 전후에 자동으로 호출되는 슬롯을 구현하여 이 정보를 제공 할 수 있습니다.

 

테스트를 다시 빌드하고 실행 한 후 새 실행 보고서를 CoverageBrowser에로드하면 이제 실행 목록에 자동으로 이름이 지정됩니다. 더 이상 실행 보고서를로드 할 때 이름을 제공 할 필요가 없습니다.

또한 'if ()'결정에 대한 설명은 이제 결정의 어느 부분이 어떤 테스트 케이스에서 다루어 졌는지를 설명합니다.

Final thoughts

예제를 간결하게 유지하기 위해 응용 프로그램 논리는 단위 테스트의 일부로 빌드되었습니다. 더 복잡한 프로젝트의 경우 응용 프로그램 논리는 추가 라이브러리의 일부일 수 있습니다. 이 경우 코드 커버리지를 위해 해당 라이브러리를 설치해야합니다. 또한 qmake 포함 파일로 이동하여 적용 범위 정보를 사용할 수있는 qmake 코드를 공유하는 것도 의미가 있습니다.

본문 : https://www.froglogic.com/blog/tip-of-the-week/code-coverage-with-qtest/

=====================================================================

GUI 어플리케이션의 자동화 테스트와 코드 커버리지 분석을 지원하는 Coco는

독일 froglogic과 국내 독점 계약을 체결한 모아소프트에서 서비스합니다.

솔루션담당 장정훈 부장 02.6945.2120 jhjang@moasoftware.co.kr

지원 환경- Qt, QML, QtQuick and QtWebKit- Native Window Controls- Mac OS X Cocoa and Carbon- iOS Native and web GUIs- Android Native and Web GUIs- Web and Flex in multiple browsers- and more

Squish Coco (코드 커버리지 분석 도구)- C, C++, C#, Tcl 어플리케이션의 코드 커버리지 분석- Function, Line, Branch, Branch Decision and Condition Coverage 지원- Unit, Automated, Manual 테스트 지원- Untested Code 및 Dead Code 발견에 용이- 서로 다른 버전의 어플리케이션 커버리지 비교 기능 지원- 실행 결과의 누적 Report 제공

Squish Coco Toolchain- CoverageScanner: C, C++, C# 과 Tcl 어플리케이션의 분석- CoverageBrowser: 복잡한 GUI의 분석 데이터 및 결과의 관리 및 디스플레이- Microsoft® Visual Studio Add-in: Visual Studio IDE에서 개발된 C, C++, C# 프로젝트의 코드 커버리지 측정을 위한 구성 생성

 

 

 

 

제품의 스펙이 중요시되던 환경에서 사용자 편의성과 인터페이스가 중심이 되는 환경으로의 변화에 발맞춰,

사용자와 디바이스 간 커뮤니케이션에 매우 중요한 역할을 하는 GUI에 대한 관심이 날로 높아지고 있습니다.

높아지는 관심에 비해 GUI에 대한 검증은 상대적으로 미비한 상황입니다.

이 같은 국내상황에 (주)모아소프트무기체계 및 자동차, 소프트웨어까지 GUI 환경의 의미와 기능을 재정립하고 GUI Test 기법 및 수행방안을 논의하는 자리를  마련하고자 합니다.

'GUI 신뢰성 시험'이라는 주제를 가지고 국내 최초로 진행되는 컨퍼런스에
많은 분들의 관심과 참석을 고대합니다.

참가신청 : (참석비 무료 / 선착순 마감)  
http://www.moasoftware.co.kr/edu/eduview.asp?c_type=S&class_id=485&prePage=edu.asp

 

 

froglogic은 Gartner의 '2018 하이페 사이클'에서 모바일 애플리케이션 테스트 및 개발자 개발 툴인 Multiexperience 다중 경험 개발을위한 샘플 벤더로 인정 받았습니다.

소프트웨어 개발자가 '더 짧은 릴리스 주기' 및 '지속적인 제공'이라는 목표를 달성하려면 광범위한 장치에서 소프트웨어 테스트를 필요로 하며, 이 과정은 높은 수준의 자동화를 필요로 합니다. Gartner는 최근 2018년 8월 '애플리케이션 개발 및 제공을 위한 하이퍼 사이클', '2018년 및 모바일 애플리케이션 및 다중 환경 개발을 위한 하이퍼 사이클'이라는 두 가지 보고서를 발표했습니다.

froglogic은 해당 보고서에서 모바일 앱 테스트 도구 부분의 샘플 공급 업체로 인정 받았습니다. Gartner는 보고서에서 "모바일 앱 테스트 도구는 금융, 결제 및 건강 관리와 같이 오류의 영향이 심각한 금융, 브랜드 이미지 또는 규제상의 영향을 미치는 모바일 앱을 개발하는 조직에 특히 유용 할 것입니다. 모바일 응용 프로그램 테스트 도구는 테스트 생산성을 향상시켜 민첩성을 높이고 업데이트 된 모바일 앱의 처리 시간을 단축하려는 조직에게도 중요합니다. "라고 작성하였습니다.

froglogic은 GUI 테스트 자동화 툴 Squish GUI Tester 및 코드 커버리지 툴 Squish Coco를 제공하는 업계 선두 업체입니다.

froglogic 정보

froglogic GmbH는 독일 함부르크에 본사를 둔 소프트웨어 회사로, 미국 및 폴란드에 지역 사무소를두고 있으며 전 세계 3,000 명이 넘는 고객이 있습니다. froglogic은 Qt, Java AWT / Swing, SWT / RCP 및 JavaFX, macOS GUI, Windows MFC를 기반으로하는 GUI 응용 프로그램을위한 시장 선도적 인 자동 테스트 도구 인 Squish GUI Tester와 함께 자사의 자동화 된 테스트 스위트 Squish로 유명합니다. NET 및 WPF, iOS Cocoa Touch, Android 및 다양한 웹 브라우저에서 실행되는 HTML5 기반 웹 응용 프로그램에 사용됩니다. 또한, froglogic은 전문적인 크로스 플랫폼 C, C ++, C #, QML 및 Tcl 코드 분석 도구 인 Coco Code Coverage를 제공합니다. 당사 및 당사 제품에 대한 자세한 내용은 한국의http://www.moasoftware.co.kr/product/gui.asp 에서 확인 가능합니다.

 

 

최근 개발되고 있는 다양하고 복잡한 GUI 어플리케이션의 테스팅 자동화와 코드 커버리지 분석을 지원합니다.
솔루션담당 장정훈 부장 02.6945.2120 

Squish (GUI 테스팅 자동화 도구)
-GUI 테스트케이스의 Recoding 기능 제공
- Recoding된 테스트 스크립트 자동 수행
- 다양한 스크립트 언어 지원
- 시나리오 기반으로 간편한 테스트 케이스 작성 및 수행
- 하이브리드 어플리케이션 테스트 가능


지원 환경
- Qt, QML, QtQuick and QtWebKit
- Native Window Controls
- Mac OS X Cocoa and Carbon
- iOS Native and web GUIs
- Android Native and Web GUIs
- Web and Flex in multiple browsers
- and more

 

Squish Coco (코드 커버리지 분석 도구)
- C, C++, C#, Tcl 어플리케이션의 코드 커버리지 분석
- Function, Line, Branch, Branch Decision and Condition Coverage 지원
- Unit, Automated, Manual 테스트 지원
- Untested Code 및 Dead Code 발견에 용이
- 서로 다른 버전의 어플리케이션 커버리지 비교 기능 지원
- 실행 결과의 누적 Report 제공

Squish Coco Toolchain
- CoverageScanner: C, C++, C# 과 Tcl 어플리케이션의 분석
- CoverageBrowser: 복잡한 GUI의 분석 데이터 및 결과의 관리 및 디스플레이
- Microsoft® Visual Studio Add-in: Visual Studio IDE에서 개발된 C, C++, C# 프로젝트의 코드 커버리지 측정을 위한 구성 생성


지원 플랫폼
- Windows (32-bit and 64-bit)
- Linux (32-bit and 64-bit)
- mac OS X(32-bit and 64-bit)
- Embedded Operating Systems
- UNIX(Solaris, AIX,...)

 

+ Recent posts