Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

Systems Investigation and Analysis
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 11 Instructor Paulo Alencar.
Dependence Analysis in Reduction of Requirement Based Test Suites Boris Vaysburg Luay Tahat Bogdan Korel Computer Science Department Bell Labs Innovations.
Software Regression Testing Speaker: Jerry Gao Ph.D. San Jose State University URL:
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
IPOG: A General Strategy for T-Way Software Testing
Mutation Testing Presented by Sharath Kumar Garlapati Vinesh Thummala.
Prioritizing User-session-based Test Cases for Web Applications Testing Sreedevi Sampath, Renne C. Bryce, Gokulanand Viswanath, Vani Kandimalla, A.Gunes.
4.1 Blended approaches: Information Engineering IMS Information Systems Development Practices.
Software Testing and Quality Assurance
1 Introduction to Software Engineering Lecture 42 – Communication Skills.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing 2.
Info1409 De Montfort University1 Requirements Modelling Systems Analysis & Design Academic Year 2008/9 Info 1409 Lecture 7.
Hierarchical GUI Test Case Generation Using Automated Planning Atif M. Memon, Student Member, IEEE, Martha E. Pollack, and Mary Lou Soffa, Member, IEEE.
1 State-Based Testing of Ajax Web Applications A. Marchetto, P. Tonella and F. Ricca CMSC737 Spring 2008 Shashvat A Thakor.
1 Software Testing and Quality Assurance Lecture 14 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Testing Components in the Context of a System CMSC 737 Fall 2006 Sharath Srinivas.
Chapter 2: Developing a Program Extended and Concise Prelude to Programming Concepts and Design Copyright © 2003 Scott/Jones, Inc.. All rights reserved.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Introduction to Computer Technology
TEST CASE DESIGN Prepared by: Fatih Kızkun. OUTLINE Introduction –Importance of Test –Essential Test Case Development A Variety of Test Methods –Risk.
Process-oriented System Automation Executable Process Modeling & Process Automation.
Reverse Engineering State Machines by Interactive Grammar Inference Neil Walkinshaw, Kirill Bogdanov, Mike Holcombe, Sarah Salahuddin.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
AMOST Experimental Comparison of Code-Based and Model-Based Test Prioritization Bogdan Korel Computer Science Department Illinois Institute of Technology.
An Introduction to MBT  what, why and when 张 坚
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Developing a Program.
Introduction to Graphical User Interfaces. Objectives * Students should understand what a procedural program is. * Students should understand what an.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
© SERG Dependable Software Systems (Mutation) Dependable Software Systems Topics in Mutation Testing and Program Perturbation Material drawn from [Offutt.
Final Year Project Interim Presentation Software Visualisation and Comparison Tool Presented By : Shane Lillis, , 4th Year Computer Engineering.
1 A Static Analysis Approach for Automatically Generating Test Cases for Web Applications Presented by: Beverly Leung Fahim Rahman.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Slide 1 Mixed Model Production lines  2000 C.S.Kanagaraj Mixed Model Production Lines C.S.Kanagaraj ( Kana + Garage ) IEM 5303.
Test Coverage CS-300 Fall 2005 Supreeth Venkataraman.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Software Construction Lecture 18 Software Testing.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Mutation Testing G. Rothermel. Fault-Based Testing White-box and black-box testing techniques use coverage of code or requirements as a “proxy” for designing.
Software Testing White Box Testing. Agenda What is White Box Testing Correctness Tests and Path Coverage Correctness Tests and Line Coverage McCabe Cyclomatic.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
Facilitating testing and monitoring of number entry systems in medical devices Abigail Cauchi, Christian Colombo, Mark Micallef & Gordon Pace.
SAFEWARE System Safety and Computers Chap18:Verification of Safety Author : Nancy G. Leveson University of Washington 1995 by Addison-Wesley Publishing.
Dynamic Testing.
SEESCOASEESCOA SEESCOA Meeting Activities of LUC 9 May 2003.
Mutation Testing Breaking the application to test it.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
1 Visual Computing Institute | Prof. Dr. Torsten W. Kuhlen Virtual Reality & Immersive Visualization Till Petersen-Krauß | GUI Testing | GUI.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVIII. Software Testing.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Testing.
Regression Testing with its types
Testing Tutorial 7.
Testing and Debugging PPT By :Dr. R. Mall.
Using Execution Feedback in Test Case Generation
Software testing.
Web Design and Development
Presentation transcript:

Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal of Systems and Software (Volume 97), November 2014, Pages Presented by Xin-Hung Chen,

Outline Introduction Preliminaries GUI testing framework Test case generation Empirical study Conclusion 2

Introduction Graphical user interfaces are pervasive. One obvious way to test GUIs is with “manual” testing. ▫ Time wasting ▫ High cost Researchers have attempted to create GUI testing techniques that automate the processes of generating and executing test cases. 3

Automated GUI testing: ▫ Model-based GUI testing  More effective at detecting faults  Less cost ▫ Dynamic event-extraction based GUI testing  More effective at covering statements. 4 Introduction (cont.)

To facilitate this comparison ▫ A GUI testing framework The overall contributions of this work include the following: ▫ A comprehensive experiment comparing the two kinds of GUI testing techniques. ▫ A flexible GUI testing framework that lessens the potential of implementations. ▫ A better understanding of the relative strengths and weaknesses of the two types of GUI testing techniques. ▫ A discussion and better understanding of the various factors affecting the application of GUI testing techniques. ▫ Guidelines for software engineers and researchers on things to consider. 5

Preliminaries GUI testing ▫ A GUI is composed of a set W of widgets that a user interacts with through a set A of actions. Each action is accompanied by a set V of values. ▫ An event e can be represented by a tuple (w, a, v)  w ∈ W, a ∈ A, and v ∈ V. 6

Preliminaries (cont.) GUI test cases ▫ A test case t is composed of a sequence of events (e 1, e 2,..., e n ). The length of t can be defined as the number of events in t. ▫ t = (click button 5, click button +, click button 2, click button =) 7

Preliminaries (cont.) Event coverage test adequacy ▫ Event-t-tuple:  Definition: An event-t-tuple (e i, e j,..., e t ) is an ordered tuple of size t of events from E. A set of events E gives rise to |E| t event-t-tuples. ▫ t-sequence-cove:  Definition: A test suite is t-sequence-cover adequate if it executes all feasible event-t-tuples by way of an event-t- sequence at least once. 8 event-2-tuples

GUI testing framework 9

GUI testing framework (cont.) 10 Strategy ▫ Example of google map’s path search

Test case generation Static model-based GUI testing ▫ Model creation ▫ Test suite generation ▫ Test suite execution Dynamic event-extraction based GUI testing ▫ Create test case and executes it at the same time 11

Test case generation (cont.) Static model-based GUI testing ▫ Model creation  Algorithm 1  Input: an AUT, a terminal event list  Output: an event flow graph(EFG model) and a set of initial events I 12

Test case generation (cont.) Static model-based GUI testing ▫ Test suite generation  Algorithm 2  Input: an EFG model, a set of initial events I and a test strength T  Output: a test suite TS 13

Test case generation (cont.) Static model-based GUI testing ▫ Test suite execution  Algorithm 3  Input: an AUT and a test suite  Output: a failure report 14

Test case generation (cont.) Dynamic event-extraction based GUI testing ▫ Create and execute test cases  Algorithm 4  Input: an AUT, a test case length K, and a test suite size S  Output: a failure report and a test suite 15

Empirical study To compare techniques, traditional measures such as fault-detection and elapsed time are necessary but not sufficient. ▫ How to compare the cost? 16

Empirical study (cont.) Dependent variables 1.Effectiveness in terms of code coverage 2.Effectiveness in terms of fault detection 3.Cost in terms of numbers of executed events 4.Cost in terms of elapsed time 5.Event sequence coverage 6.GUI State coverage 17

Empirical study (cont.) Experiment procedure 18

Empirical study (cont.) Experiment procedure 19

Empirical study (cont.) Comment 20

21

22

Conclusion Model-based GUI testing ▫ Faults detection ▫ Less elapsed time Dynamic event-extraction GUI testing ▫ State coverage ▫ Not effective for short test cases 23

Conclusion (cont.) The overall contributions of this work include the following: ▫ A comprehensive experiment comparing the two kinds of GUI testing techniques. ▫ A flexible GUI testing framework that lessens the potential of implementations. ▫ A better understanding of the relative strengths and weaknesses of the two types of GUI testing techniques. ▫ A discussion and better understanding of the various factors affecting the application of GUI testing techniques. ▫ Guidelines for software engineers and researchers on things to consider. 24