Off the-shelf components (cots)
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Off the-shelf components (cots)

Uploaded on

Off the-shelf components (cots)

Off the-shelf components (cots)

More in: Education , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Testing off the shelf Components Dr. Himanshu Hora SRMS College of Engineering & Technology Bareilly (INDIA)
  • 2. Outline :  Introduction to COTS components  Advantages of COTS components  Challenges in testing COTS components  Testing types of COTS components  References
  • 3. 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.
  • 4. 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
  • 5. Contd…. Component 1 Component repository select Component 2 Software system Component n assemble
  • 6. 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
  • 7. 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
  • 8. Testing techniques:  Black-box component testing  System-level fault injection  Operational system testing  Software Wrapping  Interface propagation Analysis
  • 9. 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
  • 10. Contd….
  • 11. Fault Injection: request Fault simulation tool Erroneous or malicious input Component Fault simulation tool Exceptions, No response
  • 12. Contd….  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
  • 13. Contd….
  • 14. 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
  • 15. Software Wrapping : Input wrapper Input Output wrapper Component output
  • 16. Contd….  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
  • 17. Interface propagation Analysis: COTS Component 1 Fault Injector  Modify input, call correct method.  Call correct method, modify output. COTS Component 2
  • 18. Contd….  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)
  • 19. Refrences:  tm  
  • 20. Thank You Dr. Himanshu Hora SRMS College of Engineering & Technology Bareilly (INDIA)