GUI testing There are two major sets of GUI testing 1.“Usability” of the GUI Looks (aesthetic, visual appeal) - - - artistic characteristic –Color –Shapes.

Slides:



Advertisements
Similar presentations
Information System Design Lab 5&6. User Interface Design.
Advertisements

CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
1 Software Engineering Lecture 11 Software Testing.
Boundary Value Testing A type of “Black box” functional testing –The program is viewed as a mathematical “function” –The program takes inputs and maps.
Java Programming, 3e Concepts and Techniques Chapter 4 Decision Making and Repetition with Reusable Objects.
Java Programming, 3e Concepts and Techniques Chapter 5 Arrays, Loops, and Layout Managers Using External Classes.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Screen guidelines For data entry. Screen Layout for Data Entry Identify screen (name and purpose). Keep number of screens to a minimum. Ensure that all.
© 2005 by Prentice Hall Chapter 3c Designing Interfaces and Dialogues.
Equivalence Class Testing
User Interface Design Chapter 11. Objectives  Understand several fundamental user interface (UI) design principles.  Understand the process of UI design.
Survey Monkey A “How To” Guide.
TrendReader Standard 2 This generation of TrendReader Standard software utilizes the more familiar Windows format (“tree”) views of functions and file.
WORKING WITH MACROS CHAPTER 10 WORKING WITH MACROS.
Chapter Seven Advanced Shell Programming. 2 Lesson A Developing a Fully Featured Program.
The Clinic Administration
Microsoft Access 2000 Creating Tables and Relationships.
Basic Navigation in SAP For the Windows Graphical User Interface (GUI) Click your mouse anywhere or select “Page Down” to scroll through the pages.
System Design: Designing the User Interface Dr. Dania Bilal IS582 Spring 2009.
Visual Basic 2010 How to Program © by Pearson Education, Inc. All Rights Reserved.
PMS /134/182 HEX 0886B6 PMS /39/80 HEX 5E2750 PMS /168/180 HEX 00A8B4 PMS /190/40 HEX 66CC33 By Adrian Gardener Date 9 July 2012.
Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Five More on the Selection Structure.
WEKA - Explorer (sumber: WEKA Explorer user Guide for Version 3-5-5)
MagicInfo Pro Scheduler Now that a template has been created from content imported into the Library, the user is ready to begin scheduling content to.
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
08/10/ Iteration Loops For … To … Next. 208/10/2015 Learning Objectives Define a program loop. State when a loop will end. State when the For.
Chapter 12: How Long Can This Go On?
1 ADVANCED MICROSOFT EXCEL Lesson 9 Applying Advanced Worksheets and Charts Options.
Click to edit Master subtitle style USABILITY and USER INTERFACE DESIGN Application.
Designing Interface Components. Components Navigation components - the user uses these components to give instructions. Input – Components that are used.
Java Programming, Second Edition Chapter Five Input and Selection.
VistA Imaging Capture via Scanning. October VistA Imaging Capture via Scanning The information in this documentation includes only new and updated.
Productivity Programs Common Features and Commands.
Lecture 5(b), Slide 1 CP2030 Copyright © University of Wolverhampton CP2030 Visual Basic for C++ Programmers v Component 5(b) HCI aspects of VB programming.
Microsoft Visual Basic 2008: Reloaded Third Edition Chapter Five More on the Selection Structure.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
Create Lists in Millennium Jenny Schmidt SWITCH Library Consortium.
INFO 355Week #71 Systems Analysis II User and system interface design INFO 355 Glenn Booker.
12.1 CSC 123 Systems Analysis & Design Part IV: The Essentials of Design Chapter 12 Designing Effective Input.
Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic 2005, Third Edition.
WHAT IS A DATABASE? A DATABASE IS A COLLECTION OF DATA RELATED TO A PARTICULAR TOPIC OR PURPOSE OR TO PUT IT SIMPLY A GENERAL PURPOSE CONTAINER FOR STORING.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
Java Applets: GUI Components, Events, Etc. Ralph Westfall June, 2010.
Programming with Microsoft Visual Basic th Edition
Practical Programming COMP153-08S Week 5 Lecture 1: Screen Design Subroutines and Functions.
) Main Menu: You can access all aspects of the database from this screen 2) Contacts: You can access the “contact database management” side of.
Java Programming, 2E Introductory Concepts and Techniques Chapter 4 Decision Making and Repetition with Reusable Objects.
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
1 Using Conditional Formatting & Data Validation Applications of Spreadsheets.
LECTURE 18 16/11/15. MAKING THE INTERFACE CONSISTENT Consistency is one way to develop and reinforce the users conceptual model of applications and give.
Chapter 16 Designing Effective Input Systems Analysis and Design Kendall and Kendall Fifth Edition.
Data Analysis for Testing In order to test a program or system, it usually requires : –Starting the system (program) –Inputting some data –Let it execute.
Moodle Quizes Staff Guide. Creating Quizzes Click Add an Activity or Resource With the course in editing mode...
This is how you invoke the Microsoft Visual Studio 2010 Software. All Programs >> Microsoft Visual Studio 2010.
Copyright (c) 2003 by Prentice Hall Provided By: Qasim Al-ajmi Chapter 2 Introduction to Visual Basic Programming Visual Basic.NET.
Introduction to Programming Python Lab 5: Strings and Output 05 February PythonLab5 lecture slides.ppt Ping Brennan
Controlling Program Flow with Decision Structures.
1 CA202 Spreadsheet Application Focusing on Specific Data using Filters Lecture # 5.
Boundary Value Testing 1.A type of “Black box” functional testing –The program is viewed as a mathematical “function” –The program takes inputs and maps.
Perfecto Mobile Automation
1 EPIB 698C Lecture 1 Instructor: Raul Cruz-Cano
DEPARTMENT MODULE User’s Guide. Step 1. Click Files Step 2. Click Department.
Functional testing, Equivalence class testing
Data Validation and Protecting Workbook
How to Create and Start a Test Session
Introduction to Programming
Introduction to Programming
Presentation transcript:

GUI testing There are two major sets of GUI testing 1.“Usability” of the GUI Looks (aesthetic, visual appeal) artistic characteristic –Color –Shapes –Icons and Positions –Acronym/ Spelling/ Grammar Navigation (natural flow) business flow characteristic –Past cultural and work experience (e.g. accessibility from menu or tool bar)) –Amount of (or number) of choices and combination of choices –Shortcuts and options for experienced user 2.“Logic” of GUI Coverage of the data inputs/outputs of GUI fields –Input box –Check box –Drop down window list –Button choices –Etc. We will focus on the Functional Logic of GUI fields and the coverage of data inputs in this lecture.

But first - - -Testing the Usability of GUI Usability is largely based on – user perceptions and thus based on user feedback. Should not wait until the end of the development cycle: –Perform “paper” inspection of interface requirements/design (with users) –Testing “early prototypes” with users to: Explore users’ mental models (looks, flow, etc.) Evaluate alternatives Validate the choice (in terms of speed, accuracy, etc.) –Testing with functional code (incrementally with the interfaces.) –Perform a, possibly, formal usability test with : Good statistical sampling of users Usability expert to design the test and evaluate the results

Testing GUI Fields In order to test a program or system, it usually requires : 1.Starting the system (program) 2.Inputting some data 3.Let it execute 4.Observe the results (outputs and state) What data do we “input?” –Note that inputting data is not limited to keying in information. It includes clicking on a “button’ or making a choice from a “drop down” list. For example: Clicking on a button is a binary event – clicked or not clicked If there are n buttons on a screen, then we have 2 n permutations of “inputs” that need to be considered.

Consider an Example Key in # of people (max. 12): Cruise Meal Reservations Breakfast LunchDinner For this meal reservation, we have 4 input fields. - key in number of people - 3 buttons to click for the meal or meals What type and how many “inputs should we consider for the test ? Note: how do you think error or any message would/should be handled here?

Example (cont.) Breakfast button Dinner button Lunch button True False X X X X X X X X X X X X X X X X X X X X X X X X -A) First, the numerical input field allows “integer” inputs. -B) Second, the integer must not be greater than 12 -C) Third, there are 2 3 = 8 permutations for the 3 meal buttons These 8 combinations equates to 8 input test cases. But rows are the 3 logical ones?

“Partitioning” Numerical Field Test (from example) 1.The “illegal” input test for numerical field. In this case “number of people” has to be positive integers. Input tests should include: –Non-integer (e.g. decimal number) –Negative integer –non-numeric (characters) 2.The “legal” integer is “upper” bounded by 12: –Integer 12 (inclusive boundary) –Integer 13 (one over the boundary) –Integer 11 (one inside the boundary) 3.Is there a “lower” bound? not clear –Assume integer 1 (inclusive boundary) –0 (one outside the boundary) –2 (inside the boundary) The different inputs considered for the numerical field equates to 9 test cases. special kind of “out of bounds” test more conventional boundary value test

More on the Example Should we just add up the two separate sets of test cases and get 17 input tests? –8 from the 3 buttons –9 from the numerical field We can probably reduce some from the numerical field tests: –Just do one inside the boundary instead of both sides of the boundary. –One outside of the lower bound instead of 0 and a negative number. Do we need to ask if there is any relationship among the input fields? –Should we ensure that the combination of legitimate numerical input (e.g. 8 people) is combined with all three buttons not clicked to test the inter- relationship? –What type of error message, if any, should be issued if the user keys in 0 people and no buttons clicked? –Should we worry about some other possible relationship that we did not consider and thus perform 8 X 9 = 72 test cases? to see the different or consistency of “error” messages? Message box Message content Opportunity to recover

1-Dimensional Boundary Value Analysis Our previous example of numerical field had an upper and a lower bound of 12 and 1 respectively. There are two way to consider the boundary value analysis. 1.Legitimate to illegitimate includes : a) 2 (legitimate-inside boundary) b) 1 (legitimate – on boundary) c) 0 (illegitimate – outside the boundary) d) 11 (legitimate –inside the boundary) e) 12 (legitimate – on boundary) f) 13 (illegitimate – outside the boundary) legitimate 2. Illegitimate to legitimate includes : a) -1 (illegitimate-inside boundary) b) 0 (illegitimate – on boundary) c) 1 (legitimate – outside the boundary) d) 14 (illegitimate – inside the boundary) e) 13 (illegitimate – on boundary) f) 12 (legitimate – outside the boundary) illegitimate May choose to reduce to the set with 5 inputs { 0, 1, 2, 12, 13} May choose to reduce to the set with 5 inputs {-1, 0, 1, 13, 14 } or with only 4 inputs { 0, 1, 12, 13} uncomfortable ?

Multi-Dimensional Boundary Value Analysis (Case 1 – Partially Dependent) Book check-out Date; Book check-in Date: - Assume that for these two fields we have performed the boundary analysis and estimated the test cases: - check-out date : n1 input test cases - check-in date : n2 input test cases -Then the total test cases will be (n1 + n2). - But is there any inter-relationship? - Yes, book checkout date must be before or same as book check-in (return) date. - ensure that that the 3 cases of a) =, b) check-out > check-in, and c) check-out< check-in are in the ( n1+n2 ) input tests or one needs to add these.

Multi-Dimensional Boundary Value Analysis (Case 2 – Dependent) Flight Time : Flight Date : Consider the situation where a discount is given to flights between: - 6 PM to 12AM (inclusive) and - 6/1/2005 through 12/31/2005 (inclusive) Aside from the individual field level 1-dimensional boundary value analysis, we need to take into account the “AND” logic for getting a discount. Individually, this logic requires: - {5:59pm, 6:00pm, 6:01pm, 11:59PM, 12:00AM, 12:01AM} for Flight Time - {5/31/2005, 6/1/2005, 6/2/2005, 12/30/2005, 12/31/2005, 1/1/2006} for Flight Dates ( note that we have reduced the one duplication inside the boundary )

Multi-Dimensional Boundary Value Analysis (Case 2 – Dependent) – cont. Because of the ‘AND’ logic for the time and dates, we would consider the (5 “ time” inputs X 5 “date” inputs) or a total of 25 combinations. 5:59 PM 6:00 PM 6:01 PM 12:00 AM 12:01 AM 5/31/05 6/01/05 6/02/05 12/31/05 1/01/06 (ill, ill) (ill, leg) (ill, ill) (leg, ill) (ill, ill) (leg, leg) (leg, ill) (leg, leg) (leg, ill) (leg, leg) (leg, ill) (ill, leg) (ill, ill) the entries are in the form : (date, time) where - ill= illegitimate - leg = legitimate

Multi-Dimensional Boundary Value Analysis (Case 2 – Dependent) – cont. 5:59 PM 6:00 PM 6:01 PM 12:00 AM 12:01 AM 5/31/05 6/01/05 6/02/05 12/31/05 1/01/06 (ill, ill) (ill, leg) (ill, ill) (leg, ill) (ill, ill) (leg, leg) (leg, ill) (leg, leg) (leg, ill) (leg, leg) (leg, ill) (ill, leg) (ill, ill) Do we need to run all 25 combinations ---- can we reduce the test cases? Cover all the borders scheme with a very limited saving - 24 test cases: a) (ill,ill)  (leg,leg); b) (ill, leg)  (leg,leg); c) (leg,ill)  (leg,leg)

Multi-Dimensional Boundary Value Analysis (Case 2 – Dependent) – cont. 5:59 PM 6:00 PM 6:01 PM 12:00 AM 12:01 AM 5/31/05 6/01/05 6/02/05 12/31/05 1/01/06 (ill, ill) (ill, leg) (ill, ill) (leg, ill) (ill, ill) (leg, leg) (leg, ill) (leg, leg) (leg, ill) (leg, leg) (leg, ill) (ill, leg) (ill, ill) Do we need to run all 25 combinations ---- can we reduce the test cases? Cover some of the borders scheme with more savings – 12 test cases: (ill,ill)  (leg,leg); (ill, leg)  (leg,leg); (leg,ill)  (leg,leg)

Multi-Dimensional Boundary Value Analysis (Case 2 – Dependent) – cont. 5:59 PM 6:00 PM 6:01 PM 12:00 AM 12:01 AM 5/31/05 6/01/05 6/02/05 12/31/05 1/01/06 (ill, ill) (ill, leg) (ill, ill) (leg, ill) (ill, ill) (leg, leg) (leg, ill) (leg, leg) (leg, ill) (leg, leg) (leg, ill) (ill, leg) (ill, ill) Do we need to run all 25 combinations ---- can we reduce the test cases more? Try Partitioned Data sets of (ill, ill); (ill, leg); (leg,ill); (leg,leg) – 4 test cases: ( NOT a good choice to use partitioned data sets on this 2-dimensional boundary value analysis )

Multi-Dimensional Boundary Value Analysis We have seen in our example of 2 inter-related data fields, each having 5 potential inputs from boundary value analysis, would result in 5 x 5 = 25 test cases (even though the number may be reduced with risk) In general, if we have Z inter-related data fields, each with n test cases from individual boundary value analysis, then we would have: – n x n x x n (Z times) or – n Z test cases if n= 5 and z = 3, that would mean 5 3 = 125 test cases If we have three independent screens like this it would mean 3 x 125 = 375 test cases ! But if the 3 screens are dependent on each other, we may have as much as 125 x 125 x 125 = 1,953,125 test cases! (imagine that!)

An Interesting Multi-Scenario Test Analysis Flight Number : OR Enter Departing Loc. : Arriving Loc. : Approximate Arrival Time: Check Flight Status

An Interesting Multi-Scenario Analysis Flight Number XYZ-126 schedule dept-timeactual dept-timescheduled arr-timeactual arr-time 2:00PM 6:00pm Flight Number XYZ-126 schedule dept-timeactual dept-timescheduled arr-timeactual arr-time 2:00PM 2:15PM 6:00pm Test for : Prior to flight takes off Need to test for : after flight takes off What do you need to do to test this ? How about actual arrival time ? ---- relation to dept time ?