Software Engineering Zhang Shuang

Slides:



Advertisements
Similar presentations
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Advertisements

Slide 15.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Testing Strategies Sources: Code Complete, 2 nd Ed., Steve McConnell Software Engineering, 5 th Ed., Roger Pressman Testing Computer Software, 2 nd Ed.,
Software Integration Testing Speaker: Jerry Gao Ph.D. San Jose State University URL:
Slide 14A.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach.
Integration testing Satish Mishra
Unit 241 Integration Phase  The objective of this section is to introduce how the software product is realized from a set of programs, program units or.
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Software Development Software Life Cycle UML Diagrams.
Integration and System Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 29, 2007.
Unit 191 Introduction to Software Engineering The objective of this section is to introduce the subject of software engineering. When you have read this.
Integration Testing Presented By Nesreen Ahmad. *Main Points:-  Definition Of Integration Testing.  Procedure Of Integration Testing.  Integration.
Illinois Institute of Technology
CS 425/625 Software Engineering Software Testing
INTEGRATION TESTING ● After or during Unit Testing ● Putting modules together in a controlled way to incrementally build up the final system. ● Start with.
1 Implementation Xiaojun Qi. 2 Choice of Programming Language The language is usually specified in the contract But what if the contract specifies that.
Software Engineering Oct-01 #17: Integration and Crypto Phil Gross.
Software Testing & Strategies
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
Software System Integration
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Integration testing l Tests complete systems or subsystems composed of integrated.
Overview Integration Testing Decomposition Based Integration
Implementation & Integration Phase Implementation, then integration: Implementation, then integration:  Each module is implemented by member of programmer.
Slide 15.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition,
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Software Testing.
How Systems are Developed The Commercial Life Cycle Model Common form of the Software Life Cycle Used through the commercial, industrial, institutional.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Implementation 1. Software Implementation – transforming design into code Requirements Analysis Software Design Implementation Testing Deployment Evolution.
System Test Methods TESTTEME The Test Challenge Bottom Up Testing Strategy Integration Test System Test Types of Testing Unit Test = Code-based Testing.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Software Engineering Zhang Shuang
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Chapter 3 Top-Down Design with Functions Part II J. H. Wang ( 王正豪 ), Ph. D. Assistant Professor Dept. Computer Science and Information Engineering National.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 7 Implementation. Implementation Approaches F Big bang –Code entire system and test in an unstructured manner F Top-down –Start by implementing.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #18.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Integration Testing Beyond unit testing. 2 Testing in the V-Model Requirements Detailed Design Module implementation Unit test Integration test System.
CS451 Software Implementation and Integration Yugi Lee STB #555 (816) Note: This lecture was designed.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
1 Software Testing & Quality Assurance Lecture 15 Created by: Paulo Alencar Modified by: Frank Xu.
Software testing techniques Software testing techniques Sandwich strategy Presentation on the seminar Kaunas University of Technology.
Integrating the Code during the Development Alexander Vakrilov Telerik Corporation
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
Chapter 8 Testing the Programs. Integration Testing  Combine individual comp., into a working s/m.  Test strategy gives why & how comp., are combined.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 7 System Integration Testing
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
Defect testing Testing programs to establish the presence of system defects.
Testing i. explain the importance of system testing and installation planning;
CSE 219 Final exam review.
Integration Testing.
Chapter 18 Software Testing Strategies
Levels Of Testing and Special Tests
Definition of Integration Testing
Software System Integration
Higher-Level Testing and Integration Testing
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Integration Testing CS 4311
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
IMPLEMENTATION AND INTEGRATION PHASE
Integration Testing.
Presentation transcript:

Software Engineering Zhang Shuang

Implementation and Integration  Up to now: Implementation followed by integration  Poor approach  Better  Combine implementation and integration methodically Zhang Shuang,

Product with 13 Modules Zhang Shuang,

Drivers and Stubs  To test module a, modules b, c, d must be stubs  Empty module, or  Prints message ("Procedure radarCalc called"), or  Returns precooked values from preplanned test cases  To test module h on its own requires a driver, which calls it  Once, or  Several times, or  Many times, each time checking value returned  Testing module d requires driver and two stubs Zhang Shuang,

Implementation, then Integration  Code and test each module separately  Link all 13 modules together, test product as a whole Zhang Shuang,

Implementation, then Integration (contd)  Problem 1  Stubs and drivers must be written, then thrown away after module testing is complete  Problem 2  Lack of fault isolation  A fault could lie in any of 13 modules or 13 interfaces  In a large product with, say, 103 modules and 108 interfaces, there are 211 places where a fault might lie  Solution to both problems  Combine module and integration testing  “Implementation and integration phase” Zhang Shuang,

Top-down Implementation and Integration  If module m1 calls module m 2, then m1 is implemented and integrated before m2  One possible top-down ordering is  a, b, c, d, e, f, g, h, i, j, k, l, m  Another possible top-down ordering is  a  [a]b, e, h  [a]c, d, f, i  [a, d]g, j, k, l, m Zhang Shuang,

Top-down Implementation and Integration (contd)  Advantage 1: Fault isolation  Previously successful test case fails when mNew is added to what has been tested so far  Advantage 2: Stubs not wasted  Stub expanded into corresponding complete module at appropriate step Zhang Shuang,

Top-down Implementation and Integration (contd)  Advantage 3: Major design flaws show up early  Logic modules include decision-making flow of control In the example, modules a, b, c, d, g, j  Operational modules perform actual operations of module In the example, modules e, f, h, i, k, l, m  Logic modules are developed before operational modules Zhang Shuang,

Top-down Implementation and Integration (contd)  Problem 1  Reusable modules are not properly tested  Lower level (operational) modules are not tested frequently  The situation is aggravated if the product is well designed  Defensive programming (fault shielding)  Example: if (x >= 0) y = computeSquareRoot (x, errorFlag);  Never tested with x < 0 Zhang Shuang,

Bottom-up Implementation and Integration  If module m1 calls module m2, then m2 is implemented and integrated before m1  One possible bottom-up ordering is l, m, h, i, j, k, e, f, g, b, c, d, a  Another possible bottom- up ordering is h, e, b i, f, c, d l, m, j, k, g[d] a[b, c, d] Zhang Shuang,

Bottom-up Implementation and Integration  Advantage 1  Operational modules thoroughly tested  Advantage 2  Operational modules are tested with drivers, not by fault shielding, defensively programmed calling modules  Advantage 3  Fault isolation Zhang Shuang,

Bottom-up Implementation and Integration  Difficulty 1  Major design faults are detected late  Solution  Combine top-down and bottom-up strategies making use of their strengths and minimizing their weaknesses Zhang Shuang,

Sandwich Implementation and Integration  Logic modules are implemented and integrated top-down  Operational modules are implemented and integrated bottom-up  Finally, the interfaces between the two groups are tested Zhang Shuang,

Sandwich Implementation and Integration (contd)  Advantage 1  Major design faults are caught early  Advantage 2  Operational modules are thoroughly tested  They may be reused with confidence  Advantage 3  There is fault isolation at all times Zhang Shuang,

Summary Zhang Shuang,