Integration and Higher Level Testing

Similar documents
Black-Box Testing Techniques III

Windchill Quality Solutions 2011 (formerly Relex 2011) Curriculum Guide

Information System Design IT60105

Mixed Criticality in Safety-Critical Systems. LS 12, TU Dortmund

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

The conceptual view. by Gerrit Muller University of Southeast Norway-NISE

Leveraging Randomness in Structure to Enable Efficient Distributed Data Analytics

DECISION SUPPORT SYSTEMS FOR PARTICIPATORY FLOOD RISK AND DISASTER MANAGEMENT

SIMATIC Ident Industrial Identification Systems

ArcGIS Deployment Pattern. Azlina Mahad

EVALUATING RISK FACTORS OF BEING OBESE, BY USING ID3 ALGORITHM IN WEKA SOFTWARE

Standardization of Quantum Cryptography in China

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

INTRODUCTION. In March 1998, the tender for project CT.98.EP.04 was awarded to the Department of Medicines Management, Keele University, UK.

R E A D : E S S E N T I A L S C R U M : A P R A C T I C A L G U I D E T O T H E M O S T P O P U L A R A G I L E P R O C E S S. C H.

CPU SCHEDULING RONG ZHENG

Simulation of Process Scheduling Algorithms

1 Introduction. Station Type No. Synoptic/GTS 17 Principal 172 Ordinary 546 Precipitation

DP Project Development Pvt. Ltd.

Developing a Community Geographical Information System (GIS) in Rural India

University of Lusaka

AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis

AREP GAW. AQ Forecasting

Clock-driven scheduling

CSE 380 Computer Operating Systems

GIS implementation in BESCOM

Spatial Data Infrastructure Concepts and Components. Douglas Nebert U.S. Federal Geographic Data Committee Secretariat

Scalable Failure Recovery for Tree-based Overlay Networks

The AMGI project: A Brief Overview

The Geo Web: Enabling GIS on the Internet IT4GIS Keith T. Weber, GISP GIS Director ISU GIS Training and Research Center.

BY: Daniel Kwame Ladzagla (Bsc Eng.,Msc I.T) The Energy Centre, KNUST-Kumasi. July 27 Dakar, Senegal

Everyday NMR. Innovation with Integrity. Why infer when you can be sure? NMR

Mermaid. The most sophisticated marine operations planning software available.

Lecture 6 September 21, 2016

Performance Metrics for Computer Systems. CASS 2018 Lavanya Ramapantulu

Introducing a Bioinformatics Similarity Search Solution

Urban Spatial Scenario Design Modelling (USSDM) in Dar es Salaam: Background Information

Storage, Handling & Safe Use of Chemicals and Hazardous Materials

Learning Decision Trees

Introduction to Portal for ArcGIS

STORAGE, HANDLING & SAFE USE OF CHEMICALS AND HAZARDOUS MATERIALS

CLICK HERE TO KNOW MORE

Reliable Computing I

Applications of GIS in Electrical Power System

Evaluating GIS for Disaster Management

SPATIAL DATA MINING. Ms. S. Malathi, Lecturer in Computer Applications, KGiSL - IIM

Assessment and management of at risk populations using a novel GIS based UK population database tool

Climate Services for Health Open Geospatial Consortium (OGC) Health Summit Dublin, June 21, 2016

Geo-identification and pedestrian navigation with geo-mobile applications: how do users proceed?

WALKUP LC/MS FOR PHARMACEUTICAL R&D

Overview of Geospatial Open Source Software which is Robust, Feature Rich and Standards Compliant

Trajectory Sensitivity Analysis as a Means of Performing Dynamic Load Sensitivity Studies in Power System Planning

MetConsole AWOS. (Automated Weather Observation System) Make the most of your energy SM

Geosciences Data Digitize and Materialize, Standardization Based on Logical Inter- Domain Relationships GeoDMS

SIFT-MS SELECTED ION FLOW TUBE MASS SPECTROMETRY TECHNOLOGY OVERVIEW \ SYFT TECHNOLOGIES

The World Bank IN Maharashtra Rural Water Supply and Sanitation Program (P126325)

Essentials of Large Volume Data Management - from Practical Experience. George Purvis MASS Data Manager Met Office

CBE495 LECTURE IV MODEL PREDICTIVE CONTROL

Infrastructure Automation with Salt

Compiling Techniques

MTAT Software Engineering

Summary of Hyperion Research's First QC Expert Panel Survey Questions/Answers. Bob Sorensen, Earl Joseph, Steve Conway, and Alex Norton

HampsonRussell. A comprehensive suite of reservoir characterization tools. cgg.com/geosoftware

STORAGE, HANDLING & SAFE USE OF CHEMICALS AND HAZARDOUS MATERIALS

ECE 407 Computer Aided Design for Electronic Systems. Simulation. Instructor: Maria K. Michael. Overview

GEOGRAPHIC INFORMATION SYSTEMS Session 8

OECD QSAR Toolbox v.4.1. Tutorial on how to predict Skin sensitization potential taking into account alert performance

Function Manual SINAMICS SERVCOUP SERVO COUPLING. Siemens Spares.

Welcome to GST 101: Introduction to Geospatial Technology. This course will introduce you to Geographic Information Systems (GIS), cartography,

AstroPortal: A Science Gateway for Large-scale Astronomy Data Analysis

3.7 MYWXMAP: A NEW APPRAOCH TO WEB-BASED METEOROLOGICAL AND OCEANOGRAPHIC (METOC) CHART DISPLAY

NEC PerforCache. Influence on M-Series Disk Array Behavior and Performance. Version 1.0

LC Commissioning, Operations and Availability

EECS 579: Logic and Fault Simulation. Simulation

Reference: 4880(DOP.ADA)1136 Subject: Survey on the integration of geographic information systems into postal address development

STS41-D Solar Array Flight Experiment

SIFT-MS. technology overview

The Role of Uncertainty Quantification in Model Verification and Validation. Part 2 Model Verification and Validation Plan and Process

Real-Time Scheduling and Resource Management

Rainfall data analysis and storm prediction system

Status of IASI FM2 on METOP-A. Carole Larigauderie (CNES), Laurence Buffet (CNES), Dominique Montero (Eumetsat), Patrick Astruc (TAS)

CS 160: Lecture 16. Quantitative Studies. Outline. Random variables and trials. Random variables. Qualitative vs. Quantitative Studies

CPU Scheduling. CPU Scheduler

First-Order DPA Attack Against AES in Counter Mode w/ Unknown Counter. DPA Attack, typical structure

Mass Asset Additions. Overview. Effective mm/dd/yy Page 1 of 47 Rev 1. Copyright Oracle, All rights reserved.

UNCLASSIFIED Exhibit R-2, RDT&E Budget Item Justification Date: February 2008

Integrated Cheminformatics to Guide Drug Discovery

Failure prognostics in a particle filtering framework Application to a PEMFC stack

Compensation Planning Application

416 Distributed Systems

Predictive Analytics on Accident Data Using Rule Based and Discriminative Classifiers

Periodic Inspection and Testing of Electrical Installations Sample Test ( ) Version 1.3 July 2018

This case study also provides recommendations for future lightning protection design for existing (brownfield) substation.

Chemical Storage Guide

Search Trees. EECS 2011 Prof. J. Elder Last Updated: 24 March 2015

ARGUS.net IS THREE SOLUTIONS IN ONE

Imagery and the Location-enabled Platform in State and Local Government

Protein structure prediction. CS/CME/BioE/Biophys/BMI 279 Oct. 10 and 12, 2017 Ron Dror

The World Bank BiH Floods Emergency Recovery Project (P151157)

METHODS FOR CERTIFYING MEASUREMENT EQUIPMENT. Scott Crone

Transcription:

Integration and Higher Level Testing Software Testing and Verification Lecture 11 Prepared by Stephen M. Thebaut, Ph.D. University of Florida

Context Higher-level testing begins with the integration of (already unit-tested) modules to form higher-level program entities (e.g., components). The primary objective of integration testing is to discover interface and blatant higher-level design errors associated with the elements being integrated. (Somewhat in keeping with the spirit of smoke testing.)

Context (cont d) Once the elements have been successfully integrated (i.e., once they are able to function together), the functional and non-functional characteristics of the higher-level element can be tested thoroughly (via component, product, or system testing).

Integration Testing Integration testing is carried out when integrating (i.e., combining): Units or modules to form a component Components to form a product Products to form a system The strategy employed can significantly affect the time and effort required to yield a working, higher-level element.

Integration Testing (cont d) Note that integration testing is sometimes defined as the level of testing between unit and system. We use a more general model of the testing process.

Levels of Testing More General View Popular View System Test Integration Test Unit Test System Test Integration Test Product Test Integration Test Component Test Integration Test Unit Test

Integration Testing Strategies The first (and usually the easiest...) issue to address is the choice between instantaneous and incremental integration testing. The former is sometimes referred to as the big bang approach. (Guess why!) Locating subtle errors can be very difficult after the bang. Integration is a process, not an event.

Integration Testing Strategies (cont d) Incremental integration testing results in some additional overhead, but can significantly reduce error localization and correction time. (What is the overhead?) The optimum incremental approach is inherently dependent on the individual project and the pros and cons of the various alternatives available.

s an aside Here s a slide from an on-line lecture that I came across recently Principles of Integration Proper policy and plans dvocacy Manpower training Realistic tasks Coordination with other sectors Proper support ccess to drugs Integration of Substance buse Disorders in National Rural Health Mission (NRHM), Centre for Community Medicine, ll India Institute of Medical Sciences, New Delhi

s an aside Here s a slide from an on-line lecture that I came across recently Principles of Integration Proper policy and plans dvocacy Manpower training Realistic tasks Coordination with other sectors Proper support ccess to drugs Integration of Substance buse Disorders in National Rural Health Mission (NRHM), Centre for Community Medicine, ll India Institute of Medical Sciences, New Delhi

Incremental Strategies Suppose we are integrating a group of modules to form a component, the control structure of which will form a calling hierarchy as shown. B C D E F G H I J K L

Incremental Strategies (cont d) In what order should the modules be integrated? From the top ( root ) module toward the bottom? From bottom ( leaf ) modules toward the top? By function? Critical or high-risk modules first? By availability?

Incremental Strategies (cont d) How many should be combined at a time? What scaffolding (i.e., s and s to exercise the modules, and oracles to interpret/inspect test results) will be required? Is scaffolding ever required outside the context of integration testing?

Top-Down Strategy 1. Start with the root and one or more called modules. 2. Test this group using s to take the place of missing called modules, and one (if necessary) to call the root module. 3. dd one or more other called modules, replacing and providing new s as necessary. (cont d)

Top-Down Strategy (cont d) 4. Continue the process until all elements have been integrated and tested.

Top-Down Strategy (cont d) B C D E F G H I J K L

Top-Down Strategy (cont d) B C D E F G H I B J K L

Top-Down Strategy (cont d) B C D E F G H I B C J K L

Top-Down Strategy (cont d) B C D E F G H I B C D J K L

Top-Down Strategy (cont d) B C D E F G H I B C D J K L E

Top-Down Strategy (cont d) B C D E F G H I B C D J K L E F

Top-Down Strategy (cont d) B C D E F G H I B C D J K L E F G

Top-Down Strategy (cont d) B C D E F G H I B C D J K L E F G H

Top-Down Strategy (cont d) B C D E F G H I B C D J K L E F G H I

Top-Down Strategy (cont d) B C D E F G H I B C D J K L E F G H I J

Top-Down Strategy (cont d) B C D E F G H I B C D J K L E F G H I J K

Top-Down Strategy (cont d) B C D E F G H I J K L

Top-Down Strategy (cont d) Potential dvantages: llows early verification of high-level behavior. One (at most) is required. Modules can be added one at a time with each step if desired. Supports both breadth first and depth first approaches.

Top-Down Strategy (cont d) Potential Disadvantages: Delays verification of low-level behavior. Stubs are required for missing elements. Test case inputs may be difficult to formulate. Test case outputs may be difficult to interpret. (Oracles may be needed to interpret/inspect test results.)

Bottom-Up Strategy 1. Start at the bottom of the hierarchy with two or more sibling leaf modules, or an only-child leaf module with its parent. 2. Test this group using a. (No s are required.) 3. dd one or more additional siblings, replacing s with modules only when all modules they call have been integrated. (cont d)

Bottom-Up Strategy (cont d) 4. Continue the process until all elements of the subtree have been integrated and tested. 5. Repeat the steps above for the remaining subtrees in the hierarchy (or handle in parallel). 6. Incrementally combine the sub-trees and then add the root module.

Bottom-Up Strategy (cont d) B C D E F G H I J K L

Bottom-Up Strategy (cont d) B C D E F G H I J K L F J

Bottom-Up Strategy (cont d) B C D E F G H I J K L E F J

Bottom-Up Strategy (cont d) B C D E F G H I B J K L E F J

Bottom-Up Strategy (cont d) B C D E F G H I B J K L E F J K L

Bottom-Up Strategy (cont d) B C D E F G H I B J K L E F H J K L

Bottom-Up Strategy (cont d) B C D E F G H I B J K L E F H I J K L

Bottom-Up Strategy (cont d) B C D E F G H I B D J K L E F H I J K L

Bottom-Up Strategy (cont d) B C D E F G H I B D J K L E F G H I J K L

Bottom-Up Strategy (cont d) B C D E F G H I B C D J K L E F G H I J K L

Bottom-Up Strategy (cont d) B C D E F G H I B C D J K L E F G H I J K L

Bottom-Up Strategy (cont d) B C D E F G H I B C D J K L E F G H I J K L

Bottom-Up Strategy (cont d) B C D E F G H I B C D J K L E F G H I J K L

Bottom-Up Strategy (cont d) B C D E F G H I B C D J K L E F G H I J K L

Bottom-Up Strategy (cont d) B C D E F G H I J K L

Bottom-Up Strategy (cont d) Potential dvantages: llows early verification of low-level behavior. No s are required. Easier to formulate input data for some subtrees. Easier to interpret output data for others.

Bottom-Up Strategy (cont d) Potential Disadvantages: Delays verification of high-level behavior. Drivers are required for missing elements. s subtrees are combined, a large number of elements may be integrated at one time.

Hybrid Incremental Integration pproaches Risk Driven Start by integrating the most critical or complex modules together with modules they call or are called by. Schedule Driven To the extent possible, integrate modules as they become available. (cont d)

Hybrid Incremental Integration pproaches (cont d) Function or Thread Driven Integrate the modules associated with a key function (thread); continue the process by selecting another function, etc. B C D E F G H I J K L

Hybrid Incremental Integration pproaches (cont d) Function or Thread Driven Integrate the modules associated with a key function (thread); continue the process by selecting another function, etc. B C D E F G H I J K L

How about Object-Oriented Systems? Just as a calling hierarchy allows design of an integration strategy for imperative software, use/include relations serve this purpose for object-oriented software. Since there may be no single root class, testing usually proceeds cluster by cluster in a bottom-up fashion, starting with leaf classes that depend on no others. We will come back to this in Lecture 12.

Higher-Level Testing Higher-level tests focus on the core functionality specified for higher level elements, and on certain emergent properties that become more observable as testing progresses toward the system level. The black-box testing strategies already considered (e.g., partition and combinatorial approaches) apply to functional testing at any level.

Higher-Level Testing (cont d) Higher-level testing typically includes: Usability test Installability test Serviceability test Performance test Stress test Security test Software compatibility test Device and configuration test Recovery test Reliability test brief overview of each follows.

Usability Test Focus is on factors which influence the ease with which potential end-users are able to utilize the system to accomplish their goals. Specialized and sophisticated: HCI experts conduct experiments in simulated work environments. Protocol analysis is utilized to identify usability bottlenecks. pplication-specific metrics related to understandability, learnability, and operability may be employed.

Installability Test Focus is functional and non-functional requirements related to the installation of the product/system. Coverage includes: Media correctness and fidelity, Relevant documentation (including examples), and Installation processes and supporting system functions. (cont d)

Installability Test (cont d) Functions, procedures, documentation, etc., associated with product/system decommissioning must also be tested.

Serviceability Test Focus is requirements related to upgrading or fixing problems after installation. Coverage includes: Change procedures (adaptive, perfective, and corrective service scenarios), Supporting documentation, and System diagnostic tools.

Performance Test Focus is requirements related to throughput, response time, memory utilization, input/ output rates, etc. lso very specialized in some organizations; sophisticated test-beds and instrumentation are the norm. Statistical testing based on an operational profile is often employed. Requirements must be stated in quantifiable terms.

Stress Test Focus is system behavior at or near overload conditions (i.e., pushing the system to failure ). Often undertaken with performance testing. In general, products are required to exhibit graceful failures and non-abrupt performance degradation.

Security Test Focus is vulnerability of resources to unauthorized access or manipulation. Issues include: Physical security of computer resources, media, etc., Login and password procedures/policies, Levels of authorization for data or procedural access, etc.

Software Compatibility Test Focus is compatibility with other products/systems in the environment and/or with interoperability standards. May also concern source- or object-code compatibility with different operating environment versions. K compatibility/conversion testing when conversion procedures or processes are involved.

Device and Configuration Test Focus is configurability for, and/or compatibility with, all supported hardware configurations. Particularly taxing for client/serverbased applications Tests are usually limited to combinations of representative devices for each supported protocol.

Recovery Test Focus is ability to recover from exceptional conditions associated with hardware, software, or people. This can involve: detecting exceptional conditions, switch-overs to standby systems, recovery of data, maintaining audit trails, etc. May also involve external procedures such as storing backup tapes, etc.

Reliability Test Requirements may be expressed as: the probability of no failure in a specified time interval, or as the expected mean time to failure. ppropriate interpretations for failure and time are critical. Utilizes Statistical testing based on an operational profile.

Integration and Higher Level Testing Software Testing and Verification Lecture 11 Prepared by Stephen M. Thebaut, Ph.D. University of Florida