Outline CS 4387/5387 SOFTWARE V&V LECTURE 7 INTEGRATION TESTING. Integration Testing. Integrating OO Applications. Definition Strategies 6/20/2018

Relaterede dokumenter
Black Jack --- Review. Spring 2012

CS 4390/5387 SOFTWARE V&V LECTURE 5 BLACK-BOX TESTING - 2

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Statistik for MPH: 7

Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances.

User Manual for LTC IGNOU

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

Generalized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US

ECE 551: Digital System * Design & Synthesis Lecture Set 5

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla

ArbejsskadeAnmeldelse

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)

Linear Programming ١ C H A P T E R 2

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

The GAssist Pittsburgh Learning Classifier System. Dr. J. Bacardit, N. Krasnogor G53BIO - Bioinformatics

IBM Software Group. SOA v akciji. Srečko Janjić WebSphere Business Integration technical presales IBM Software Group, CEMA / SEA IBM Corporation

Small Autonomous Devices in civil Engineering. Uses and requirements. By Peter H. Møller Rambøll

Fejlbeskeder i SMDB. Business Rules Fejlbesked Kommentar. Validate Business Rules. Request- ValidateRequestRegist ration (Rules :1)

Statistik for MPH: oktober Attributable risk, bestemmelse af stikprøvestørrelse (Silva: , )

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Aktivering af Survey funktionalitet

Skriftlig Eksamen Beregnelighed (DM517)

how to save excel as pdf

X M Y. What is mediation? Mediation analysis an introduction. Definition

CHAPTER 8: USING OBJECTS

Basic statistics for experimental medical researchers

Business Rules Fejlbesked Kommentar

Status of & Budget Presentation. December 11, 2018

Differential Evolution (DE) "Biologically-inspired computing", T. Krink, EVALife Group, Univ. of Aarhus, Denmark

Engineering of Chemical Register Machines

Help / Hjælp

Fejlbeskeder i Stofmisbrugsdatabasen (SMDB)

extreme Programming Kunders og udvikleres menneskerettigheder

GNSS/INS Product Design Cycle. Taking into account MEMS-based IMU sensors

Applications. Computational Linguistics: Jordan Boyd-Graber University of Maryland RL FOR MACHINE TRANSLATION. Slides adapted from Phillip Koehn

Sign variation, the Grassmannian, and total positivity

Unitel EDI MT940 June Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004)

RoE timestamp and presentation time in past

Den nye Eurocode EC Geotenikerdagen Morten S. Rasmussen

Tilmelding sker via stads selvbetjening indenfor annonceret tilmeldingsperiode, som du kan se på Studieadministrationens hjemmeside

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X & 10.8

Skriftlig Eksamen Beregnelighed (DM517)

Strings and Sets: set complement, union, intersection, etc. set concatenation AB, power of set A n, A, A +

Sikkerhed & Revision 2013

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

Particle-based T-Spline Level Set Evolution for 3D Object Reconstruction with Range and Volume Constraints

Trolling Master Bornholm 2016 Nyhedsbrev nr. 3

Forventer du at afslutte uddannelsen/har du afsluttet/ denne sommer?

Trolling Master Bornholm 2016 Nyhedsbrev nr. 6

Trolling Master Bornholm 2016 Nyhedsbrev nr. 8

Constant Terminal Voltage. Industry Workshop 1 st November 2013

Improving data services by creating a question database. Nanna Floor Clausen Danish Data Archives

Martin Lohse. Passing. Three mobile for accordion. Composed

Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling

Financing and procurement models for light rails in a new financial landscape

On the complexity of drawing trees nicely: corrigendum

Danish Language Course for Foreign University Students Copenhagen, 13 July 2 August 2016 Advanced, medium and beginner s level.

University of Copenhagen Faculty of Science Written Exam April Algebra 3

Vina Nguyen HSSP July 13, 2008

Det er muligt at chekce følgende opg. i CodeJudge: og

Choosing a Medicare prescription drug plan.

PMDK PC-Side Basic Function Reference (Version 1.0)

Lovkrav vs. udvikling af sundhedsapps

ESG reporting meeting investors needs

Breaking Industrial Ciphers at a Whim MATE SOOS PRESENTATION AT HES 11

Listen Mr Oxford Don, Additional Work

Sikkerhedsvejledning

Before you begin...2. Part 1: Document Setup...3. Part 2: Master Pages Part 3: Page Numbering...5. Part 4: Texts and Frames...

Titel: Barry s Bespoke Bakery

Using SL-RAT to Reduce SSOs

Forventer du at afslutte uddannelsen/har du afsluttet/ denne sommer?

Quality indicators for clinical pharmacy services

Molio specifications, development and challenges. ICIS DA 2019 Portland, Kim Streuli, Molio,

Danish Language Course for International University Students Copenhagen, 12 July 1 August Application form

Trolling Master Bornholm 2016 Nyhedsbrev nr. 7

Trolling Master Bornholm 2016 Nyhedsbrev nr. 5

Mock-ups in Design. Infinit Interessegruppemøde CSC Scandihealth 20/ Lars Bo Larsen

Det Teknisk-Naturvidenskabelige Fakultet Første Studieår AALBORG UNIVERSITET Arkitektur Og Design MATEMATIK OG FORM

Forslag til implementering af ResearcherID og ORCID på SCIENCE

University of Copenhagen Faculty of Science Written Exam - 3. April Algebra 3

CS 4390/5387 SOFTWARE V&V LECTURE 8 SYSTEM TESTING. Performed after the software has been assembled. But must be planned before

Experience. Knowledge. Business. Across media and regions.

PROGRAM Erfaring - Inspiration - Network - Idéer - Viden. HP Test Brugergruppe Brugerkonference. 11. november 2010

Heuristics for Improving

PEMS RDE Workshop. AVL M.O.V.E Integrative Mobile Vehicle Evaluation

Freefly B-Række Regler

Tilmelding sker via stads selvbetjening indenfor annonceret tilmeldingsperiode, som du kan se på Studieadministrationens hjemmeside

Elektriske apparater til husholdningsbrug o.l. Sikkerhed Del 1: Generelle krav

To set new standards of lifting and transportation equipment for wind turbine components. Our product groups

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft

LED STAR PIN G4 BASIC INFORMATION: Series circuit. Parallel circuit HOW CAN I UNDERSTAND THE FOLLOWING SHEETS?

How Long Is an Hour? Family Note HOME LINK 8 2

Sidde- og ventemøbler EFG Mingle 19/10/2017

IBM WebSphere Operational Decision Management

Bilag. Resume. Side 1 af 12

A multimodel data assimilation framework for hydrology

Status på det trådløse netværk

Transkript:

1 CS 4387/5387 SOFTWARE V&V LECTURE 7 INTEGRATION TESTING Outline 2 Integration Testing Definition Strategies Big bang Top-down Bottom-up Sandwich Integrating OO Applications 1

Integration ing 3 Done between unit ing and system ing Objective: ensure assembled modules, that work fine in isolation, work well together Attempt to find interface faults Need a module call graph. A B C D E F Integration Strategy 4 How low-level modules are assembled to form higher-level program entities Strategy impacts the type of tools to use the order of coding/ing units the cost of generating cases the cost of locating and correcting detected defects 2

Integration ing strategies 5 Several different strategies can be used for integration ing Comparison criteria: fault localization effort needed (for stubs and drivers) degree of ing of modules achieved possibility for parallel development Examples of strategies Big-bang Top-down Bottom-up Sandwich Big Bang Integration - 1 6 Non-incremental strategy Unit each module in isolation Integrate as a whole A B C D E F A C E B D F, A, B, C D, E, F 3

Big Bang Integration - 2 7 Advantages Convenient for small systems Disadvantages Integration ing can only begin when all modules are ready Fault localization difficult Easy to miss interface faults Top-down Integration - 1 8 Incremental strategy 1. Start by including highest level modules in set. All other modules replaced by stubs or mock objects. 2. Integrate (i.e. replace stub by real module) modules called by modules in set. 3. Repeat until all modules in set are integrated. This includes regression ing, A, B,C A B C, A, B, C D, E, F D E F 4

Top-down Integration - 2 9 The integration order can be modified to: include critical modules first leave modules not ready to later, A, C A B C D E F, A, C, D, E, F, A, B, C D, E, F Top-down Integration - 3 10 Advantages Fault localization easier Few or no drivers needed Possibility to obtain an early prototype Different order of ing/implementation possible Major design flaws found first in logic modules on top of the hierarchy Disadvantages Need lot of stubs / mock objects Potentially reusable modules (in bottom of the hierarchy) can be inadequately ed (Why?) 5

Bottom-up Integration - 1 11 Incremental strategy Test low-level modules, then Modules calling them until highest level module D D,E,A A B C D E F E F B C,F, A, B, C D, E, F Bottom-up Integration - 2 12 Advantages Fault localization easier (than big-bang) No need for stubs / fewer mock objects Operational modules ed thoroughly Testing can be in parallel with implementation Disadvantages Need drivers High-level modules (that relate to the solution logic) ed in the last (and least) 6

Sandwich Integration 13 Combines top-down and bottom-up approaches Distinguish 3 layers logic (top) - ed top-down middle operational (bottom) ed bottom-up D D,E,A A B C D E F E F C,F, A, B, C D, E, F Top-Down, A, B, C Risk Driven integration 14 Integrate base on criticality most critical or complex modules integrated first with modules called 7

Integration of Object-Oriented Systems 15 Different scopes Intra Class (methods within a class) Big-bang Bottom-up: constructors - accessors - predicates iterators destructors State based integration Cluster Integration Big Bang Bottom-up Top-down Scenario based Subsystem/System Integration Big Bang Bottom-up Top-down Scenario based Intra-Class Integration 16 Operations in classes (methods) black box, white box approaches each exception raised at least once each interrupt forced to occur at least once each attribute set interrogated at least once state-based ing (Following Slides) Integration of methods Big-bang used for situation where methods are tightly coupled complex methods can be ed with stubs/mocks 8

State-Based Testing 17 Natural representation with finite state machines States correspond to certain values of the attributes Transitions correspond to method calls FSM can be used as basis for ing e.g. drive the class through all transitions, and verify the response and the resulting state FSM Example: Stack 18 States Initial: before creation Empty: number of elements = 0 Holding: number of elements >0, but less than the max capacity Full: number elements = max capacity Final: after destruction Transitions: starting state, ending state, event that triggers the transition, and possibly some response to the event 9

Possible Transitions 19 Initial Empty: event= create e.g. s = new Stack() in Java Empty Holding: event = add Empty Full: event = add if max_capacity = 1 Empty Final: event = destroy e.g. destructor call in C++, garbage collection in Java Holding Empty: event = delete FSM-based Testing 20 Each valid transition should be ed Verify the resulting state using a state inspector that has access to the internals of the class Each invalid transition should be ed to ensure that it is rejected and the state does not change e.g. Full Full is not allowed (Example?): Need to calling add on a full stack 10

Exercise 21 Gumball machine example States: NoQuarter, HasQuarter, Sold, SoldOut, Error Transitions: turncrank(), addquarter(), takegumball() (you may add states/transitions if necessary) Solution 22 Possible Tests? 11

23 24 12

25 Team Assignment 26 Develop an integration plan for the Simple LTL Generator system on slide #23 Order of classes to be integrated Integration s for each module (group of modules) at each step Necessary stubs/drivers. Due on 13