1 / 7

Integration Testing

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.

verdad
Télécharger la présentation

Integration Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IntegrationTesting 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. CSC7302: Testing & Metrics

  2. IntegrationTesting: 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. CSC7302: Testing & Metrics

  3. IntegrationTesting: 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. CSC7302: Testing & Metrics

  4. Recommended Reading Paul C. Jorgensen and Carl Erickson. 1994. Object-oriented integration testing. Commun. ACM 37, 9 (September 1994), 30-38. DOI=10.1145/182987.182989 Jean Hartmann, Claudio Imoberdorf, and Michael Meisinger. 2000. UML-Basedintegrationtesting. 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, 60-70. Le Traon, Y.; Jeron, T.; Jezequel, J.-M.; Morel, P.; , Efficient object-orientedintegration and regressiontesting, Reliability, IEEE Transactions on , vol.49, no.1, pp.12-25, Mar 2000, doi: 10.1109/24.855533 Briand, L.C.; Labiche, Y.; Yihong Wang; , "An investigation of graph-based class integration test orderstrategies," Software Engineering, IEEE Transactions on , vol.29, no.7, pp. 594- 607, July 2003, doi: 10.1109/TSE.2003.1214324 CSC7302: Testing & Metrics

  5. Problem: BilingualHangman Game • You are to code (the tests for) an educationalgame for playing a bilingual version of hangman, whoseaimis to help players to increasetheirvocabulary in a foreignlanguage. • The gamewillmake 2 differenthangmen: 1 for eachword in each of the languages. • Game rules: • WIN – if bothwordsfound • LOSS – if one of the 2 hangmenhang • Whenplayer selects a letterduring a round, thisletterisplayed in each of the 2 hangmengames. • During a round, a playermayalsoguesseither of the words. A correct guesscompletes the wordwithoutincurring a penalty, and all sharedletters in the otherword are addedat no cost. For a wordguess, thereis no penalty for letters in the guessedwordthat are not present in the otherword. An incorrect wordguessadds a limb to the hangman for which the guessis made (and not the other). • The hangmangame must select a sequence of 5 randomword-pairs from a dictionary. The players score willbecalculated by: • 100+ (Number of wins * 20 ) – number of errors made overall. CSC7302: Testing & Metrics

  6. Problem: BilingualHangmanDictionary The wordsthat are used in the bilingualhangmangamemustbedownloadedfrom a dictionary ASCII text file. This dictionary file must follow an XML schema: youcanchoosewhatever type of schemayouwish. The dictionary file must also record the number of times eachword has been played (with a breakdown of wins versus losses). This shouldbeupdated in batch mode (when the overallgameis over). CSC7302: Testing & Metrics

  7. Problem: BilingualHangmanTest Development • TO DO: • Unit tests for each component in your design • TwoIntegration tests of yourchoice, eg: • Dictionary – BilingualHangman • Hangman Language1 – HangmanLanguage 2 • 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? CSC7302: Testing & Metrics

More Related