Integration testing After different modules of a system have been coded and unit tested: –modules are integrated in steps according to an integration plan.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
System/Software Testing Error detection and removal determine level of reliability well-planned procedure - Test Cases done by independent quality assurance.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 11: Integration- and System Testing.
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Integration testing Satish Mishra
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing and Quality Assurance
Integration Testing Presented By Nesreen Ahmad. *Main Points:-  Definition Of Integration Testing.  Procedure Of Integration Testing.  Integration.
Illinois Institute of Technology
Software Testing Name: Madam Currie Course: Swen5431 Semester: Summer 2K.
Software Testing Levels Philippe CHARMAN Last update:
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 11: Integration- and System Testing.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Software Life Cycle Model
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
Introduction to Software Engineering
Testing Chapter 11. Dealing with Errors Verification: –Makes assumptions –Doesn’t always deal with real environment Testing (this lecture) –Testing is.
ECE 355: Software Engineering
Software Testing.
TESTING.
SOFTWARE TESTING STRATEGIES CIS518001VA : ADVANCED SOFTWARE ENGINEERING TERM PAPER.
Test plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Testing Testing types Testing strategy Testing principles.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
1 SOFTWARE TESTING Presented By Abhilash.S  What is Software Testing?  Fundamentals of software Testing Error/Mistake? Defect/Bug/Fault? Failure? 2.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Topics Covered: Software testing Software testing Levels of testing Levels of testing  Unit testing Unit testing Unit testing  Integration testing Integration.
1 Program Testing (Continued) (Lecture 15) Prof. R. Mall Dept. of CSE, IIT, Kharagpur.
Software Testing Process By: M. Muzaffar Hameed.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Big Bang Approach No testing of Individual Units Advantages Cost can be saved No stubs/Drivers Very fast Disadvantages Hard to debug Location of defect.
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.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
System Testing 12/09. Hierarchy of Testing Testing Program Testing Top Down Bottom Up Integration TestingUnit Testing System Testing Big Bang Sandwich.
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Syndicate Members: 1. GC Muhammad Uzair 2. GC Umer Naveed Malik.
Software Testing Strategies for building test group
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Integration Testing.
Rekayasa Perangkat Lunak Part-13
GUI Design and Coding PPT By :Dr. R. Mall.
Different Types of Testing
Chapter 18 Software Testing Strategies
CHAPTER 2 Testing Throughout the Software Life Cycle
Lecture 09:Software Testing
Higher-Level Testing and Integration Testing
Software life cycle models
Testing and Test-Driven Development CSC 4700 Software Engineering
Software Engineering Lecture #14.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
System Testing.
Chapter 11: Integration- and System Testing
Chapter 11: Integration and System Testing
Software Testing Strategies
Presentation transcript:

Integration testing After different modules of a system have been coded and unit tested: –modules are integrated in steps according to an integration plan –partially integrated system is tested at each integration step.

System Testing System testing involves: –validating a fully developed system against its requirements.

Integration Testing Develop the integration plan by examining the structure chart : –big bang approach –top-down approach –bottom-up approach –mixed approach

Example Structured Design root Get-good-dataCompute-solutionDisplay-solution Get-data Validate -data Valid-numbers rms

Big bang Integration Testing Big bang approach is the simplest integration testing approach: –all the modules are simply put together and tested. –this technique is used only for very small systems.

Big bang Integration Testing Main problems with this approach: –if an error is found: it is very difficult to localize the error the error may potentially belong to any of the modules being integrated. –debugging errors found during big bang integration testing are very expensive to fix.

Bottom-up Integration Testing Integrate and test the bottom level modules first. A disadvantage of bottom-up testing: –when the system is made up of a large number of small subsystems. –This extreme case corresponds to the big bang approach.

Top-down integration testing Top-down integration testing starts with the main routine: –and one or two subordinate routines in the system. After the top-level 'skeleton’ has been tested: –immediate subordinate modules of the 'skeleton’ are combined with it and tested.

Mixed integration testing Mixed (or sandwiched) integration testing: –uses both top-down and bottom-up testing approaches. –Most common approach

Integration Testing In top-down approach: –testing waits till all top-level modules are coded and unit tested. In bottom-up approach: –testing can start only after bottom level modules are ready.

Phased versus Incremental Integration Testing Integration can be incremental or phased. In incremental integration testing, –only one new module is added to the partial system each time.

Phased versus Incremental Integration Testing In phased integration, –a group of related modules are added to the partially integrated system each time. Big-bang testing: –a degenerate case of the phased integration testing.

Phased versus Incremental Integration Testing Phased integration requires less number of integration steps: – compared to the incremental integration approach. However, when failures are detected, –it is easier to debug if using incremental testing since errors are very likely to be in the newly integrated module.

System Testing There are three main kinds of system testing: –Alpha Testing –Beta Testing –Acceptance Testing

Alpha Testing System testing is carried out by the test team within the developing organization.

Beta Testing System testing performed by a select group of friendly customers.

Acceptance Testing System testing performed by the customer himself: –to determine whether the system should be accepted or rejected.

Stress Testing Stress testing (aka endurance testing): –impose abnormal input to stress the capabilities of the software. –Input data volume, input data rate, processing time, utilization of memory, etc. are tested beyond the designed capacity.

Performance Testing Addresses non-functional requirements. –May sometimes involve testing hardware and software together. –There are several categories of performance testing.

Stress testing Evaluates system performance –when stressed for short periods of time. Stress testing –also known as endurance testing.

Stress testing Stress tests are black box tests: –designed to impose a range of abnormal and even illegal input conditions –so as to stress the capabilities of the software.

Stress Testing If the requirements is to handle a specified number of users, or devices: –stress testing evaluates system performance when all users or devices are busy simultaneously.

Stress Testing If an operating system is supposed to support 15 multiprogrammed jobs, –the system is stressed by attempting to run 15 or more jobs simultaneously. A real-time system might be tested –to determine the effect of simultaneous arrival of several high-priority interrupts.

Stress Testing Stress testing usually involves an element of time or size, –such as the number of records transferred per unit time, –the maximum number of users active at any time, input data size, etc. Therefore stress testing may not be applicable to many types of systems.