Lab 8: GUI testing Software Testing LTAT.05.006.

Slides:



Advertisements
Similar presentations
Debugging ACL Scripts.
Advertisements

Yokogawa Network Solutions Presents:
Windows Test Review.
CE 311 K Introduction to Computer Methods VB Controls and Events Daene C. McKinney.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
CGS 1060 Introduction to MicroComputer Usage Chapter 1 Windows 7
1 Chapter 5: Introduction To Form Builder. 2 Forms  Why Do We Use Form Builder?  Why Don’t We Use SQL Only?!
Chapter 7 Working with Files.
Introduction to VB.NET Tonga Institute of Higher Education.
Software Testing. Definition To test a program is to try to make it fail.
Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
HOMEWORK REVIEW This is an if else statement layout if (condition) { code to be executed if condition is true; } else { code to be executed if condition.
Booting Ubuntu Linux Live CSCI 130 – Fall 2008 Action Lab Dr. W. Jones.
What is software testing? 1 What are the problems of software testing? 2 Time is limited Applications are complex Requirements are fluid.
Introduction of Geoprocessing Topic 7a 4/10/2007.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
Testing and Debugging Version 1.0. All kinds of things can go wrong when you are developing a program. The compiler discovers syntax errors in your code.
Introduction to Computer System
Lesson No: 6 Introduction to Windows XP CHBT-01 Basic Micro process & Computer Operation.
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,
Event Handling Tonga Institute of Higher Education.
Windows 2000 Unit A A1 – A24 and Ap1 – Ap3 (Formatting a Disk)
Written module activity, Page 16 1.We refer to the physical parts of a computer that we can touch and see as hardware. Examples include the mouse, the.
Introduction of Geoprocessing Lecture 9 3/24/2008.
Oracle Virtualization Last Update Copyright 2012 Kenneth M. Chipps Ph.D.
Introduction to Programming Python Lab 7: if Statement 19 February PythonLab7 lecture slides.ppt Ping Brennan
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
CACI Proprietary Information | Date 1 PD² v4.2 Increment 2 SR13 and FPDS Engine v3.5 Database Upgrade Name: Semarria Rosemond Title: Systems Analyst, Lead.
1 Chapter 6: Creating Oracle Data Block Forms. 2 Forms  Application with a graphical user interface that looks like a paper form  Used to insert, update,
Software Development Languages and Environments. Computer Languages Just as there are many human languages, there are many computer programming languages.
What type of project? I tried three type of project and the only one I managed to obtain the results I wanted was this one. It is more flexible and much.
SWE 434 SOFTWARE TESTING AND VALIDATION LAB2 – INTRODUCTION TO JUNIT 1 SWE 434 Lab.
CNC Motion BenchMill 6000 Machining Center
Visual Basic.NET Windows Programming
A step-by-Step Guide For labels or merges
Development Environment
Working with Data Blocks and Frames
Useful Tools for Testing
Working in the Forms Developer Environment
Introduction to Programming and Visual Basic
Installation and Configuration
Topics Introduction to Repetition Structures
An Introduction to Computers and Visual Basic
Computer Programming I
Introduction to Programming
An Introduction to Computers and Visual Basic
Module 1.1 Introduction to computers
Chapter 2/Module 2: Computer and managing files
DB Implementation: MS Access Forms
Microsoft Visual Basic 2005 BASICS
Introduction to Microsoft Windows
Designing and Debugging Batch and Interactive COBOL Programs
Introduction to Programming
Testing and Test-Driven Development CSC 4700 Software Engineering
Introduction CSC 111.
DB Implementation: MS Access Forms
Introduction to Programming
An Introduction to Computers and Visual Basic
Software Development Process
Scriptless Test Automation through Graphical User Interface
Tonga Institute of Higher Education IT 141: Information Systems
Amos Introduction In this tutorial, you will be briefly introduced to the student version of the SEM software known as Amos. You should download the current.
Topics Introduction to Repetition Structures
Tonga Institute of Higher Education IT 141: Information Systems
Introduction to Programming
Review of Previous Lesson
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
Software Development Techniques
Presentation transcript:

Lab 8: GUI testing Software Testing LTAT.05.006

Install & Introduction This lab requires virtual machine VirtualBox is preferred Import the .ova file to your VM This file contains Windows 10 with Testar In the Desktop, you find Testar folder, which contains Testar and SUTs for the lab and homework task Make sure you have enough free space (>= 20 GB)

Capture & Replay and Visual testing tools Selenium, Sikuli Simple and easy to use Maintenance problem if user interface changes

‘Scriptless’ testing tool Testar Scripts are generated automatically No maintenance issues with regards to scripts Main purpose is robustness testing Robustness is the ability of a computer system to cope with errors during execution and cope with erroneous input.

Idea of Testar tool (1) GUI contains graphical objects called widgets Widgets form a hierarchy called widget tree All widgets have properties (title, etc.) Widget tree and properies of each widget form a GUI state GUI State changes, if user executes some action (click, write, etc) Oracles can be defined to check whether a state has been reached that is suspicious to be incorrect

Idea of Testar tool (2) Check oracles Sequence leading to failure Failure detected No failure detected Start SUT Scan GUI state Check stop criteria Stop SUT Yes No Execute action Derive (+filter) actions Select action

Idea of Testar tool (3) Some parameters have to be set before running Testar (-> stop criteria) Check oracles Sequence leading to failure Failure detected No failure detected Start SUT Scan GUI state Check stop criteria Stop SUT Yes No Regular expressions are used to configure oracles and filters Execute action Derive (+filter) actions Select action

Idea of Testar tool (4) – Stop criteria Number of Sequences (=Iterations) Number of Actions per Sequence Identify when there is enough actions done for one test

Idea of Testar tool (5) - Oracles Testar cannot determine if the SUT functions correctly For example, it cannot determine that 2+2 does not equal to 5 Testar can detect failures such as crashes and hangings (without oracles) In addition, Testar can detect failures if widget titles matches oracles Example: user specifies „fail“ as an oracle If word „fail“ appears in some state, then Testar reports it as a failure (test = fail) If word “fail” doesn’t appear in a sequence, then by default the test passes

Idea of Testar tool (6) - Filters By default, Testar will execute actions on all the widgets it can find Including buttons on the title bar (close, minimize, maximize, system) User can define that specific widgets cannot be executed For example, forbid clicking on ‘close’ button To do this, an action filter can be configured Filtering is done by matching the widget title to filters For example, user can specify „.*close.*“ as a filter and Testar will not execute actions on widgets, which title contains „close“

Testar cannot determine Testar can determine

Introduction to folder structure Bin Testar.bat File to run Testar Output Sequences_ suspicioustitle Sequences_ unexpectedclose Graphs Testar Sequences that matched oracles Sequences where the SUT closed unexpectedly Contains raw graph files and a converter See TA’s lab instructions for explanation. SUTs Note: This slide only shows the most important folders Calculator ATM For task in lab For homework task

Interpreting output (1) User must determine if the reported failure is… false positive – reported as failure, but is not really true positive – an actual failure That’s why the folders are called „unexpected…“ and „suspicious…“ User must look through all the sequences, even though many are duplicates, because there is no way to automatically analyse them

Interpreting output (2) Testar generates files, which can be converted to visual graphs „offline_graph_conversion.bat“ is automatically provided in each graph folder All the graphs are converted automatically by the .bat file We use the screenshotted graph to understand what happend in the sequence Looking through the screenshotted graphs should be quite simple and easy to understand, however… It can happen that there are some layout issues and not all the screenshots are connected

Like in this example, where you can see only one state before failure Which was previous state?

To find the previous state, use the action number inside the brakets

Search for lower number to find previous state Ctrl + f

It will show you the previous action This way you can move through the graph if some parts are not connected

Hints (1) Use a reasonable number of sequences (say, something between 20 and 100) If the number is too small, you might not trigger any failure If the number is too high, the execution might take too long and the (manual) analysis of the output files might take too long Use a reasonable number of actions in each sequence It will keep graphs smaller and therefore easier to read About 20 should be fine, but it depends how you use the filters

Hints (2) If you keep finding the same failure many times, you should consider filtering out the path leading to that failure It will save you time while inspecting graphs Also, make sure, that you don’t apply filter too early, otherwise you might miss some of the failures Information messages are not to be considered failures if they match those listed in the appendixes A (in-lab task) and C (homework task) Don’t write oracles matching these messages Check out Testar manual for more information about the tool