off the-shelf components (cots)

22
Testing off the shelf Components Dr. Himanshu Hora SRMS College of Engineering & Technology Bareilly (INDIA)

Upload: himanshu-hora

Post on 22-Nov-2014

1.385 views

Category:

Education


2 download

DESCRIPTION

Off the-shelf components (cots)

TRANSCRIPT

Page 1: Off the-shelf components (cots)

Testing off the shelf Components

Dr. Himanshu HoraSRMS College of Engineering & Technology

Bareilly (INDIA)

Page 2: Off the-shelf components (cots)

Outline :

Introduction to COTS componentsAdvantages of COTS componentsChallenges in testing COTS componentsTesting types of COTS componentsReferences

Page 3: Off the-shelf components (cots)

Introduction:

What is Component Based Software Engineering (CBSE)?

Idea to develop software systems by selecting appropriate off-the-shelf components and then assemble them with a well-defined software architecture.

CBSE has three major functions:

Developing software from prefabricated, reusable parts.

The ability to use those parts in other applications.

Easily maintaining and customizing those parts to produce new functions and features.

Page 4: Off the-shelf components (cots)

What is a COTS component:

What is a Commercial Off the shelf (COTS) component:

Independent and replaceable part of a system that fulfills a clear function

Works in the context of a well defined architecture

A component communicates with other components by its interfaces

Developed by different developers, using different languages and different platforms

Page 5: Off the-shelf components (cots)

Contd….

• Component

• repository

• Component 1

• Component 2

• Component n

• Software system

• select

• assemble

Page 6: Off the-shelf components (cots)

Advantages of COTS:

Development cost is reduced

Development time is reduced

Complex systems can be built by reusing pre-existing components

Testing effort is reduced

Page 7: Off the-shelf components (cots)

Testing Components: Challenges

COTS is a Black Box Lack of Functional and Technical Requirements The Level of Quality is Unknown Unknown Development Processes and Methods Compatibility Issues Uncertain Upgrade Schedules and Quality Difficulty in Regression Testing and Test Automation Interoperability and Integration Issues

Page 8: Off the-shelf components (cots)

Testing techniques:

Black-box component testing

System-level fault injection

Operational system testing

Software Wrapping

Interface propagation Analysis

Page 9: Off the-shelf components (cots)

Black box Testing:

To understand the behavior of a component, various inputs are executed and outputs are analyzed

To catch all types of errors all possible combinations of input values should be executed

To make testing feasible, test cases are selected randomly from test case space

Page 10: Off the-shelf components (cots)

Contd….

Page 11: Off the-shelf components (cots)

Fault Injection:

ComponentFault

simulation tool

Faultsimulation

tool

Erroneous or malicious input

Exceptions, No response

request

Page 12: Off the-shelf components (cots)

A technique for improving the coverage of a test by introducing faults to test code paths

Fault propagate through to an observable failure follows a well defined cycle

When executed, a fault may cause an error, which is an invalid state within a system boundary

An error may cause further errors within the system boundary

Each new error acts as a fault When error states are observed at the system boundary

they are termed failures This is termed the fault-error-failure cycle

Contd….

Page 13: Off the-shelf components (cots)

Contd….

Page 14: Off the-shelf components (cots)
Page 15: Off the-shelf components (cots)
Page 16: Off the-shelf components (cots)

Operational system testing: complements system-level fault injection

System is operated with random inputs (valid and invalid inputs)

Provides more accurate assessment of COTS quality

A key operational testing feature is error detection, which ensures correct functional implementation

Operational testing allows component interaction

Page 17: Off the-shelf components (cots)

Software Wrapping :

ComponentInput output

Input wrapper Output wrapper

Page 18: Off the-shelf components (cots)

Wrapper: generally refers to a type of packaging, such as a flat sheet to enclose an object

It is a piece of code that one builds to isolate the underlying components from other components of the system

Glue: A glue component provides the functionality to combine different components

Contd….

Page 19: Off the-shelf components (cots)

Interface propagation Analysis:

COTS Component 1

COTSComponent 2Fault Injector

Modify input, call correct method.

Call correct method, modify output.

Page 20: Off the-shelf components (cots)

Interface Propagation Analysis is used by injecting faults at one component

This is done at component integration level

A known faulty input is injected using fault injector into the system

Components effected by this input are observed (how they handle the faulty input)

Contd….

Page 22: Off the-shelf components (cots)

Thank You

Dr. Himanshu HoraSRMS College of Engineering & Technology

Bareilly (INDIA)