1 Event Driven Automated Testing for GUI-based Java Programs Presented by Yanhong Sun Thesis Advisor: Dr. Edward L. Jones July 17, 2003.

Slides:



Advertisements
Similar presentations
Automating Software Module Testing for FAA Certification Usha Santhanam The Boeing Company.
Advertisements

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.
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
A graphical user interface (GUI) is a pictorial interface to a program. A good GUI can make programs easier to use by providing them with a consistent.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
Chapter 6 Graphical User Interface (GUI) and Object-Oriented Design (OOD)
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
COMP 6703 eScience Project Commercial Wiki of Academic Journal  Student : Yin Chen  Client/Technical Supervisor : Mr Tom Worthington  Academic Supervisor.
Introduction To Form Builder
Chapter 2: Developing a Program Extended and Concise Prelude to Programming Concepts and Design Copyright © 2003 Scott/Jones, Inc.. All rights reserved.
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
Chapter 7 Improving the User Interface
Software Self-Testing
Introduction to Software Testing
Software Test Automation and Tools Speaker: Jerry Gao Ph.D. San Jose State University URL:
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
NYC Technology Forum Introduction to Test Automation 11/2/07 All rights reserved Not to be reproduced without permission Bill Rinko-Gay Solutions Director,
Graphical Tree-Based Scientific Calculator: CalcuWiz Will Ryan Christian Braunlich.
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Developing a Program.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
RUP Implementation and Testing
The Electronic Geometry Textbook Project Xiaoyu Chen LMIB - Department of Mathematics Beihang University, China.
Higher Grade Computing Studies 2. Languages and Environments Higher Computing Software Development S. McCrossan 1 Classification of Languages 1. Procedural.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
Test-Driven Development of Graphical User Interfaces: A Pilot Evaluation Thedore D. Hellmann, Ali Hosseini-Khayat, Frank Maurer XP 2011.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
A Specification Language and Test Planner for Software Testing Aolat A. Adedeji 1 Mary Lou Soffa 1 1 DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF VIRGINIA.
Final Year Project Interim Presentation Software Visualisation and Comparison Tool Presented By : Shane Lillis, , 4th Year Computer Engineering.
Java Programming: From Problem Analysis to Program Design, Second Edition1  Learn about basic GUI components.  Explore how the GUI components JFrame,
Marcel Casado NCAR/RAP WEATHER WARNING TOOL NCAR.
Khoros Yongqun He Dept. of Computer Science, Virginia Tech.
1 Event Driven Automated Testing for GUI-based Java Programs Presented by Yanhong Sun Thesis Advisor: Dr. Edward L. Jones April 28, 2003.
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
C H A P T E R T E N Event-Driven Programming Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
Graphics and Event-Driven Programming in Java John C. Ramirez Department of Computer Science University of Pittsburgh.
First BlueJ Day Houston, 2006 Unit Testing with BlueJ Bruce Quig Deakin University.
Programming with Visual C++: Concepts and Projects Chapter 2B: Reading, Processing and Displaying Data (Tutorial)
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
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.
XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer.
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
I Power Higher Computing Software Development Development Languages and Environments.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Java Programming: From Problem Analysis to Program Design, 3e Chapter 6 Graphical User Interface (GUI) and Object-Oriented Design (OOD)
Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.
Java Programming: From Problem Analysis to Program Design, Second Edition1 Lecture 5 Objectives  Learn about basic GUI components.  Explore how the GUI.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Software Quality Assurance and Testing Fazal Rehman Shamil.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
Solvency II Tripartite template V2 and V3 Presentation of the conversion tools proposed by FundsXML France.
1 Visual Computing Institute | Prof. Dr. Torsten W. Kuhlen Virtual Reality & Immersive Visualization Till Petersen-Krauß | GUI Testing | GUI.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Systems Analysis and Design in a Changing World, Fourth Edition
Software Architecture ATAM Process Presentation
Chapter Topics 15.1 Graphical User Interfaces
Introduction to Software Testing
Software Test Automation and Tools
Chapter 15: GUI Applications & Event-Driven Programming
PPT4: Requirement analysis
Presentation transcript:

1 Event Driven Automated Testing for GUI-based Java Programs Presented by Yanhong Sun Thesis Advisor: Dr. Edward L. Jones July 17, 2003

2 Outline Problem Statement Background Motivation of Research Jemmy Module AGUIJ Design  Constructions of AGUIJ Design AGUIJ Prototype Test Specification language Jemmy Test Engine Generator (JTEG)  Demonstration  Limitations of AGUIJ The future works References

3 Event Driven Automated Testing for GUI-based Java Programs Problem Statement  The amount of testing Java program increases  Testing GUI-based Java programs by hand is a redundant, boring and time intensive work.  AGUIJ --- Automated grader for GUI-based Java programs

4 Event Driven Automated Testing for GUI-based Java Programs Background  All programs have interfaces Text interface Graphical user interface  The applications with text interfaces are driven by data Automated grader uses I/O redirection Julia and I have been working on this for one year

5 Event Driven Automated Testing for GUI-based Java Programs  GUIs are event-driven The type of input is more varied button clicks, mouse movements, etc. It is not so easy to reassign the input stream with the help of I/O redirection Special tool is needed to simulate the input and capture the output

6 Event Driven Automated Testing for GUI-based Java Programs Motivation of Research  Testing life cycle

7 Event Driven Automated Testing for GUI-based Java Programs  Testing life cycle Figure 1 Testing life cycle Design Implementation Evaluation Analysis Execution Test Strategy/ Plan Test Script, Data, Driver Test Cases Test Results Problem Report Specification

8 Event Driven Automated Testing for GUI-based Java Programs Motivation of Research  Testing life cycle?  What activities the automated GUI testing process tends to apply to?

9 Event Driven Automated Testing for GUI-based Java Programs WWhat activities the automated GUI testing tends to apply to? Test case generation Test execution Test verification (Test oracle)

10 Event Driven Automated Testing for GUI-based Java Programs Motivation of Research  Testing life cycle?  What activities the automated testing process tends to apply to?  What tools are available for automated GUI testing?

11 Event Driven Automated Testing for GUI-based Java Programs  What tools are available for automated GUI testing? Almost all of the testing tools for GUI-based applications are based on capture/replay technique (see Figure 2) There exist various commercial capture/replay tools XRunner [10] JavaStar [11] Marathon [12]

12 Event Driven Automated Testing for GUI-based Java Programs Figure 2 Standard commercial capture/replay tool interactions Tester Test script Capture/Replay tool Software under test script editing replay record

13 Event Driven Automated Testing for GUI-based Java Programs The shortcomings of using capture/replay tool Needs external oracle support. Manual testing is necessary for capturing events sequence. May not be able to replay until the tester has manually tested a perfect program

14 Event Driven Automated Testing for GUI-based Java Programs Jemmy module  Jemmy is a Java TM library  Can perform test execution & test verification in one program --- no external oracle support  No need for recorder --- no any manual testing, start automated test right away

15 Event Driven Automated Testing for GUI-based Java Programs AGUIJ Design generate run Student Programs Specificationtest specification Compile JemmyTest Engine Generator (JTEG) Not compile Grading Log files Jemmytest engine (class) class file Student Programs Specification test specification Compile JemmyTest Engine Generator (JTEG) Jemmytest engine (Java) Not cmpile Jemmytest engine (class) class file(s) compile generate run

16 Event Driven Automated Testing for GUI-based Java Programs  Constructions of AGUIJ design The initial AGUIJ implementation Test Specification language design. Jemmy Test Engine Generator (JTEG) design

17 Event Driven Automated Testing for GUI-based Java Programs The initial AGUIJ Figure 3 The initial AGUIJ Student Programs Specification Compile Jemmytest engine (Java) classfile(s) Jemmy test engine (class) Not compile Grading Log files compile Student Programs Specification Compile Jemmy test engine source file (Java) classfile(s) Jemmy test engine (class) compile run Grading plan

18 Event Driven Automated Testing for GUI-based Java Programs Case Study Table 1 Time consumed in grading (total 66 students)  The ratio of consistency: 92.4% Automated Grading Service Manual Grading Service Compiling 7 mins Running 19 mins Total About 30 mins About 4-5 hours without any interruption

19 Event Driven Automated Testing for GUI-based Java Programs Limitations of the initial AGUIJ --- To implement Jemmy test engine source file is not a fully automated step  The tester needs to be familiar with Jemmy API --- Lower productivity  To implement Jemmy test engine source file start-to- finish for each program assignment  Have similar structure

20 Event Driven Automated Testing for GUI-based Java Programs Test Specification language design The criteria must be met  Easy to write  Easy to understand  Amenable to automated generation of the Jemmy test engine (JTE) source file

21 Test casesExpected data Deduction 1Type “Florida\n” in State field “Warm” is displayed in Climate field 25 2Type “Alaska\n” in State field “ Cold ” is displayed in Climate field 25 grading plan

22 climate type = JTextField; order = 1 type= JTextField; order = 2 number = 1 type = JTextField; order = 1; name = "state"; action = type “ Florida\n" type = JTextField; order = 2; name = "temperature"; content = equals "Warm"; deduction = 25 number = 2 type = JTextField; order = 1; name = "state"; action = type “ Alaska\n" type = JTextField; order = 2; name = "temperature"; content = equals “ Cold"; deduction = 25 Test casesExpected dataDeduction 1 Type “Florida\n” in State field “Warm” is displayed in Climate field 25 2 Type “Alaska\n” in State field “ Cold ” is displayed in Climate field 25

23 Event Driven Automated Testing for GUI-based Java Programs JTEG Design Figure 4 The function of JTEG Test Specification JTEG Jemmy Test Engine(JTE) source file read generate

24 Event Driven Automated Testing for GUI-based Java Programs  Demonstration

25 Event Driven Automated Testing for GUI-based Java Programs  Limitations of AGUIJ Only support Java GUI with one single frame Access most Swing components, not all of them The syntax check of the test specification is not powerful enough

26 Event Driven Automated Testing for GUI-based Java Programs Future Works  Extending AGUIJ to support multiple frames Naming problem Application state --- hierarchical relationship --- parallel relationship  Using XML to describe test cases in test specification  Generating test specification automatically

27 Event Driven Automated Testing for GUI-based Java Programs References [1] Jemmy Module. See [2] Alan Walworth. Java GUI Testing. Dr. Dobb ’ s Journal February 1997 [3] Tessella Support Services PLC. Automated GUI Testing. Tessella Scientific software solutions January 1999, issue V1.R1.M1 [4] J. Skrivanek and A. Sotona. Tesing ForteTM for JAVATM [5] Cay S. Horstmann, Gary Cornell. The core of JAVA, second edition. [6] A. M. Memon, M. L. Soffa, and M. E. Pollack. Coverage Criteria for GUI Testing. [7] J. Chen, and S. Subramaniam. A GUI Environment to Manipulate FSMs for Testing GUI-Based Applications in Java. In proceedings of the 34th Hawaii international Conference on System Sciences, 2001

28 Event Driven Automated Testing for GUI-based Java Programs [8] A. M. Memon, M. E. Pollack, and M. L. Soffa. Hierarchical GUI test case generation using automated planning. IEEE Transactions on Software Engineering, 27(2): , Feb.2001 [9] T. Ostrand, A. Aanodide, H. Foster, and T. Goradia. A Visual Test Development environment for GUI Systems. In proceedings of the ACM SIGSOFT International Symposium on Software Testing and Analysis(ISSTA-98), pages 82-92, New York, Mar ACM Press. [10] XRunner. See /xrunner6http:// /xrunner6 [11] JavaStar. See [12] Marathon. See [13] J. Takahashi. An Automated Oracle for Verifying GUI Objects. Software Engineering Notes, vol. 26 no 4: 83-88, July 2001 [14] Fewster, Mark. Software Test Automation, Addison Wesley, New York, 1999 [15] XMLSPY 5. See

29 Event Driven Automated Testing for GUI-based Java Programs Acknowledgement CIS department CREST Dr. Edward Jones Dr. Clement Allen Dr. YiLi Zeng Dr. Roselyn Williams Mr. Aubrey Rembert Mr. Hongtao Chen

30