Black-box Testing for Evolving COTS-Based Software

Slides:



Advertisements
Similar presentations
Chapter 27 Software Change.
Advertisements

CIS 376 Bruce R. Maxim UM-Dearborn
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Soft. Eng. II, Spring 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter II Chap1: Software Engineering Models (Review) Mandatory reading: chapter.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Chapter 2 – Software Processes
Sommerville, I., Software Engineering, Pearson, 9th Ed., 2010.
Traceability James D. Palmer Presented by: Megan Heffernan.
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
1 / 24 CS 425/625 Software Engineering Software Evolution Based on Chapter 21 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley,
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 3Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
CBSD – Component Based Software Development - Introduction -
Software Evolution Managing the processes of software system change
Dr Kettani, Spring 2002 Software Engineering IIFrom Sommerville, 6th edition Software change l Managing the processes of software system change.
Costs of Security in a COTS-Based Software System True Program Success TM Costs of Security in a COTS-Based Software System Arlene Minkiewicz, Chief Scientist.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Testing Components in the Context of a System CMSC 737 Fall 2006 Sharath Srinivas.
Soft. Eng. I, Spring 07Dr Driss Kettani1 CSC-3324: Chapter II The Software life cycle & Software engineering process models Reading: I. Sommerville, Edition.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Chapter 16 Maintaining Information Systems
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 18 Maintaining.
COTS Acquisition COTS Acquisition Impact Analysis Lianne Versluis.
Software maintenance Managing the processes of system change.
Chapter 3 Software Processes.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Lecture # 22 Software Evolution
Chapter 2 What is software quality ?. Outline What is software? Software errors, faults and failures Classification of the causes of software errors Software.
Software Project Management
System Analysis and Design
3- System modelling An architectural model presents an abstract view of the sub-systems making up a system May include major information flows between.
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Definition of a COTS Integration Process Steve Nelson Raytheon Presented to ASEE 5 March, 2002.
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
International Workshop on Incorporating COTS-Software into Software Systems: Tools and Techniques (IWICSS) Alexander Egyed (Teknowledge Corporation) Dewayne.
© 2006 ITT Educational Services Inc. System Analysis for Software Engineers: Unit 3 Slide 1 Chapter 16 Maintaining Information Systems.
1 SWE Introduction to Software Engineering Lecture 4.
21-22 May 2004IMPROQ 2004 / Impact of SW Processes on Quality Workshop 1 Quality for Components: Component and Component- Based Software Quality Issues.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Investigating and Improving a COTS-based Software Development Process
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
Dr. DEVENDRA TAYAL– THE SCOPE OF SOFTWARE ENGINEERING.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software change Software change is inevitable –New requirements emerge when the software is used –The business environment changes –Errors must be repaired.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Chapter 16 Maintaining Information Systems. Objectives:  Explain and contrast four types of system maintenance.  Describe factors affecting maintenance.
REGRESSION TESTING Software Quality Engineering NC Zunaira Tariq Bese 19B Software Quality Engineering NC Zunaira Tariq Bese 19B.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
Tutorial 4 IT323.  Q1. As a software project manager in a company that specializes in the development of software for the offshore oil industry, you.
Chapter 18 Maintaining Information Systems
Chapter 18 Maintaining Information Systems
CS 425/625 Software Engineering Software Evolution
What is software quality?
Baisc Of Software Testing
Maintaining Information Systems (SAD- 18)
CS310 Software Engineering Lecturer Dr.Doaa Sami
What is software quality?
Metadata The metadata contains
Chapter 8 Software Evolution.
Chapter 16 Maintaining Information Systems
Requirements Engineering
Chapter 18 Maintaining Information Systems
Presentation transcript:

Black-box Testing for Evolving COTS-Based Software Ye Wu Information and Software Engineering Department George Mason University

Agenda Introduction Challenges Methodology Conclusion IWICSS © Dr. Ye Wu

What is COTS? COTS – Commercial-Off-The-Shelf COTS describes ready-made products that can easily be obtained. IWICSS © Dr. Ye Wu

Main characteristics It exists a priori Used without source code modification It is available to the general public It can be bought (or leased or licensed). Supported and evolved by vendor COTS vs. Component Based vs. Non-developmental item(ndi). IWICSS © Dr. Ye Wu

Challenges Facing Evolving COTS-based Software What should COTS-users do if COTS products are changed? COTS-user transparent changes Changes that affect COTS product users, but do not affect user system architecture Changes that affects COTS user architecture IWICSS © Dr. Ye Wu

COTS-user transparent changes Mainly corrective maintenance and a small part of the changes in perfective and adaptive maintenance activities No change is required for COTS users IWICSS © Dr. Ye Wu

COTS-user aware changes Poor design in the previous version Technology changes Changes of standards Sometimes a strategic move to lock in customers IWICSS © Dr. Ye Wu

COTS-user aware changes Changes that affect COTS users, but do not affect COTS users’ architecture Changes that affect COTS users’ architecture IWICSS © Dr. Ye Wu

Black-box Testing Strategies Random Testing Partition Testing Boundary value Testing Decision Table Testing … … IWICSS © Dr. Ye Wu

Black-box Testing for Evolving COTS-based Software Information about COTS products to perform adequate black-box testing is not always available Customization needs to be done on some COTS products IWICSS © Dr. Ye Wu

COTS Product Modifications Generalization Modifications Specialization Modifications Reconstruction Modifications IWICSS © Dr. Ye Wu

Black-box Testing Methods for Components Partition Testing of Generalization Modification: IWICSS © Dr. Ye Wu

Black-box Testing Methods for Components Partition Testing for Specialization modification: IWICSS © Dr. Ye Wu

Black-box Testing Methods for Components Partition Testing for Reconstruction modification: IWICSS © Dr. Ye Wu

Initial Results Total 48 partitions – old version 17 changed or added partitions – new version 34 faulty versions (each with one inserted fault) 21 faults identified 13 faults unidentified 5 faults can be detected during Unit-testing 8 faults are caused by boundary value or inaccurate partition IWICSS © Dr. Ye Wu

Testing Framework for Evolving COTS-based Software Delivered Version Delivered Version Normal Interfaces Normal Interfaces Client Client Test Case Analyzer Test Case Analyzer Testing Interfaces Testing Interfaces Test Specification Old Version Old Version Test Case Repository Test Case Repository Component Developer COTS Developer new Version new Version IWICSS © Dr. Ye Wu

Conclusion and Future Work Adopting evolving COTS products can be risky if without adequate testing Black-box testing can be adopted, but need to be adequately adjusted Automated test framework is required IWICSS © Dr. Ye Wu