Lec 15 Testing GUIs 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Lecture 15 GUI Testing 10/21/2013 1.

Slides:



Advertisements
Similar presentations
Lecture 10 Flow of Control: Loops (Part 2) COMP1681 / SE15 Introduction to Programming.
Advertisements

Interaction Modeling for Testing We would generate the test cases based on our understanding of the interactions that may happen. The source is, again,
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 7 - JavaScript: Introduction to Scripting Outline 7.1 Introduction 7.2 Simple Program: Printing.
Computer Science 2 Data Structures V section 2 Recitation 1.
Java Programming, 3e Concepts and Techniques Chapter 3 Section 63 – Manipulating Data Using Methods – Day 2.
Information Technology IMS5024 Information Systems Modelling Event-driven modelling.
GUI Testing. High level System Testing Test only those scenarios and outputs that are observable by the user Event-driven Interactive Two parts to test.
Functional Testing 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Lecture 01 – Functional Testing.
1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007.
Lecture 12 Another loop for repetition The while loop construct © 2007 Daniel Valentine. All rights reserved. Published by Elsevier.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic JavaScript: Functions Part I.
Chapter 2 Getting Started with Java Part B. Topics Components of a Java Program –classes –methods –comments –import statements Declaring and creating.
Systems Analysis and Design in a Changing World, 6th Edition
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 9 Car Payment Calculator Application Introducing the Do While...Loop and Do Until...Loop.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Vlachopoulos Georgios Lecturer of Computer Science and Informatics Technological Institute of Patras, Department of Optometry, Branch of Egion Lecturer.
 2004 Prentice Hall, Inc. All rights reserved. Chapter 7 - JavaScript: Introduction to Scripting Outline 7.1 Introduction 7.2 Simple Program: Printing.
Visual Basic 2010 How to Program © by Pearson Education, Inc. All Rights Reserved.
MSc/PgDip in ITIntroductory Programming: Week 4 Lecture 21 INTRODUCTORY PROGRAMMING Week 4 Lecture 2 Fonts –Horstmann 4.6 ActionEvents –different events.
Chapter 3: Data Types and Operators JavaScript - Introductory.
Arithmetic operations and operators, converting data types and formatting programs for output. Year 11 Information Technology.
Systems Analysis and Design in a Changing World, 6th Edition
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
Chapter 14 System Testing.
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 5 – Dental Payment Application: Introducing.
Chapter 7: Chemical Formulas and Chemical Compounds
ICT Foundation 1 Copyright © 2010, IT Gatekeeper Project – Ohiwa Lab. All rights reserved. Foundations of Propositional Logic.
Selection Control Structures. Simple Program Design, Fourth Edition Chapter 4 2 Objectives In this chapter you will be able to: Elaborate on the uses.
Conceptual Modelling – Behaviour
CIS Intro to JAVA Lecture Notes Set 7 7-June-05.
F27SA1 Software Development 1 3. Java Programming 2 Greg Michaelson.
CSCE 121: Introduction to Program Design and Concepts, Honors Dr. J. Michael Moore Spring 2015 Set 15: GUIs 1.
♦ Use Case Model  Detailled use case - Important  Use case diagram- Refactoring Use case diagram  > 1 Last Lectures.
EXPRESSION Transformation. Introduction ►Transformations help to transform the source data according to the requirements of target system and it ensures.
Tools - Hamcrest 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Tools 12 – Hamcrest 10/02/
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 5 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 13 GUI Programming.
GUI Testing The main characterstic of any graphical user interface(GUI)application is event driven. Users can cause any of several in any order.Although.
Lec 19 Web Driver 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Lecture 19 Selenium Web Driver 11/4/
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
System Testing Earlier we have stated the 2 views of testing:
CSC 1010 Programming for All Lecture 3 Useful Python Elements for Designing Programs Some material based on material from Marty Stepp, Instructor, University.
Chapter 15 I’m on the Inside; You’re on the Outside (Nested Loops) Clearly Visual Basic: Programming with Visual Basic nd Edition.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 4: Events Programming with Alice and Java First Edition by John Lewis.
Part:2.  Keywords are words with special meaning in JavaScript  Keyword var ◦ Used to declare the names of variables ◦ A variable is a location in the.
 2003 Prentice Hall, Inc. All rights reserved. Chapter 7 - JavaScript: Introduction to Scripting Outline 7.1 Introduction 7.2 Simple Program: Printing.
Lec 09 Integration & System Testing- 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Lecture 09-Integration and System Testing 9/25/2013.
Lecture 22: Finite State Machines with Output. Moore Machine - A Moore machine is a 6-tuple (Q, , , , q 0,  ) where, (1) Q is a finite set of states.
Today protected access modifier Using the debugger in Eclipse JUnit testing TDD Winter 2016CMPE212 - Prof. McLeod1.
CSCE 747 Software Testing and Quality Assurance
Modeling for Testing Interactions
Introduction to Visual Basic 2008 Programming
Chapter 3: Variables, Functions, Math, and Strings
BTS430 Systems Analysis and Design using UML
Model-Based Testing Model the system
Data Types and Variables Part D – Common Methods (ToString and Parse)
Chapter 7 - JavaScript: Introduction to Scripting
Part A – Doing Your Own Input Validation with Simple VB Tools
CISC124 Assignment 3 due this Wednesday at 7pm.
CMPE212 – Stuff… Assn 2 due this Friday. Winter 2018
Chapter 6 Control Statements: Part 2
Fall 2018 CISC124 2/1/2019 CISC124 Note that the next assignment, on encapsulation, is due next Wednesday at 7pm – not Friday. The next Quiz is not until.
Exercise Solution First questions What's output What's input
CMPE212 – Reminders Assignment 2 due this Friday.
JavaScript: Introduction to Scripting
Chapter 7 - JavaScript: Introduction to Scripting
CMPE212 – Reminders Assignment 2 due this Friday.
Chapter 7 - JavaScript: Introduction to Scripting
Trainer: Bach Ngoc Toan– TEDU Website:
Chapter 7 - JavaScript: Introduction to Scripting
Presentation transcript:

Lec 15 Testing GUIs 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Lecture 15 GUI Testing 10/21/2013 1

Lec 15 Testing GUIs 2 CSCE 747 Fall 2013 A Little more Ham(crest) anyone?  Class Summary AllOf Calculates the logical conjunction of multiple matchers. AnyOf Calculates the logical disjunction of multiple matchers. CombinableMatcher CombinableMatcher.CombinableBothMatcher CombinableMatcher.CombinableEitherMatcher DescribedAs Provides a custom description to another matcher. Every Is Decorates another Matcher, retaining the behaviour but allowing tests to be slightly more expressive.

Lec 15 Testing GUIs 3 CSCE 747 Fall 2013 Hamcrest Core continued IsAnything A matcher that always returns true. IsCollectionContaining IsEqual Is the value equal to another value, as tested by the Object.equals(java.lang.Object) invokedMethod? IsInstanceOfTests whether the value is an instance of a class. IsNot Calculates the logical negation of a matcher. IsNull Is the value null? IsSame Is the value the same object as another value? StringContains Tests if the argument is a string that contains a substring. StringEndsWith Tests if the argument is a string that contains a substring. StringStartsWith Tests if the argument is a string that contains a substring. SubstringMatcher

Lec 15 Testing GUIs 4 CSCE 747 Fall 2013 Overview of GUI Testing  Chapter 19 of text  event-driven nature  events  callbacks  UML of little help with event based systems  The Currency Conversion Program

Lec 15 Testing GUIs 5 CSCE 747 Fall 2013 The Currency Conversion Program  GUI

Lec 15 Testing GUIs 6 CSCE 747 Fall 2013

Lec 15 Testing GUIs 7 CSCE 747 Fall 2013 Integration Testing for the Currency Conversion Program

Lec 15 Testing GUIs 8 CSCE 747 Fall 2013

Lec 15 Testing GUIs 9 CSCE 747 Fall 2013 Refactored

Lec 15 Testing GUIs 10 CSCE 747 Fall 2013 Event Driven Petri Nets (EDPN)  System Testing for the Currency Conversion Program

Lec 15 Testing GUIs 11 CSCE 747 Fall 2013 Input Events

Lec 15 Testing GUIs 12 CSCE 747 Fall 2013 Output Events

Lec 15 Testing GUIs 13 CSCE 747 Fall 2013 What set of threads exercise a set of threads that:  Use every atomic system function  Use every port input  Use every port output

Lec 15 Testing GUIs 14 CSCE 747 Fall 2013 Threads with ASF sequences  T1 =  T2 =  T3 =  T4 =

Lec 15 Testing GUIs 15 CSCE 747 Fall 2013  T5 =  is a good example, where the user  converts a U.S. dollar amount to each of the four currencies,  then clears the screen and  quits.

Lec 15 Testing GUIs 16 CSCE 747 Fall 2013 Atomic System Functions

Lec 15 Testing GUIs 17 CSCE 747 Fall 2013 Petri Net Fig 4.9  Before Firing  After firing Page 66 Jorgenson, Software Testing

Lec 15 Testing GUIs 18 CSCE 747 Fall 2013 Event-Driven Petri Nets (EDPNs)  EDPN=(P, D, S, In, Out)  P set of ports  D set of data places  S a set of transitions  In subset of (P U D) x S  Out subset of S x (P U D)

Lec 15 Testing GUIs 19 CSCE 747 Fall 2013 EDPN – Windshield Wiper Control

Lec 15 Testing GUIs 20 CSCE 747 Fall 2013 Fig 19.2 EDPNs of atomic system functions

Lec 15 Testing GUIs 21 CSCE 747 Fall 2013

Lec 15 Testing GUIs 22 CSCE 747 Fall 2013

Lec 15 Testing GUIs 23 CSCE 747 Fall 2013

Lec 15 Testing GUIs 24 CSCE 747 Fall 2013

Lec 15 Testing GUIs 25 CSCE 747 Fall 2013

Lec 15 Testing GUIs 26 CSCE 747 Fall 2013 Composition of four ASFs

Lec 15 Testing GUIs 27 CSCE 747 Fall 2013

Lec 15 Testing GUIs 28 CSCE 747 Fall 2013

Lec 15 Testing GUIs 29 CSCE 747 Fall 2013