Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)

Slides:



Advertisements
Similar presentations
Software Testing Strategies
Advertisements

Defect testing Objectives
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Testing Strategies Sources: Code Complete, 2 nd Ed., Steve McConnell Software Engineering, 5 th Ed., Roger Pressman Testing Computer Software, 2 nd Ed.,
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 11: Integration- and System Testing.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Software Integration Testing Speaker: Jerry Gao Ph.D. San Jose State University URL:
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Integration testing Satish Mishra
Software Testing.
Integration and System Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 29, 2007.
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
Illinois Institute of Technology
Outline Types of errors Component Testing Testing Strategy
Software Testing Name: Madam Currie Course: Swen5431 Semester: Summer 2K.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 11: Integration- and System Testing.
Software Testing & Strategies
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Software System Integration
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Chapter 13 & 14 Software Testing Strategies and Techniques
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
System/Software Testing
ECE 355: Software Engineering
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Implementation & Integration Phase Implementation, then integration: Implementation, then integration:  Each module is implemented by member of programmer.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Software Testing.
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.
1 Chapter 7 Software Testing Strategies. 2 Software Testing Testing is the process of exercising a program with the specific intent of finding errors.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Software Testing. 2 CMSC 345, Version 4/12 Topics The testing process  unit testing  integration and system testing  acceptance testing Test case planning.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Software Engineering Saeed Akhtar The University of Lahore.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
CS451 Software Implementation and Integration Yugi Lee STB #555 (816) Note: This lecture was designed.
Dynamic Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Engineering By Germaine Cheung Hong Kong Computer Institute Lecture 7.
System Testing 12/09. Hierarchy of Testing Testing Program Testing Top Down Bottom Up Integration TestingUnit Testing System Testing Big Bang Sandwich.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
CSC 395 – Software Engineering Lecture 27: White-Box Testing.
Software Engineering Zhang Shuang
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
Software Testing Strategies for building test group
Software Testing.
Integration Testing.
Rekayasa Perangkat Lunak Part-13
Software Testing Techniques
Levels Of Testing and Special Tests
Chapter 13 & 14 Software Testing Strategies and Techniques
CHAPTER 2 Testing Throughout the Software Life Cycle
Definition of Integration Testing
Lecture 09:Software Testing
Software System Integration
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Chapter 10 – Software Testing
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.
Software System Integration
Chapter 11: Integration- and System Testing
TYPES OF TESTING.
Chapter 11: Integration and System Testing
CS410 – Software Engineering Lecture #11: Testing II
Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)

Integration Testing - Overview

Integration Testing The Big-bang Approach. Incremental Approach.

Integration Testing Strategies Test methodologies may vary but two basic testing strategies applied: Test the software in its entirety “Big Bang Testing” Test the software in modules - Unit Tests, Integration Tests, Systems Tests “Incremental testing” Two strategies for incremental testing Bottom - up testing (test harness). Top - down testing (stubs). Sandwich Testing

Top-Down Integration Testing Main program used as a test driver and stubs are substitutes for components directly subordinate to it. Subordinate stubs are replaced one at a time with real components (following the depth-first or breadth-first approach). Tests are conducted as each component is integrated. On completion of each set of tests and other stub is replaced with a real component. Regression testing may be used to ensure that new errors not introduced.

Top Down Integration A top module is tested with stubs B F G stubs are replaced one at a time, "depth first" C as new modules are integrated, some subset of tests is re-run D E Stub is a piece of code emulating a called function

Top down – Advantages & Disadvantages Top-down integration supports fault isolation; Major design flaws show up early. Modules of a product can be divided into two groups: The logic modules and operational modules. By coding and testing the logic modules before the operational modules, top-down integration will exploit any major design faults early in the development process The main disadvantage of top-down integration is that potentially reusable modules may not be adequately tested.

Bottom-Up Integration Testing Low level components are combined in clusters that perform a specific software function. A driver (control program) is written to coordinate test case input and output. The cluster is tested. Drivers are removed and clusters are combined moving upward in the program structure.

Bottom-Up Integration F G drivers are replaced one at a time, "depth first" C worker modules are grouped into builds and integrated D E cluster a driver is a piece of code emulating a calling function

Bottom-up – Advantages & Disadvantages The operational modules are thoroughly tested when using a bottom-up strategy. It also provides fault-isolation, as does top-down integration. Major design faults will be left undetected until late in the development, since the logic module are integrated last. This may result in large costs in redesigning and recoding substantial portions of the project.

Sandwich Testing Combine the two so as to capitalize upon their strengths and minimize their weaknesses neither top-down nor bottom-up inplemenetation/integration is suitable for all the modules, the solution is to partition them

Sandwich Testing cluster A Top modules are tested with stubs B F G C Worker modules are grouped into builds and integrated D E cluster

Top-Down Integration A top module is tested with stubs B F G stubs are replaced one at a time, "depth first" C as new modules are integrated, some subset of tests is re-run D E

Bottom-Up Integration F G drivers are replaced one at a time, "depth first" C worker modules are grouped into builds and integrated D E cluster

System Testing Confirms that the system as a whole delivers the functionality originally required. Follows the black box testing.

System Testing - Goals Incorrect or missing feature Performance errors Security errors User interface errors Configuration and compatibility Compliance to required standards

System Testing - Overview

System Testing - Overview System Tests: Define test procedures and instructions Review test plans Execute test plans Record results

System Testing - Strategy Developing System Tests stress tests security tests recovery tests performance tests

System Testing System Functional Test System Performance Test Test entire system against the functional requirements. System Performance Test Test the non-functional requirements of the system. For example, Response times, load testing etc. System Acceptance Test Set of tests that the software must pass before it is accepted by the client.

Need for an automatic test suite execution. Regression Testing Change do not always effect the entire program. Change in one part of system can effect other part. After each change Entire test suite of a system must be run again. Need for an automatic test suite execution.

Test Activities Boils down to selecting and executing test cases. Test case consists of…… Set of test inputs, of if the program is non-terminating, a sequence of test inputs. Expected results when the inputs are executed; and Execution conditions or execution environment in which the inputs are to be executed. These steps generally remain same from unit testing to system testing.

Test Case Selection Coverage criterion; Equivalence Partitioning Boundary-Value Analysis Coverage-Based Testing Control-flow Data-flow Expected behavior of every test input to be generated. (Test Oracles) Testing environment.

Difficult to automate or to assess their quality Test Oracles Determines whether or not the program has passed or failed the test case. A test oracle is A program A process A body of data In many cases - directly form the requirements. For example, a test case assessing performance - performance threshold. Difficult to automate or to assess their quality

Generally can be automated to an extend !!!! Test Evaluation Compare the actual behavior with the expected behavior. Generally can be automated to an extend !!!!

Generally can be automated to an extend !!!! Test Reporting Report the outcome of the testing. Developers Project Mangers etc. Generally can be automated to an extend !!!!

Testing Techniques White Box Black Box Incremental Thread