November 2011CSC7302: Testing & MetricsL4-IntegrationTesting:1 Integration Testing The software testing process where individual units are combined and.

Slides:



Advertisements
Similar presentations
GUI Testing By Norbert Haché. Contents b What is GUI testing b Elements of GUI testing b Old Approach (TRUMP Project) b Scripting b Capture / Replay b.
Advertisements

1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Tools for Efficient Implementation Tools for efficient implementation: Design environments ----GUI design tools Configuration management Good coding habits--PSP.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Automated Fitness Guided Fault Localization Josh Wilkerson, Ph.D. candidate Natural Computation Laboratory.
Integration testing Satish Mishra
November 2011CSC7302: Testing & MetricsAdvancedTestingTechniques.1 The hangman problem … the final challenge The rules of hangman have changed with respect.
6/19/2007SE _6_19_TSPImp_SVT_Lecture.ppt1 Implementation Phase Inputs: Development strategy & plan Completed, inspected & baselined SRS & SDS.
Illinois Institute of Technology
CSE1301 Computer Programming: Lecture 29 Group Project: “Quabble”
Software Testing & Strategies
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Software System Integration
Data Structures and Programming.  John Edgar2.
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Chapter 7 Unit Testing & Integration Testing Software Testing By Wararat Songpan(Rungworawut),PH.D. Department of Computer Science, Faculty of.
TESTING.
Overview Integration Testing Decomposition Based Integration
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
SOFTWARE TESTING STRATEGIES CIS518001VA : ADVANCED SOFTWARE ENGINEERING TERM PAPER.
Moving into the Testing Phase Revised for October 22, 2008.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Understand Application Lifecycle Management
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
SZZ – An overview David Bowes University of Hertfordshire.
1 CSC 221: Computer Programming I Spring 2010 interaction & design  modular design: roulette game  constants, static fields  % operator, string equals.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
 Make sure you are subscribed to announcements on Moodle.  Activity 4 will be due 48hrs after your lab ends.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Test and Review chapter State the differences between archive and back-up data. Answer: Archive data is a copy of data which is no longer in regular.
Controls design Controls are “the plan of organization and all the methods and measures to safeguard its assets, check the accuracy and reliability of.
Formatting of game by Candace R. Black © All rights reserved. Formatting of Game by Candace R. Black © All Rights Reserved. This line of text.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
KEYS Scott Gajewski ART 389A Spring Contents Premise Getting Started -Players -Set-up -Materials Rules -Basics -Points System -Multiple Players.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Our project main purpose is to develop a tool for a combinatorial game researcher. Given a version of combinatorial puzzle game and few more parameters,
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.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
Description and exemplification use of a Data Dictionary. A data dictionary is a catalogue of all data items in a system. The data dictionary stores details.
1 Software Testing & Quality Assurance Lecture 15 Created by: Paulo Alencar Modified by: Frank Xu.
HANGMAN- Software/ Hardware Integration Project Idea was to design a working C++ program to play a Hangman word guessing game Idea was to design a working.
Static and Integration Testing. Static Testing vs Dynamic Testing  To find defects  This testing includes verification process  without executing.
Testing i. explain the importance of system testing and installation planning;
Group mambers: Maira Naseer (BCS ).
Submitting an invoice with the Tungsten Portal
Testing Tools & Standards
How Systems are Developed
Integration Testing.
Why Be Random? What is it about chance outcomes being random that makes random selection seem fair? Two things: Nobody can guess the outcome before it.
Chapter 13 & 14 Software Testing Strategies and Techniques
Mid-term Exam Account for 20% of the grade 100 points in total
Definition of Integration Testing
Batch Setup.
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.
Automated Fitness Guided Fault Localization
Chapter 10 – Software Testing
Integration Testing CS 4311
COSC 4506/ITEC 3506 Software Engineering
Integration Reading: McConnell, Code Complete, Ch. 29
Software System Integration
Chapter 11: Integration- and System Testing
Batch Setup.
Requirements Engineering
Integration Testing.
Presentation transcript:

November 2011CSC7302: Testing & MetricsL4-IntegrationTesting:1 Integration Testing The software testing process where individual units are combined and tested as a group The purpose of this level of testing is to expose faults in the interaction between integrated units. Test drivers and test stubs are used to assist in Integration Testing.

November 2011CSC7302: Testing & MetricsL4-IntegrationTesting:2 Integration Testing: Approaches Big Bang is an approach to Integration Testing where all or most of the units are combined together and tested at one go. This approach can be taken when the testing team receives the entire software in a bundle. Top Down is an approach to Integration Testing where top level units are tested first and lower level units are tested step by step after that. This approach is taken when top down development approach is followed. Test Stubs are needed to simulate lower level units which may not be available during the initial phases. Bottom Up is an approach to Integration Testing where bottom level units are tested first and upper level units step by step after that. This approach is taken when bottom up development approach is followed. Test Drivers are needed to simulate higher level units which may not be available during the initial phases. Sandwich/Hybrid is an approach to Integration Testing which is a combination of Top Down and Bottom Up approaches.

November 2011CSC7302: Testing & MetricsL4-IntegrationTesting:3 Integration Testing: Advice Ensure that you have a proper detail design document where interactions between each unit are clearly defined. In fact, you will not be able to perform Integration Testing without this information. Ensure that you have a robust Software Configuration Management system in place. Or else, you will have a tough time tracking the right version of each unit, especially if the number of units to be integrated is huge. Make sure that each unit is first unit tested before you start Integration Testing. As far as possible, automate your tests, especially when you use the Top Down or Bottom Up approach, since regression testing is important each time you integrate a unit, and manual regression testing can be inefficient.

November 2011CSC7302: Testing & MetricsL4-IntegrationTesting:4 Recommended Reading Paul C. Jorgensen and Carl Erickson Object-oriented integration testing. Commun. ACM 37, 9 (September 1994), DOI= / Jean Hartmann, Claudio Imoberdorf, and Michael Meisinger UML-Based integration testing. In Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis (ISSTA '00), Mary Jean Harold (Ed.). ACM, New York, NY, USA, Le Traon, Y.; Jeron, T.; Jezequel, J.-M.; Morel, P.;, Efficient object-oriented integration and regression testing, Reliability, IEEE Transactions on, vol.49, no.1, pp.12-25, Mar 2000, doi: / Briand, L.C.; Labiche, Y.; Yihong Wang;, "An investigation of graph-based class integration test order strategies," Software Engineering, IEEE Transactions on, vol.29, no.7, pp , July 2003, doi: /TSE

November 2011CSC7302: Testing & MetricsL4-IntegrationTesting:5 Problem: Bilingual Hangman Game You are to code (the tests for) an educational game for playing a bilingual version of hangman, whose aim is to help players to increase their vocabulary in a foreign language. The game will make 2 different hangmen: 1 for each word in each of the languages. Game rules: WIN – if both words found LOSS – if one of the 2 hangmen hang When player selects a letter during a round, this letter is played in each of the 2 hangmen games. During a round, a player may also guess either of the words. A correct guess completes the word without incurring a penalty, and all shared letters in the other word are added at no cost. For a word guess, there is no penalty for letters in the guessed word that are not present in the other word. An incorrect word guess adds a limb to the hangman for which the guess is made (and not the other). The hangman game must select a sequence of 5 random word-pairs from a dictionary. The players score will be calculated by: 100+ (Number of wins * 20 ) – number of errors made overall.

November 2011CSC7302: Testing & MetricsL4-IntegrationTesting:6 Problem: Bilingual Hangman Dictionary The words that are used in the bilingual hangman game must be downloaded from a dictionary ASCII text file. This dictionary file must follow an XML schema: you can choose whatever type of schema you wish. The dictionary file must also record the number of times each word has been played (with a breakdown of wins versus losses). This should be updated in batch mode (when the overall game is over).

November 2011CSC7302: Testing & MetricsL4-IntegrationTesting:7 Problem: Bilingual Hangman Test Development TO DO: 1)Unit tests for each component in your design 2)Two Integration tests of your choice, eg: i.Dictionary – Bilingual Hangman ii.Hangman Language1 – Hangman Language 2 3)Validation tests for the complete system You may (or may not) choose to write the tests before/after the development. QUESTION: How useful are the integration tests?