Off the-shelf components (cots)
-
Upload
himanshu-hora -
Category
Education
-
view
1.380 -
download
2
description
Transcript of Off the-shelf components (cots)
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….
Refrences: http://www.cigital.com/presentations/zurich98/sld087.h
tm
http://my.safaribooksonline.com/book/software-engineering-and-development/software-testing/0201325640/testing-interactions/ch06lev1sec4
http://my.safaribooksonline.com/book/software-engineering-and-development/software-testing/0201325640/testing-interactions/ch06lev1sec4
Thank You
Dr. Himanshu HoraSRMS College of Engineering & Technology
Bareilly (INDIA)