GUI Testing By Norbert Haché. Contents b What is GUI testing b Elements of GUI testing b Old Approach (TRUMP Project) b Scripting b Capture / Replay b.

Slides:



Advertisements
Similar presentations
Hexawares Test Accelerator for eBaoTech® GeneralSystem Software.
Advertisements

Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Automating with Open Source Testing Tools Corey McGarrahan rSmart 01-July-08.
MULTIMEDIA DEVELOPMENT 4.3 : AUTHORING TOOLS. At the end of the lesson, students should be able to: 1. Describe different types of authoring tools Learning.
Alternate Software Development Methodologies
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Automatic Installation System on USB Memory Instructor: Hai Vortman Students: Leeor Langer Eyal Koren.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
EValid Getting Started. Agenda Introduction to eValid First experience of using eValid Recording and Site Analysis in eValid.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 5: User Environment and Multiple Languages.
Introduction to eValid Presentation Outline What is eValid? About eValid, Inc. eValid Features System Architecture eValid Functional Design Script Log.
© Copyright 2003, Binomial International Inc. Phoenix Business Continuity and Disaster Recovery Planning Software Recovery Planning Software Tools Recovery.
Introduction to Software Testing
Regression testing Tor Stållhane. What is regression testing – 1 Regression testing is testing done to check that a system update does not re- introduce.
Agile Testing with Testing Anywhere The road to automation need not be long.
“GENERIC SCRIPT” Everything can be automated, even automation process itself. “GENERIC SCRIPT” Everything can be automated, even automation process itself.
Damian Gordon. Requirements testing tools Static analysis tools Test design tools Test data preparation tools Test running tools - character-based, GUI.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
MSF Testing Introduction Functional Testing Performance Testing.
User Interface Design Chapter 11. Objectives  Understand several fundamental user interface (UI) design principles.  Understand the process of UI design.
Jennifer O’Donnell EDUC 681 Survey of Instructional Technology Applications Adobe Captivate.
Automation using Selenium Authored & Presented by : Chinmay Sathe & Amit Prabhu Cybage Software Pvt. Ltd.
COM 205 Multimedia Applications
Paul Trani Adobe Certified Instructor/Expert Resources:
Lesson 4 Computer Software
1 ENG236: ENG236: C++ Programming Environment (2) Rocky K. C. Chang THE HONG KONG POLYTECHNIC UNIVERSITY.
Software Research, Inc. Setting the Standard for Software Testing UNIX Solution.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
CLARIN tools for workflows Overview. Objective of this document  Determine which are the responsibilities of the different components of CLARIN workflows.
Sikuli Ivailo Dinkov QA Engineer PhoneX Team Telerik QA Academy.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
WorkPlace Pro Utilities.
Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
What is QTP ► QTP stands QuickTest Professional ► It is an automated testing tool provided by HP/Mercury Interactive ► QTP integrates with other Mercury.
Author: James Allen, Nathanael Chambers, etc. By: Rex, Linger, Xiaoyi Nov. 23, 2009.
What is Software Testing? And Why is it So Hard J. Whittaker paper (IEEE Software – Jan/Feb 2000) Summarized by F. Tsui.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
CHAPTER FOUR COMPUTER SOFTWARE.
Automated Plotting with the Emme Desktop API Peter Hidas Bureau of Transport Statistics Transport NSW.
Introduction With TimeCard users can tag SharePoint events with information that converts them into time sheets. This way they can report.
Click to edit Master subtitle style USABILITY and USER INTERFACE DESIGN Application.
Reusability and Effective Test Automation in Telecommunication System Testing Mikael Mattas Supervisor: Professor Sven-Gustav Häggman Instructor: B.Sc.
Exploring an Open Source Automation Framework Implementation.
1 Event Driven Automated Testing for GUI-based Java Programs Presented by Yanhong Sun Thesis Advisor: Dr. Edward L. Jones April 28, 2003.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Software Research, Inc. Setting the Standard for Software Testing Windows Solution.
Touchstone Automation’s DART ™ (Data Analysis and Reporting Tool)
1 CP586 © Peter Lo 2003 Multimedia Communication Human Computer Interaction.
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
What is WinRunner ► WinRunner is Mercury’s legacy automated testing tool ► It is similar to QTP in functionality ► WinRunner integrates with other Mercury.
Functional Testing with Eclipse TPTP | Copyright © IBM Corp., All rights reserved. Source code in this presentation is made available under.
Testing, Testing & Testing - By M.D.ACHARYA QA doesn't make software but makes it better.
Differences Training BAAN IVc-BaanERP 5.0c: Application Administration, Customization and Exchange BaanERP 5.0c Tools / Exchange.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
Chapter – 8 Software Tools.
Computer software: There are at least six step developmental procedures the programmer: Define problem Make or buy decision Design program Code program.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Northwest Arkansas.Net User Group Jay Smith Tyson Foods, Inc. Unit Testing nUnit, nUnitAsp, nUnitForms.
Tools for Automated Testing Presented by: Žygimantas Mockus.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
Learn Load Runner in Online Training. Load runner is a performance testing tool. It is developed by mercury later acquired by HP. It is software testing.
Features of Authoring Tools
Software Configuration Management
Software Engineering (CSI 321)
Software Testing.
Regression testing Tor Stållhane.
Presentation transcript:

GUI Testing By Norbert Haché

Contents b What is GUI testing b Elements of GUI testing b Old Approach (TRUMP Project) b Scripting b Capture / Replay b Full Test Integration b Evaluation of CAPBAK b Demo

What is GUI Testing b Graphical User Interface (GUI) Testing b b Methods used to identify and conduct GUI tests, including the use of automated tools. b Source: (

Elements of GUI Testing b A process b A GUI Test Plan b A set of supporting tools b source :

Old Approach Example (TRUMP) b Was Done by manually stepping through thousands of pages of test procedures. b Labour intensive, highly error prone. b Needed to be redone each time regression testing was required. b Very expensive.

Scripting b Another Programming Language. b Needs to be subjected to some form of formal verification. b Eliminates human error during execution of the test. b Can be used (sometimes with modifications) for regression testing.

Scripting contd Script Replay tool

Capture/Replay Tools b A capture replay tool is a set of software programs that capture user inputs and stores it into a format (a script) suitable to be used at a later time to replay the user inputs. b Note: Throughout this presentation I use capture/replay and capture/playback to mean the same.

Available Capture replay tools b QA Partner [Segue Software, Inc) b Xrunner & WinRunner (Mercury Interactive) b QC/Replay (CenterLine Sftware) b Evaluator (Eastern Systems) b CAPBAK (Software Research, Inc) b Vermont High Test Plus (Vermont Creative Software) b WITT (IBM) b ATS/X-Tester (Automated Testing Solutions Inc.) b source :

Capture Replay tools Capture/Replay Script

Capture Replay Models OS Device Driver Capture/Playback toolApplication Application Events Self Events

Capture Replay Models (contd) OS Device Driver Application Application EventsSelf Events Capture/Playback tool

Capture Replay Models [contd] OS Device Driver Capture/Playback tool Application Application EventsSelf Events

Full Test Integration b Major drawback in Capture/Playback tool is that when the GUI changes, input sequences previously recorded may no longer be valid. b A test system which makes the maintenance of Capture/Playback generated test scripts easy and fast is a must for such a tool to be of any use.

Full Test Integration (contd) b A capture/playback tool that support the following capabilities could be used in a more capable and fully integrated test development environment: record scripts of user/system interactionsrecord scripts of user/system interactions user access to scripts for editing/maintenanceuser access to scripts for editing/maintenance user ability to insert validation commands in the scriptuser ability to insert validation commands in the script allows replay of the recorded script.allows replay of the recorded script.

Full Test Integration (contd) b A fully integrated GUI test development environment would also require the following additional characteristics: Script editing using higher level abstractions such as icons etc.Script editing using higher level abstractions such as icons etc. High level view of what functionality is being tested.High level view of what functionality is being tested. The ability to generate many variations of a recorded script without having to manually edit the script itself.The ability to generate many variations of a recorded script without having to manually edit the script itself.

Full Test Integration (contd) b A product called TDE under development by Siemens is to provide exactly this kind of functionality (currently only at the prototype level) b Source: ISSTA 98 Proceedings of the ACM SigSoft International Symposium on Software Testing and Analysis.

Full Test Integration (contd) b TDE capabilities: uses higher level scenario language instead of scripting. This allows graphical editing of the test sequence and easy creation of variations.uses higher level scenario language instead of scripting. This allows graphical editing of the test sequence and easy creation of variations. Has a test designer, which through user interactions with the system, builds an internal model of the systems GUI to produce a high level test design representing many executable scripts.Has a test designer, which through user interactions with the system, builds an internal model of the systems GUI to produce a high level test design representing many executable scripts. Test design library.Test design library. Test generator engine to convert high level scenario into tests scripts.Test generator engine to convert high level scenario into tests scripts.

TDE Test Scripts Test Script GUI Info GUI Replay record Test Design Library Test Designer Test Design Test Generation Engine Tester Specify Variations

Test Scenario Screen

TDE SUT Representation

Full Test Integration (contd) b When the GUI changes, instead of editing the hundreds of generated test scripts, the editing is done at the scenario level where it is much easier and faster. This is followed by the automatic regenaration of the test scripts from the scenario. b TDE can detect and analyse the differences between a new GUI and its previous version. It then makes assumptions about the changes that can be subsequently overriden by the tester prior to script regeneration.

Full Test Integration (contd) b Using the prototype it was shown that in 30 minutes, a tester was able to create a single scenario that produced 2500 test cases which exercised every significant combination of input values and action choices available for the particular application. b Source: ISSTA 98 Proceedings of the ACM SigSoft International Symposium on Software Testing and Analysis

Evaluation of CAPBAK b CAPBAK is a capture/replay tool developed by Software Research Inc of San Fransisco. b Versions are available for Windows 95, NT as well as for X-Windows. b My evaluation for the Windows 95 version.

CAPBAK User Interface

CAPBAK b Very simple and intuitive to use. b Documentation provided was dated. b Had several bugs that need to be fixed to make the product more robust. b Provides many synchronization mechanisms, not all of which I could get to work properly.

CAPBAK b Provides OCR to save window text for baselining window image. b Provides automatic detection of changes to the window at the bitmap and text level. b Provides an object mode to record at the widget level. (I could not get this to work properly).

CAPBAK b For more information, you may read the hand out on my evaluation of CAPBAK.

Demo b I have developed a basic MS Windows application that experiments with the basic principles of user entry capture. b It is very basic and does not attempt to filter out any particular events. I did it to show how easy it is to do such thing using the first model showed earlier in the presentation which I am showing here again.

OS Device Driver Capture/Playback toolApplication Application Events

USER32.EXE Application being captured Capture Main Window Application Capture DLL Console output

Summary b GUI Testing using capture/replay tools is a useful technology if it can be used within a test system that allows efficient and high level maintenance capabilities of the test design.