TestingofScout Application. Ludwigsburg,

Similar documents
Getting started with Jubula - an UI test automation framework

Implement a Multi-Frontend Chat Application based on Eclipse Scout

The Harmony Framework.

Getting the Most from Eclipse

InsectJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse

About Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council

Testing Eclipse plug-ins: Tips & Tricks

The p2 Provisioning Platform. Eclipse European Summit - Ludwigsburg. Oct 27-29, 2009 Henrik Lindberg, Cloudsmith Inc

Building LinkedIn's Next Generation Architecture with OSGI

OSGi. Building LinkedIn's Next Generation Architecture with OSGI

Patterns and Best Practices for dynamic OSGi Applications

The Eclipse Rich Client Platform

Rich Client GUI's with RCP & RAP

TO AND BEYOND... MAKING JUBULA SURPASS ITS LIMITS. - BREDEX GmbH

Continuous Testing in Eclipse. David Saff, Michael D. Ernst MIT CSAIL etx 2004, Barcelona, Spain

Spring and OSGi. Martin Lippert akquinet agile GmbH Bernd Kolb Gerd Wütherich

JSR377 What's up and what's next. Andres Almiray Canoo Engineering AG

Checking Current Code Coverage

Call: Hyperion Planning Course Content:35-40hours Course Outline Planning Overview

eclipse rich ajax platform (rap)

Building JavaServer Faces Applications

CSC207 Week 4. Larry Zhang

Analysis Tool Project

CS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question)

Workflow. Summary. Prerequisites. Getting your module ready. Create a new module

Class Dependency Analyzer CDA Developer Guide

20. Eclipse and Framework Extension Languages

1.2. Name(s) and address of Document Author(s)/Supplier: Sahoo: 1.3. Date of This Document: 12 July 2008

Eclipse Platform Localization. The Luna Updates. Seite 1. codecentric AG

Carsten Ziegeler

Marthon User Guide. Page 1 Copyright The Marathon developers. All rights reserved.

Data Analysis Workbench

Getting Started with ArcGIS Runtime SDK for Java SE

OSGi Subsystems from theory to practice Glyn Normington. Eclipse Virgo Project Lead SpringSource/VMware

Static program checking and verification

Eclipse Scout. Release Notes. Scout Team. Version 7.0

Rapise Quick Start Guide Testing Java Applications with Rapise

Lesson learned from using EMF to build Desktop & Web Applications. Ludwigsburg, Oct

Testing with Soap UI. Tomaš Maconko

The Eclipse Rich Ajax Platform

Creating new Resource Types

Introductions Who are we? ArcGIS Engine Java Dev team members. Who are you? ArcGIS Desktop developers? MapObjects Java developers? Current ArcGIS Engi

Le L c e t c ur u e e 5 To T p o i p c i s c t o o b e b e co c v o e v r e ed e Exception Handling

Semantic Web T LS Update

Testing Mobile Apps CS 4720 Mobile Application Development

Savant Genome Browser: Developer Manual. May 7, 2010

TDD who pays? Test Driven Development in embedded java projects an unusual insight in usage scenarios and budgets

ArcGIS Runtime SDK for Java: A Beginner s Guide. Mark Baird JC Malott

General Certificate of Secondary Education Digital Technology. Unit 5 Digital Development Practice MARK SCHEME

Eclipse + Html: A Journey

TradeInterceptor SDK Quick Start Guide

An applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a

Eclipse on Cell phones?

OSGi on the Server. Martin Lippert (it-agile GmbH)

ULC Test Framework Guide. Canoo RIA-Suite 2014 Update 4

Mind Q Systems Private Limited

Testing Stragegies. Black Box Testing. Test case

Eclipse in Embedded. Neha Garg : Prerna Rustagi :

Introduction to Automation. What is automation testing Advantages of Automation Testing How to learn any automation tool Types of Automation tools

OSGi and Spring Data for simple (Web) Application Development

Automated Acceptance Testing

Eclipse Packaging Project

Internet of Things 2017/2018

OSGi and Design Patterns

EMC Documentum Composer

Testing. CMSC 433 Programming Language Technologies and Paradigms Spring A Real Testing Example. Example (Black Box)?

Kai Tödter Siemens Corporate Technology

Finding Errors in Multithreaded GUI Applications

Monkeybars Tools-enabled Swing development with JRuby

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain. OSGi p2

Reproducible & Transparent Computational Science with Galaxy. Jeremy Goecks The Galaxy Team

2.6 Error, exception and event handling

Automated GUI testing. How to test an interactive application automatically?

Collaborative & WebProtégé

Eclipse 4 Application Platform

CS 3 Introduction to Software Engineering. 3: Exceptions

Addressing Security In The Eclipse Core Runtime (RCP)

OSLC Consumer with Eclipse Lyo Project

WSDM = Web Services Distributed Management, an open standard/specified ratified by OASIS

Working with a Module

Shift Left Testing: are you ready? Live Webinar, Sept 19

Page 1

White box testing. White-box testing. Types of WBT 24/03/15. Advanced Programming

Composite Pattern - Shapes Example - Java Sourcecode

Getting Started with Cisco UCS Director Open Automation

Smart Client development with the Eclipse Rich Client Platform

Tools for Unit Test - JUnit

Flint - Eclipse Based IDE User Manual

Java Swing Introduction

Heavyweight with platform-specific widgets. AWT applications were limited to commonfunctionality that existed on all platforms.

Software Construction

What is Wazaabi 2.0? Declarative UI framework. based on. live EMF model(s)

Tutorial Methodologies for Test-Driven Development of OSGi enabled Embedded Devices

Polymorphism. return a.doublevalue() + b.doublevalue();

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion.

F. Tip and M. Weintraub FUNCTIONAL TESTING

Foundations of User Interface Programming Using the Eclipse Rich Client Platform

Quick Guide Installing Zend Studio for Eclipse 6.1 as a Set of Plugins

ABOUT CORE JAVA COURSE SCOPE:

Transcription:

TestingofScout Application Ludwigsburg, 27.10.2014

The Tools approach

The Testing Theory approach Unit testing White box testing Black box testing Integration testing Functional testing System testing End-to-end testing

«Whatisyourgoal?»

Applicationundertest

The application under test

Requirements (1) Modification of the input fields will update the image and summary fields Specific format: <name> [<parts>] value: <value>

Requirements (2) Only the available parts are listed in the field Is only a part available, the field is disabled

Requirements (3) Export button: validate the form register the minifigin the server reset the form

Scout architecture

A Scout application ui Client Application client shared Server Application shared server Scout Client Java / Eclipse Service Tunnel Scout Server Java / Eclipse Webserver

A Scout application ui Client Application client shared Server Application shared server Scout Client Java / Eclipse Service Tunnel Scout Server Java / Eclipse Webserver

A Scout application ui Client Application client shared Server Application shared server Scout Client Java / Eclipse Service Tunnel Scout Server Java / Eclipse Webserver

Unit testing

Test for logic in the shared plugin ui Client Application client shared Server Application shared server Scout Client Java / Eclipse Service Tunnel Scout Server Java / Eclipse Webserver

Test with the Scout services ui Client Application client shared Server Application shared server Scout Client Java / Eclipse Service Tunnel Scout Server Java / Eclipse Webserver

@RunWith annotation Annotate the test class with the Annotation: @RunWith(ScoutClientTestRunner.class) public class DesktopFormTest { } It adds: //... Equinox OSGi Runtime Scout Context, Services,

Mock remote Services Create themock private IDesktopProcessService m_mockservice = Mockito.mock(IDesktopProcessService.class); Define the behavior for your tests: Mockito.when(m_mockService.load( Mockito.any(DesktopFormData.class))).thenReturn(someFormData);

TestingUtility.registerServices(..) Dynamically register your mocked service: @Before public void setup() { m_registeredservices = TestingUtility.registerServices( Activator.getDefault().getBundle(), 1000, m_mockservice); } @After public void teardown() { TestingUtility.unregisterServices(m_registeredServices); }

Demo

Integration tests

Integration tests ui Client Application client shared Server Application shared server Scout Client Java / Eclipse Service Tunnel Scout Server Java / Eclipse Webserver

Integration tests: Example setup Deploy the server: In a managed environment (database, external services ) As near as possible from the productive environment Start an head-less client: Browse through the data (outline, pages) Open some forms Depending on how-much effort you want to put in the client, it is possible to write one generic test for all pages and forms

Automatedusertests

Test procedures

Test procedures

Test with Jubula ui Client Application client Black Box shared shared Server Application server Scout Client Java / Eclipse Service Tunnel Scout Server Java / Eclipse Webserver

Jubula As a user would work passing through all layers Test creation, execution, analysis Drag and drop test creation: No recording No programming Very similar to development code Constant feedback about quality Acceptance testing Regression testing

Workflow dev UC development complete Spec test spec object mapping nightly build and test acceptance criteria modules in Jubula executable specification

Using the specification to automate tests Replace text Select from smart field module Select from smart field Select from smart field Check text

Testing an application with Jubula Write test Start AUT Perform object mapping Run test Analyse

Assignidstothescoutfields DSKTFORM_NAME_TXTFLD DSKTFORM_LEGS_SMRFLD New with Luna DSKTFORM_EXPORT_BUTFLD

Demo

Scout UI Tests

Unit tests with UI ui Client Application client shared Server Application shared server Scout Client Java / Eclipse Service Tunnel Scout Server Java / Eclipse Webserver

AbstractTestWithGuiScript public class DesktopFormUiTest extends AbstractTestWithGuiScript { @Override protected void runmodel() throws Throwable { } Client Thread @Override protected void rungui(iguimock gui) throws Throwable { } GUI Thread }

IGuiMock Abstraction for the UI layer Definition of UI interaction: gui.presskey(key) gui.typetext(fieldtype, int) gui.gotofield(type, index) Interface with implementations: For Swing For Swt

«Howareyoutestingyour Scout application?»

Summary As with any other application, writing automated tests for your eclipse scout application is possible Everything is possible Unit tests UI tests Integration tests Performance tests There is a cost, so: test only what makes sense for your application.

ThankYou