Software System Integration. Chapter 8 Software testing 1

Similar documents
Software System Integration. Chapter 8 Software testing 1

Testing throughout the software life cycle. Software Testing: INF3121 / INF4121

The complete guide for Software integration testing. David Tzemach

0 Introduction Test strategy A Test Strategy for single high-level test B Combined testing strategy for high-level tests...

Test Integration Strategies. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS

SWE 211 Software Processes

Testing Close to and Post-Release: System, Acceptance, and Regression Testing

LECTURE 6 LEVELS OF SOFTWARE TESTING

Test Workflow. Michael Fourman Cs2 Software Engineering

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Introduction to Software Engineering

VectorCAST Presentation AdaEurope 2017 Advanced safety strategies for DO178C certification Massimo Bombino, MSCE

Work Plan and IV&V Methodology

IT6004/ Software Testing Unit-I

IT6004/ Software Testing

Define functional analysis and place it in context within system development. Describe the activities and value of functional analysis.

3. Comparison of Above Described SDLC Models

Software Quality S O F T W A R E T E S T I N G. By: MSMZ

Introduction of RUP - The Rational Unified Process

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 11: Managing the Software Process

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING IT6004 SOFTWARE ESTING UNIT I : INTRODUCTION

Led by the Author Attended by a peer group Varying level of formality Knowledge gathering Defect finding


Chapter 2: The Project Management and Information Technology Context

MORS Introduction to Cost Estimation (Part I)

Functional Analysis Module

The Work Breakdown Structure in the Systems Engineering Process. Abstract. Introduction

Software Processes 1

Software Engineering. M Umair.

A Review Paper on Software Testing

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT-1

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

Software Development Life Cycle:

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

An Application of Causal Analysis to the Software Modification Process

Deterministic Modeling and Qualifiable Ada Code Generation for Safety-Critical Projects

Developing Reliable Software For A Rapid Deployment Product. ATK Advanced Weapons

HYBRID APPROACH. Software Development Approaches. Agile. Rapid. Waterfall

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Testing. And Software Product Management. Autumn 2017 CSM14104 Software Product Management 1

Chapter 3 Prescriptive Process Models

Testing. CxOne Standard

CMPT 275 Software Engineering

SDLC AND MODEL SELECTION: A STUDY

Session 8: Testing Special importance of testing Stages of testing Manual vs. automated testing Continuous testing strategies

FACTFILE: GCE DIGITAL TECHNOLOGY

CMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources

6.1 Introduction Objective Acceptance Testing CHAPTER 7: Black Box Testing Introduction Objectives...

Product Support Publication Requirements

Day Health Manager Test Plan

Chapter 14: Information Technology Careers 1/5/2018. Chapter 14: Information Technology Careers. Chapter 14: Information Technology Careers

Retrofitting Legacy Systems with Unit Tests

The Operations and Support phase is made up of two main efforts: sustainment and disposal.

Biometrics Enterprise Architecture Systems Engineering Management Plan (BMEA SEMP)

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany

Multi Agent System-Based on Case Based Reasoning for Cloud Computing System

A Machine Setup Model for TFT-LCD Cell Back-End Process

Software Engineering

GE Intelligent Platforms. Smart Affordable Condition Based Maintenance Tools, Technology and Services

Chapter 2: The Project Management and Information Technology Context. PTS: 1 DIF: Difficulty: Easy REF: p.45 OBJ: LO: 2-1 NAT: BUSPROG: Analytic

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

T Software Testing and Quality Assurance Test Planning

Applying Model-Based Design to Commercial Vehicle Electronics Systems

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

On various testing topics: Integration, large systems, shifting to left, current test ideas, DevOps

Software Engineering Part 2

INTEGRATION OF AUTONOMOUS SYSTEM COMPONENTS USING THE JAUS ARCHITECTURE

Testing 2. Testing: Agenda. for Systems Validation. Testing for Systems Validation CONCEPT HEIDELBERG

A successfully implemented CRM solution can deliver tremendous value to your organization, helping you to grow revenues and reduce operational costs.

Chapter 2: The Project Management and Information Technology Context

Software Testing Conference (STC) Leveraging Requirement Based Test Practices For Non-Safety Critical Software Systems

International Journal of Advanced Research in Computer Science and Software Engineering

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II

A successfully implemented CRM solution can deliver tremendous value to your organisation, helping you to grow revenues and reduce operational costs.

Lighting Unit Dropped by Rough-terrain Forklift

TECHNICAL REVIEWS AND AUDITS

NASA Procedural Requirements

Introduction to Simulink & Stateflow

SYSTEMS ENGINEERING REQUIREMENTS AND PRODUCTS

The software process

Perspectives. Selecting your. Workday implementation partner

Redesigning the Organization with Information Systems

Chapter 26. Quality Management

AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT

Backhoe Boom Collapses Endangering Workers

Enterprise Portal Modeling Methodologies and Processes

This document describes the overall software development process of microcontroller software during all phases of the Company Name product life cycle.

CSE 435 Software Engineering. Sept 14, 2015

Risk-Based Testing: Analysis and Strategy. Presented at Quality Assurance Institute QUEST Conference Chicago, Ill., 2009

Installation and Configuration for Microsoft Dynamics AX 2012 Course 80221A: 3 Days; Instructor-Led

Chapter 6. Software Quality Management & Estimation

SDLC Models- A Survey

6. Models of the Design Process

Software Quality Engineering Courses Offered by The Westfall Team

Software Processes. CSE-C3610, Software Engineering, 5 cr. Prof. Casper Lassenius

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

Chapter 16 Software Reuse. Chapter 16 Software reuse

Transcription:

Software System Integration Chapter 8 Software testing 1

Overview What is system integration? Integration process description Integration testing System Integration Checklist Chapter 8 Software testing 2

By the end of this session, you will.. Understand the importance and role of system integration Understand the system integration process Understand what is top-down and bottom-up integration Understand what should be done before and during system integration Chapter 8 Software testing 3

What is system integration? System integration is the successful putting together of the various components, assemblies, and subsystems of a system and having them work together to perform what the system was intended to do. Requirements Design Coding and unit Testing Integration & test Acceptance Deployment Successful system integration results from the proper implementation of project activities Chapter 8 Software testing 4

Integration process planning Chapter 8 Software testing 5

System integration process (1) Integration is iterative and progressive, with each level of integration building from and on top of the previous level of integration Integration and testing are part of the development process and are used to ensure all the various pieces work together in performing their higher-level functions. Chapter 8 Software testing 6

System integration process (2) Chapter 8 Software testing 7

Interfaces (1) Complete Knowledge of all interfaces is essential to any integration effort. This includes interfaces between : components, assemblies, subsystems, and also the system and other systems it needs to work with. Chapter 8 Software testing 8

Interfaces (2) Chapter 8 Software testing 9

Complete system integration(1) Most systems consist of both hardware and software. These two are sometimes looked at as complete systems in and of themselves, but they cannot function independently of each other There are two other system elements: people and support systems that are also part of the complete system. For a system to be successfully implemented and used, all these elements must be in place and functioning correctly Chapter 8 Software testing 10

Complete system integration(2) Chapter 8 Software testing 11

Integration testing Integration testing involves building a system from its components and testing it for problems that arise from component interactions. integration testing is nothing but checking the correctness of data flow or interfaces between two or more modules. Chapter 8 Software testing 12

Activity: real time Integration testing In Gmail, how to test the integration between Compose and sent items modules??? Chapter 8 Software testing 13

Integration testing strategies: Several different strategies can be used for integration testing. Comparison criteria: fault localization effort needed (for stubs and drivers) degree of testing of modules achieved possibility for parallel development Chapter 8 Software testing 14

Integration testing strategies: Initial approach: Big Bang : In big bang Integration testing, individual modules of the programs are not integrated until every thing is ready. This approach is seen mostly in inexperienced programmers who rely on 'Run it and see' approach. Incremental integration Top-down integration: In this approach testing is conducted from main module to sub module. if the sub module is not developed a temporary program called STUB is used for simulate the sub module. Bottom-up integration: In this approach testing is conducted from sub module to main module, if the main module is not developed a temporary program called DRIVERS is used to simulate the main module. Chapter 8 Software testing 15

Big Bang approach Non-incremental strategy Unit test each module in isolation Integrate as a whole Chapter 8 Software testing 16

Example: Big Bang integration test B test D test F test A test C test E test G Chapter 8 Software testing test A,B, C, D E, F, G 17

Big Bang approach Advantages Convenient for small systems Disadvantages Integration testing can only begin when all modules are ready Fault localization difficult Easy to miss interface faults Chapter 8 Software testing 18

Top-down Integration Algorithm 1. Use Main control module as a test driver and substitute all modules that are directly subordinate to it by stubs. 2. Depending on the integration approach selected (depth first or breadth first), choose a stub and replace it by a real module. 3. Tests are conducted after replacement of a stub by a real module. 4. While there exist stubs in the system, go to step 2(loop) 5. Stop when the whole system structure is built and no stubs remain. Chapter 8 Software testing 19

Example: Top down Integration Chapter 8 Software testing 20

Top-down Integration testing approach Advantages Fault localization easier Few or no drivers needed Possibility to obtain an early prototype Different order of testing/implementation possible Major design flaws found first in logic modules on top of the hierarchy Disadvantages Need lot of stubs / mock objects Potentially reusable modules (in bottom of the hierarchy) can be inadequately tested Chapter 8 Software testing 21

Bottom-up Integration Algorithm 1. Construct drivers for low level modules. 2. Execute and test each driver separately. 3. Remove drivers and combine modules moving upward into clusters that perform a specific software subfunction. When the main module is reached go to 5) 4. Construct a driver per cluster. Go to 2) 5. Stop when the whole system structure is built and no drivers remain. Chapter 8 Software testing 22

Example: Bottom-up Integration Chapter 8 Software testing 23

Bottom-up Integration Advantages Fault localization easier (than big-bang) No need for stubs / fewer mock objects Logic modules tested thoroughly Testing can be in parallel with implementation Disadvantages Need drivers High-level modules (that relate to the solution logic) tested in the last (and least) No concept of early skeletal system Chapter 8 Software testing 24

System integration checklist Before starting 1. Do your test plans include and support integration efforts? 2. Does your development plan allocate adequate time and resources for system integration efforts, including rework time? 3. Are the interfaces between components, assemblies, subsystems, and systems defined in adequate detail? 4. Will hardware be available for testing software during integration? 5. Is there a contingency plan if the schedule slips and if the integration schedule is compressed? 6. Are all elements of the system included in the integration plan? 7. Is all documentation current and available for reference? Chapter 8 Software testing 25

System integration checklist During integration (1) 1. Is there an efficient rework cycle in place to fix problems found during integration testing? 2. Are fixed modules or components integrated and retested at all levels of integration up to the level where the problem was found? 3. Is the people element (operators, maintainers, logisticians, trainers, etc.) being prepared to work with the system when it is deployed? 4. Is the support systems element (logistics, maintenance, training, etc.) being prepared to support the new system when it is deployed? 5. Are you following an iterative, progressive integration process? 6. Are experienced integrators involved with the integration? Chapter 8 Software testing 26

System integration checklist During integration (2) 7. Are area/subject matter experts involved with the integration? 8. Is adequate time being allowed for integration, testing, rework, reintegration, and retesting? 9. Are all necessary resources being made available for integration? 10. Is adequate testing being performed on integrated units (assemblies, subsystems, elements, system) to ensure that there are no surprises during acceptance testing? 11. Are you updating documentation during rework? 12. Are integration and system test errors being traced back to requirements and design? And if so, are the requirements and design being updated? Chapter 8 Software testing 27

References http://www.stsc.hill.af.mil/resources/tech_docs/gsam4/chap14.pdf Guide to Software Engineering Body of Knowledge, especially Appendix D: http://www.swebok.org NASA Systems Engineering Handbook: http://ldcm.gsfc.nasa.gov/library/library.htm Software Engineering Institute: www.sei.cmu.edu System Engineering Fundamentals, 2001, Defense Acquisition University, download at: www.dau.mil/pubs/gdbks/sys_eng_fund.asp Chapter 8 Software testing 28