Web Applications Testing. Ario Nejad, Christopher Choi

Similar documents
Enterprise Web based Software Architecture & Design

Enterprise Software Architecture & Design

QUIZ #5 - Solutions (5pts each)

Software Testing. An Overview

Web Development & Design Foundations with HTML5

Table of Contents What is Test Automation Framework?... 3 Different types of Frameworks used in QTP... 4 Linear Framework in QTP...

Copyright 2018, Oracle and/or its affiliates. All rights reserved.

Certified Automation Functional Testing Professional VS-1253

Information Systems Interfaces (Advanced Higher) Information Systems (Advanced Higher)

MOHA: Many-Task Computing Framework on Hadoop

RADX - Rapid development of web applications in XML

Up and Running Software The Development Process

Mind Q Systems Private Limited

CHAPTER 3 WEB DESIGN BASICS KEY CONCEPTS

BlackPearl Customer Created Clients Using Free & Open Source Tools

LECTURE 05 WEB DESIGN

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

2 The BEinGRID Project

USING APPIUM FOR MOBILE TEST AUTOMATION

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

Oracle Database 12c Performance Management and Tuning

Software Testing MANUAL TESTING. Introduction to Testing. Software Quality Software Testing Definition. Different Life Cycle Models Waterfall Model

Agent-based Modeling using L S D

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Managing Oracle9iAS Forms Services Using Oracle Enterprise Manager. An Oracle White Paper April 2002

[Sample] Quality Report: <<project>>

Chapter 9 Quality and Change Management

Pearson Education 2007 Chapter 9 (RASD 3/e)

Oracle Application Testing Suite: Introduction Student Guide

Sample Report Failures by group

Archives in a Networked Information Society: The Problem of Sustainability in the Digital Information Environment

Software Testing Tools

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Management of IT environment end users and the impact of new technological solutions

Answers NOT TO BE PRINTED

Market Participant Client Platform

Manual Testing. Software Development Life Cycle. Verification. Mobile Testing

Software Engineering (CSC 4350/6350) Rao Casturi

Call: SharePoint 2013 Course Content:35-40hours Course Outline

Goals PROTOTYPING) Cris%an(Bogdan( (

A Methodology to Build Lasting, Intelligent Cybersecurity Programs

Module 1 : Fundamentals of Testing. Section 1: Manual Testing

Better Bioinformatics Through Usability Analysis

Visual Design Flows for Faster Debug and Time to Market FlowTracer White Paper

Unit title: Programming for Mobile Devices (SCQF level 6)

Software Testing

Getting a Quick Start with RUP

IBM Tealeaf cxoverstat

The Role of Data Profiling In Health Analytics

INTERNATIONAL JOURNAL OF LIBRARY AND INFORMATION SCIENCE (IJLIS)

Web Development & Design Foundations with HTML5, 8 th Edition Instructor Materials Chapter 10 Test Bank Multiple Choice. Choose the best answer.

User Centered Design - Maximising the Use of Portal

Subject : Computer Science. Paper : Software Quality Management. Module : CASE Tools

The Keys to Monitoring Internal Web Applications

Intelligent Performance Software Testing

Introduction to Formal Methods

R&D White Paper WHP 018. The DVB MHP Internet Access profile. Research & Development BRITISH BROADCASTING CORPORATION. January J.C.

Requirements Elicitation

Requirement Analysis

Step 1 - Learning & Discovery

User Testing Study: Collaborizm.com. Jessica Espejel, Megan Koontz, Lauren Restivo. LIS 644: Usability Theory and Practice

iinview Research First Click Analysis & Other User Metrics

State two analytical tools used to understand feasibility of a proposed application. Acceptable answer(s) Guidance Max mks

Test design techniques

SOFTWARE LIFE-CYCLE MODELS 2.1

Contents. About this Book...1 Audience... 1 Prerequisites... 1 Conventions... 2

FAST & Remote Control Solutions

FLEET LOGO USAGE AND STANDARDS INNOVA BRANDING STANDARDS 2015 GUIDE

WordPress User Interface Expert Review Gabriel White Version 1.0 DRAFT March, 2005

SCALING UP VS. SCALING OUT IN A QLIKVIEW ENVIRONMENT

Lesson Plan for semester Started w.e.f (8 th Sem)

Advanced Software Engineering: Software Testing

Building Microservices with the 12 Factor App Pattern

Oralogic Education Systems

Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement

SE 2730 Final Review

MONIKA HEINER.

Automatic Colorization of Grayscale Images

Major Topics. Prototyping and Rapid Application Development

Objectives. Object-Oriented Analysis and Design with the Unified Process 2

Newly-Created, Work-in-Progress (WIP), Approval Cycle, Approved or Copied-from-Previously-Approved, Work-in-Progress (WIP), Approval Cycle, Approved

Introducing Extreme Rapid Application Development for Oracle E-Business Suite. A CaoSys White Paper November 2008

Puppet and RBS Presents: Driving Digital Transformation in the Real World with VMware vrealize

What is an Image? Image Acquisition. Image Processing - Lesson 2. An image is a projection of a 3D scene into a 2D projection plane.

Development of a Methodology for Simulating Seat Back Interaction Using Realistic Body Contours

EU mhealth Working Group

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Adopting Agile Practices

Objective Manual Testing Test Case Template Excel

In this lesson you are going to create a drawing program similar to Windows Paint. 1. Start with a new project and remove the default cat sprite.

Emergeables. Deformable Displays for Continuous Eyes-Free Mobile Interaction

Intelligent Mobile App Testing

System Development Life Cycle Methods/Approaches/Models

Product Guide. McAfee Performance Optimizer 2.2.0

Part III: Evaluating the Business Value of the Hybrid Cloud

Contents 1 Introduction 2 Usability and Human Computer Interaction (HCI)

Avoiding regressions in an agile development environment. At Yottaa

Figure Potential 5G applications

Enterprise Manager: Scalable Oracle Management

Product Quality Engineering. RIT Software Engineering

Transcription:

Web Applications Testing Ario Nejad, Christopher Choi

What is a Web Application? Though the boundaries of what constitute a web application are vague, it is commonly perceived to be an application that utilizes a web browser as its medium. A web application differentiates itself from a web site by serving a purpose beyond simply displaying information to a user.

Why do Web Applications Matter? Web applications, increasingly, serve as the interface between a user and online transactions. - Growth of cloud based technologies. - The advent of the SaaS model and prominent use of thin clients. - Coming full circle back to mainframe time-sharing systems?

Web Applications VS Traditional Software Number of users (pressure on web servers) Heterogeneous and autonomous client environment (compatibility) Performance (focus on information searching and indexing) Rate of content change(dynamic)

Rapid Application Development (RAD) RAD is a software development methodology that uses minimal planning in favor of rapid prototyping. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements. Applying RAD often results in the lack of necessary documents come testing.

RAD Model

Testing Process for Traditional Software 1. Determine the testing objects and targets. 2. Generate the testing input. 3. Produce the expected output. 4. Execute the test cases and validate. 5. Amend the software and do regression testing.

The sequence and process for web application testing is generally the same as the traditional ones, only different in the realization techniques and methods.

Modeling the Testing Process for Web Applications Determine testing requirements based on application under testing (target, object, and method) Select test cases (input information, expected output, and test steps) Execute test cases under client side equipment (executor, monitor) Results analysis and comparison work

Testing Framework for Web Applications

Analyzing Testing Requirements A web application consists of multiple pages. Each page contains numerous page elements such as hyperlinks, displaying elements, grids, scripts, components, and forms. We need a web application model to determine the structure and relationship of the testing objects.

Web Application Diagram

Analyzing Testing Requirements Cont. Based on the detailed testing requirements, select relevant testing objects and choose the applicable testing methods. Functionality testing Performance testing Safety testing Usability testing Compatibility testing White box, black box, or gray box testing

Generating and Selecting Test Cases First the condition section (listing conditions and combinations of conditions). Input variables to the page, Input Actions, and State before test execution. Second the action section (listing responses to be produced when corresponding combinations of conditions are true). Expected Results, Expected Output Actions. and Expected State after test.

Executing Testing Testing should be executed on the clientside in order to model real-world usage. The strictly defined sequence of actions as defined in the testing requirements phase allows for automation. Improving testing intelligence is necessary in order to effectively deal with errors, due to the multi-layered nature of a web application.

Analyzing and Measuring Test Results The results returned from the testing process are compared to a set of expected output values in order to determine correctness. However, due to the dynamic nature of web pages and the variety of environments the pages are displayed in, the individual elements are compared 1 to 1 in order to obtain an accurate assessment.

Modeling a Web Application to Meet Testing Requirements The process of modeling a web application involves the use of objects, relationships, and states. This often results in a jumble of contents and structures. By using object, interactive relation, and architecture models; we can expect reasonable structures, full-aspect contents, and clear relationships. The models also correspond with unit, integration, and system testing, respectively.

Web Application Testing Model

Web Application Testing Model Cont. Object model - involved in functional testing. Interactive relation model - involved in testing of dynamic properties and used to describe transfer of object states. Architecture model - involved in performance testing.

Gathering Testing Requirements Due to the use of the RAD cycle, web applications often lack the full set of design and analysis documents to generate a full suite of tests. Testing requirements are instead gathered by: - Directly analyzing the HTML page - Denote the elements, components, and relationships from the page code - Represent the objects and relationships graphically

Strategies for Generating and Selecting Test Cases 1. Combining the web application model with the testing requirements gives us testing paths. Testing paths allow us to determine the sequence in which the test is to be performed. 2. Collecting information about the objects allows us to determine input. 3. Expected output is determined during the analysis of the web application and testing requirements. Dynamic pages are tested in advance several times in order to generate a baseline. 4. Test cases are reduced using combinatorial testing methods.

Combinatorial Testing Combinatorial testing is a test method that tests all possible discrete combinations of the input parameters using carefully chosen test vectors.

Intelligent Automated Testing The testing process follows a rigid guideline making it so that manual testing is only useful when exception handling. Automated testing can be done by utilizing capture-replay tools which allow the testing sequence to be scripted. Machine learning allows for the automated testing agent to better handle dynamically generated pages.

Testing Execution Workflow 1. The testing monitor agent chooses corresponding test scenes from the test-side agent's repository depending on the testing target. 2. The monitor agent determines the testing steps and executing behavior, combined with the input parameters provided by the test case. 3. The execution agent visits the web pages under testing by implementing the testing sequence. 4. The execution agent outputs the test results to the monitor agent.

Testing Execution Workflow Diagram

Analyzing and Measuring Test Results Due to the difficulty of comparing returned vs expected results page elements are removed and an XML format is applied to compare structure and data. In this way data can be directly compared instead of focusing on visual elements. The quality of the web application can then be determined by quantitatively analyzing the test results to determine errors and faults alongside other metrics.

Questions?