Automated UI testing of Swing based applications Tomas Krecmer Barclays 27. February 2012.

Slides:



Advertisements
Similar presentations
©2004 BLACKBOARD, INC. ALL RIGHTS RESERVED. Java Integrated Development Environments Heather Natour Senior Lead Engineer Blackboard Inc. July 18 th 10:15am.
Advertisements

Acceptance Testing vs. Unit Testing: A Developers Perspective Owen Rogers Rob Styles
Test Automation: Coded UI Test
Taxi Magic Mobile App Testing. iOS Testing Rapid Releases: Submit about every 30 days to iTunes CI Automated Tests: Polls git repository commits and executes.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
Automation Testing Presentation Phil Hunter Phil Hunter - Automation Presentation 1.
1 GWT Google Web Toolkit Build AJAX apps in the Java language
Testing and Debugging CS221 – 2/13/09. Airline Program.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
Input Validation For Free Text Fields ADD Project Members: Hagar Offer & Ran Mor Academic Advisor: Dr Gera Weiss Technical Advisors: Raffi Lipkin & Nadav.
SIMS 202 Information Organization and Retrieval Prof. Marti Hearst and Prof. Ray Larson UC Berkeley SIMS Tues/Thurs 9:30-11:00am Fall 2000.
Quality Assurance CS 615. Mission Statement The Quality Assurance team will provide assurance to stakeholders in CS-615/616 projects that their projects.
Hello Vaadin! CS 3130 Summer 2015.
Software Test Automation SQuAD February 2010 Scott M. Allman
Agile Testing with Testing Anywhere The road to automation need not be long.
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
Cognizant Reusable Automation Framework for Testing C.R.A.F.T.
Continuous Integration April 2014 tap|QA Presentation.
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Automation Fundamental Concepts &
Apache JMeter By Mohamed Talaat
Odin Technology Ltd. Automated Testing that Delivers.
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
Selenium automated testing in Openbravo ERP Quality Assurance Webinar April 8th, 2010.
Thank You ©2012, Cognizant. Rapido has been created by the Research and Development team from QE&A Technology CoE Rapido is continuously enhanced and.
Screen Previews for Shopping Carts and Checkout Process 10.3 release October 05, 2010.
Web Programming: Client/Server Applications Server sends the web pages to the client. –built into Visual Studio for development purposes Client displays.
CSE 403 Section: SRS and Use Cases January 14, 2010.
TVAC Electronic Call Sheet System Team HeatWave Summer 2007.
Using Web Services to Create Events Web Services Explained And a Production Ready Example.
TEAM Basic TotalElectrostatic ManagementAwareness&
Testing Session Testing Team-Release Management Team.
Using QuickTest Professional USINGQTP65-STUDENT-01A.
Functional Automation Testing Case Study 360logica Software Testing Services.
| ©2009, Cognizant Technology SolutionsConfidential All rights reserved. The information contained herein is subject to change without notice. ©2009, Cognizant.
DEV12 Excel Services, Server APIs and Managed UDFs Aaron Saikovski Senior Consultant - Readify Australia Blog:
© 2006 IBM Corporation Agile Planning Web UI. © 2006 IBM Corporation Agenda  Overview of APT Web UI  Current Issues  Required Infrastructure  API.
WaveMaker Visual AJAX Studio 4.0 Training Basics: Building Your First Application Binding Basics.
How to Run a Scenario In HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
TEST-1 6. Testing & Refactoring. TEST-2 How we create classes? We think about what a class must do We focus on its implementation We write fields We write.
Microsoft Dynamics NAV 2009 and Architecture Overview Name Title Microsoft Corporation.
Building More Reliable And Better Performing Web Applications With Visual Studio 2005 Team System Gabriel Marius TLN312 Program Manager Microsoft Corporation.
SilkTest 2008 R2 SP1: Silk4J Introduction. ConfidentialCopyright © 2008 Borland Software Corporation. 2 What is Silk4J? Silk4J enables you to create functional.
What is WinRunner ► WinRunner is Mercury’s legacy automated testing tool ► It is similar to QTP in functionality ► WinRunner integrates with other Mercury.
Selenium January Selenium course content  Introduction (Session-1)Session-  Automation  What is automation testing  When to go for automation.
TaskerCLI User Interface. FR8 User Identification TaskerCLI address Password Password: Log in Remember me next time Authentication is optional.
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
TE002 Coming to grips with management with Sage CRM Robert Tan.
Automated Testing in Sakai Testing applications and services in isolation and in context Josh Holtzman, UC Berkeley David Haines, University of Michigan.
Northwest Arkansas.Net User Group Jay Smith Tyson Foods, Inc. Unit Testing nUnit, nUnitAsp, nUnitForms.
Powerpoint Templates Page 1 Powerpoint Templates Unit Testing Ari Seppi
IBM Software Group © 2008 IBM Corporation IBM Tivoli Provisioning Manager 7.1 Virtualization.
Software Testing Training Online. Software testing is ruling the software business in current scenario. It provides an objective, independent view of.
Introduction ITEC 420.
Appium Studio Appium testing made easy at any scale.
Testing & Testing Tools
Microsoft Dynamics.
Course Name: QTP Trainer: Laxmi Duration: 25 Hrs Session: Daily 1 Hr.
Quality assurance platform for mobile apps, available as hosted SaaS or onsite deployment
Continuous Performance Engineering
Dev Test on Windows Azure Solution in a Box
Automation execution portal for Customer-Partner businesses
Automation Leveraging Artificial Intelligence
Making a GUI Test-first
Continuous deployment best practices, methods and tools.
JavaServer Faces: The Fundamentals
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Maintaining Sanity In A Hypermedia World
SOFTWARE DEVELOPMENT LIFE CYCLE
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

Automated UI testing of Swing based applications Tomas Krecmer Barclays 27. February 2012

UI testing What do we want to test? –Custom widgets –Data models –Business logic What not? –Swing –3 rd party widgets, windowing framework –Server functions via client How do we implement the tests? –Who to implement –What technology

Testing of existing application Usually not fine grained – business logic mixed up with UI code Server calls from widgets Controllers polluted by UI updates Idea not to rewrite anything Hard to mock up Missing names of the widgets to identify them on the screen

Test your application by external program –Simulates user interaction –Run against dedicated environment needed –No major changes to application itself (just add names to widgets) –Technologies like HP QTP (Mercury), Silk –Testing scripts written in scripting language like Visual Basic. Tests can be written by QA team –Library to navigate on custom widgets –Expensive, slow

Unit testing - approaches Pure unit tests for isolated functionality (widgets, controllers, models) For mixed up code - initialize whole application from Unit test against reference environment. Testing thread interacts with UI (through UI thread) and verifies expected results. No need for mocking.

Unit test technologies TestNG – general purpose Unit testing framework –More advanced than JUnit –Supported by other technologies (ant, TeamCity, Eclipse, FEST, JMockit) FEST – Swing testing framework –Pure Java framework –Simulates user interaction –Heavy support for widget’s look up –Needs to initialize UI ei. must be run on Windows box –Good UI thread management –Other framework under investigation (UISpec4J, Jemmy, Abbot, jfcUnit) –Takes screenshot on failure

FEST example Verify when password not set error dialog is displayed DialogFixture dialog = frame.dialog(“login”); dialog.textBox("username").enterText("alex.ruiz“); dialog.button("ok").click(); dialog.optionPane().requireErrorMessage().requireMessage("Please enter your.*"); // regular expression matching

Integration with Dev Process Run as part of Continuous Integration Set up for each DEV branch Results are used as a test evidence for releases Dedicated Windows box

Reality Originally 1200 manual testing scenarios existed Converted to 270 unit tests Covers 800 of original scenarios Total run 2.5 hours Total implementation cost about 120 MDs Saved 40MDs per release

The End Q&A

Links