off the-shelf components (cots)

Post on 22-Nov-2014

1.380 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Off the-shelf components (cots)

TRANSCRIPT

Testing off the shelf Components

Dr. Himanshu HoraSRMS College of Engineering & Technology

Bareilly (INDIA)

Outline :

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

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.

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

Contd….

• Component

• repository

• Component 1

• Component 2

• Component n

• Software system

• select

• assemble

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

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

Testing techniques:

Black-box component testing

System-level fault injection

Operational system testing

Software Wrapping

Interface propagation Analysis

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

Contd….

Fault Injection:

ComponentFault

simulation tool

Faultsimulation

tool

Erroneous or malicious input

Exceptions, No response

request

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….

Contd….

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

Software Wrapping :

ComponentInput output

Input wrapper Output wrapper

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….

Interface propagation Analysis:

COTS Component 1

COTSComponent 2Fault Injector

Modify input, call correct method.

Call correct method, modify output.

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….

Thank You

Dr. Himanshu HoraSRMS College of Engineering & Technology

Bareilly (INDIA)

top related