TDDD04 Software Testing

Size: px
Start display at page:

Download "TDDD04 Software Testing"

Transcription

1 TDDD04 Software Testing Lecture Notes 5 March June 2010 Mohsen Torabzadeh-Tari (presenter), (originator) Department of Computer and Information Science Linköping University, Sweden

2 Integration Testing 2 Literature: Software testing, A craftsman's Approach, Paul C. Jorgensen (Grand Valley State University, Michigan) In September 1999, the Mars Climate Orbiter mission failed after successfully traveling 416 million miles in 41 weeks. It disappeared just as it was to being Orbiting Mars. The fault should have been revealed by integration testing: Lockheed Martin Astronautics used acceleration data in English unit (pounds), while the Jet Propulsion Laboratory did its calculations with metric units (newtons). NASA announced a $50,000 project to discover how this could have happened (Fordahl 1999).

3 Reflection 3 Mention drawbacks of functional decomposition integration What is the break-even point of the SATM example for the Top-Down and Bottom-Up methods in terms of the cost of the stubs compared to drives? (for SATM, stubs 32, drives 10 needed) What is the advantage of Sandwich integration compared to TD and BU integrations? Mention three factors that could have impact on the choice of integration technique.

4 Unit & Integration Testing 4 Objective: to ensure that code implemented the design properly. Code = System Design Specification

5 5 Component code Unit test Tested components Design Specification Integration test Component code Unit test Tested components Integrated modules

6 Stubs and Drivers 6 Stubs: throw-away piece of code that takes place of the actual code. It emulates a called unit Drivers: throw-away code that emulate the procedure calls Component to be tested driver Boundary conditions independent paths interface... stub stub Test cases

7 Levels of Testing 7 Requirements Specification System Testing Preliminary Design Integration Testing Detailed Design Unit Testing Coding

8 Goals/Purpose of Integration Testing 8 presumes previously tested units not system testing (at level of system inputs and outputs) tests functionality "between" unit and system levels basis for test case identification emphasis shifts from how to test to what to test

9 Outline of the Lecture 9 Approaches to Integration Testing 1. Based on Functional Decomposition Top-Down Bottom-up Sandwich Big Bang 2. Based on Call Graph Pair-Wise Neighborhood 3. Based on Paths MM-Paths

10 Example: The SATM System 10 The Simple Automated Teller Machine example here contains an interesting variety of functionality and interactions that typify the client side of client-server systems. The SATM system communicates with bank customers via 15 screens, using a terminal. Customers can select any of three transaction types: deposits, withdrawals, and balance inquiries. These transactions can be done on two types of accounts: checking and savings.

11 Decomposition-Based Integration

12 Functional Decomposition of the SATM System 1 12 A 10 B C D E F Unit Level Unit Name 1 1 SATM System A 1.1 Device Sense & Control D Door Sense & Control Get Door Status Control Door Dispense Cash E Slot Sense & Control WatchCardSlot Get Deposit Slot Status Control Card Roller Control Envelope Roller Read Card Strip Central Bank Comm Get PIN for PAN Get Account Status Post Daily Transactions Table 1: SATM Units and Abbreviated Names Unit Level Unit Nam B 1.3 Terminal Sense & Control Screen Driver Key Sensor C 1.4 Manage Session Validate Card Validate PIN GetPIN F Close Session New Transaction Request Print Receipt Post Transaction Local Manage Transaction Get Transaction Type Get Account Type Report Balance Process Deposit Process Withdrawal

13 Decomposition-Based Integration 13 Top-Down Bottom-up Sandwich Big Bang All these integration orders presume that the units have been separately tested, thus, the goal of decomposition-based integration is to test the interfaces among separately tested units.

14 Big Bang Integration 14 In this view of integration, all the units are compiled together and tested at once. The drawback to this is that when a failure is observed, few clues are available to help isolate the location (s) of the fault.

15 Decomposition-Based Integration Top-Down Integration

16 Top-Down Integration 16 Top Subtree Second Level Subtree Botom Level Subtree

17 Top-Down Integration Student worksheet 17 Top Subtree x stubs y integration sessions*; in each, one component would be actual code, and the other three would be stubs. * a test session is one set of tests for a specific configuration actual code and stubs.

18 Top-Down Integration 18 Top Subtree 4 stubs 5 integration sessions; in each, one component would be actual code, and the other three would be stubs.

19 Top-Down Integration 19 Student worksheet Second Level Subtree x stubs y integration sessions

20 Top-Down Integration 20 Second Level Subtree 15 stubs ( ) 20 integration sessions (15 stubs + 4 roots (subtrees) +1)

21 Top-Down Integration 21 Student worksheet Botom Level Subtree x stubs y integration sessions

22 Top-Down Integration 22 Botom Level Subtree 32 stubs 42 integration sessions (32 stubs + 9 roots (subtrees) + 1 (with all the stubs))

23 23 Would we replace all the stubs at once? If we did, we would have a small bang for units with a high outdegree. If we replace one stub at a time, we retest the main program once for each replaced stub.

24 Decomposition-Based Integration Bottom-Up Integration

25 Bottom-Up Integration 25 Bottom Level Subtree Second Level Subtree Top Subtree

26 Bottom-Up Integration 26 Student worksheet Bottom Level Subtree x drivers y integration sessions

27 Bottom-Up Integration 27 Bottom Level Subtree 5 drivers ( 5 rotts (subtrees)) 17 integration sessions ( )

28 Bottom-Up Integration 28 Student worksheet Second Level Subtree x drivers y integration sessions

29 Bottom-Up Integration 29 Second Level Subtree 9 drivers (9 subtrees) 28 integration sessions ( )

30 Bottom-Up Integration 30 Student worksheet Top Subtree x drivers y integration sessions

31 Bottom-Up Integration 31 Top Subtree 10 drivers (9 subtrees + 1 (main)) 42 integration sessions ( roots (subtrees) + 1 (with all the drives))

32 32 Sessions = nodes leaves + edges For top-down integration: (nodes - 1) stubs are needed For bottom-up integration: (nodes - leaves) drivers are needed

33 33 Student Worksheet For SATM: nodes:? leavs:? edges:? Sessions = nodes leaves + edges For top-down integration: (nodes - 1) stubs are needed For bottom-up integration: (nodes - leaves) drivers are needed

34 34 For STAM: nodes: 33 leavs: 23 edges: 32 Sessions = nodes leaves + edges = 42 sessions For top-down integration: (nodes - 1) stubs are needed 33-1 = 32 stubs For bottom-up integration: (nodes - leaves) drivers are needed = 10 drivers

35 Decomposition-Based Integration Sandwich Integration

36 Sandwich Integration 36

37 Sandwich Integration 37 A combination of top-down and bottom-up integration Less stub and drivers development effort Added difficulty to fault isolation

38 Decomposition-Based Integration Pros & Cons

39 Pros and Cons Functional decomposition-based approaches 39 Whenever a failure is observed, the most recently added unit is suspected. The top-down and bottom-up terms suggest breadth-first traversals of the decomposition tree, but this is not mandatory. One of the most frequent objections to functional decomposition and waterfall development is that both are artificial, and both serve the needs of project management more than the needs of software developers. This holds true also for decomposition-based testing. The whole mechanism is that units are integrated with respect to structure; this presumes that correct behavior follows from individually correct units and correct interfaces. The developing effort for stubs or drivers is one drawback to these approaches, and this is compounded by the retesting effort.

40 Call Graph-Based Integration

41 Call Graph-Based Integration 41 Pair-Wise Neighborhood As software design moves into more detail, the added information lets us refine the functional decomposition tree into a unit calling graph. The unit calling graph is the directed graph in which nodes are program units and edges correspond to program calls.

42 Call Graph of the SATM System

43 Call Graph-Based Integration Pair-Wise Integration

44 Pair-Wise Integration 44 The idea behind pair-wise integration is to eliminate the stub/driver development effort, why not use the actual code? Sounds like big bang! But we restrict a session to only a pair of units in the call graph.

45 Some Pair-wise Integration Sessions

46 Pair-Wise Integration 46 One integration test session for each edge in the call graph (40 for SATM call graph). Not so much reduction in sessions from either topdown or bottom-up (42 sessions). Drastic reduction in stub/driver development.

47 Call Graph-Based Integration Neighborhood Integration

48 Neighborhood Integration 48 The neighborhood of a node in a graph is the set of nodes that are one edge away from the given node. In a directed graph, this includes all the immediate predecessor nodes and all the immediate successor nodes (these correspond to the set of stubs and drivers of the node)

49 Two Neighborhood Integration Sessions

50 Neighborhood Integration 50 SATM Neighborhoods: Node Predecessors Successors , 10, , 15, 6, 8, 2,

51 Neighborhood Integration 51 SATM Neighborhoods: Node Predecessors Successors , 10, , 14, , , , , , 15, 6, 8, 2, , 15, 2, 3, 4, , 24, 26, 27, 25 1 n/a 5, 7, 20, 21, 16, 17, 19, 22

52 Neighborhood Integration 52 Number of integration test sessions = Number of neighborhoods Source node: a node with indegree = 0 Sink node: a node with outdegree = 0 Interior nodes = nodes (source nodes + sink nodes) Neighborhoods = interior nodes + source nodes Neighborhoods = nodes (source nodes + sink nodes) + source nodes Neighborhoods = nodes sink nodes

53 Neighborhood Integration 53 Student Worksheet for SATM Integration test session Nodes:? Source node: a node with indegree =? Sink node: a node with outdegree =? Interior nodes = nodes (source nodes + sink nodes) =? Neighborhoods = interior nodes + source nodes Neighborhoods = nodes (source nodes + sink nodes) + source nodes Neighborhoods = nodes sink nodes =?

54 Neighborhood Integration 54 for SATM Integration test session Nodes: 27 Source node: a node with indegree = 1 Sink node: a node with outdegree = 16 Interior nodes = nodes (source nodes + sink nodes) = 10 Neighborhoods = interior nodes + source nodes Neighborhoods = nodes (source nodes + sink nodes) + source nodes Neighborhoods = nodes sink nodes = = 11 Neighborhood integration yields a drastic reduction in the number of integration test sessions (down to 11 from 40), and it avoids stub and driver development

55 Call Graph-Based Integration Pros &Cons

56 Pros and Cons Call graph-based integration approaches 56 Eliminate the stub/driver development effort. Matches well with developments characterized by build and composition. For example, sequences of neighborhoods can be used to define builds. The biggest drawback is the fault isolation problem, specially for large neighborhood. Resolving a fault in a node means changing the unit s code which in turn means that all previously tested neighborhoods that contain the changed node need to be tested.

57 Path-Based Integration

58 Path-Based Integration 58 Special forms of Paths: MM-Path An MM-Path is an interleaved sequence of module execution paths (MEP) and messages. when a unit executes, some path of source statements is traversed. Suppose that a call goes to another unit along such a path: at that point, control is passed from the calling unit to the called unit, where some other path of source statements is traversed.

59 Example: An MM-Path module A calls module B, which in turn calls module C 59 A B C

60 Extensions to Definitions 60 Definition: A source node in a program is a statement fragment at which program execution begins or resumes. Definition: A sink node in a program is a statement fragment at which program execution terminates. Definition: A module execution path (MEP) is a sequence of statements that begins with a source node and ends with a sink node, with no intervening sink nodes. Definition: A message is a programming language mechanism by which one unit transfers control to another unit.

61 Definitions for Integration Testing 61 Defintion: An MM-Path is an interleaved sequence of module execution paths (MEP) and messages. Definition: Given a set of units, their MM-Path graph is the directed graph in which nodes are module execution paths and edges correspond to messages and returns from one unit to another.

62 Example: An MM-Path module A calls module B, which in turn calls module C Student Worksheet A B C

63 Example (cont.): source nodes and sink nodes Student Worksheet 63 Module A: Source nodes:? Sink nodes:? Module B: Source nodes:? Sink nodes:? Module C: Source nodes:? Sink nodes:?

64 Example (cont.): source nodes and sink nodes 64 Source nodes A 1 Sink nodes

65 Example (cont.): source nodes and sink nodes 65 Source nodes B 1 Sink nodes 2 3 4

66 Example (cont.): source nodes and sink nodes 66 Source nodes C 1 Sink nodes

67 Example (cont.): source nodes and sink nodes 67 Source nodes Sink nodes A B C

68 Example (cont.): source nodes and sink nodes 68 Module A: Source nodes: Nodes 1 and 5 Sink nodes: Nodes 4 and 6 Module B: Source nodes: Nodes 1 and 3 Sink nodes: Nodes 2 and 4 Module C: Source nodes: Node 1 Sink nodes: Node 5

69 Example (cont.) Module Execution Path (MEP) 69 Student Worksheet MEP (A, I) = < 1, 2, 3, 6 > MEP (A, II) =? MEP

70 Example (cont.) module execution path (MEP) 70 MEP (A, I) = < 1, 2, 3, 6 > MEP (A, II) = < 1, 2, 4 > MEP (A, III) = < 5, 6 > MEP (B, I) = < 1, 2 > MEP (B, II) = < 3, 4 > MEP (C, I) = < 1, 2, 4, 5 > MEP (C, II) = < 1, 3, 4, 5 >

71 Example (cont.) module execution path (MEP) 71 A B C MEP(A,II) MEP(B,I) MEP(C,II) MEP(A,I) MEP(A,III) 3 4 MEP(B,II) MEP(C,I) 4 5

72 Example (cont.): MM-Path graph 72 Messages MEP (A, II) MEP (B, I) MEP (A, I) MEP (C, I) MEP (B, II) Returns MEP (A, III) MEP (C, II)

73 Path-Based Integration Pros & Cons

74 Pros and Cons MM-Path based integration approaches 74 MM-Paths are a hybrid of functional and structural testing: functional in the sense that they represent actions with inputs and outputs structural side comes from how they are identified, particularly the MM-Path graph. Path-based integration works equally well for software developed in the traditional waterfall process or with one of the composition-based alternative life cycle models. The most important advantage of path-based integration testing is that it is closely coupled with the actual system behavior, instead of the structural motivations of decomposition and call graph-based integration. But the price: more effort is needed to identify the MM-Paths. This effort is probably offset by the elimination of stub and driver development.

75 75 How many MM-Paths are sufficient? The set of MM-Paths should cover all source-to-sink paths in the set of units.

76 Comparison

77 Number of Integration Testing Sessions Based on Functional Decomposition Top-Down nodes leaves + edges Bottom-Up nodes leaves + edges Sandwich max is number of subtrees 2. Based on Call Graph Pair-wise number of edges Neighborhood nodes sink nodes 3. Based on Paths MM-Paths (application dependent)

78 Effort and Throw-away Code 78 Method Sessions Stubs / Drivers Top-Down stubs Bottom-Up drivers Sandwich?? Big bang 1 none Pair-wise 40 pair dependent Neighborhood 11 neighborhood dependent MM-Path 1 per MM-Path 1 driver per MM-Path

79 Summary: Approaches to Integration Testing Based on Functional Decomposition Top-Down Bottom-up Sandwich Big Bang 2. Based on Call Graph Pair-Wise Neighborhood 3. Based on Paths MM-Paths

80 Reflection 80 Mention drawbacks of functional decomposition integration What is the break-even point of the SATM example for the Top-Down and Bottom-Up methods in terms of the cost of the stubs compared to drives? What is the advantage of Sandwich integration compared to TD and BU integrations? Mention three factors that could have impact on the choice of integration technique.

Software Testing: A Craftsman s Approach, 4 th Edition. Chapter 13 Integration Testing

Software Testing: A Craftsman s Approach, 4 th Edition. Chapter 13 Integration Testing Chapter 13 Integration Testing The Mars Climate Orbiter Mission mission failed in September 1999 completed successful flight: 416,000,000 miles (665.600.600 km) 41 weeks flight duration lost at beginning

More information

Integration Testing Path Based" Chapter 13!

Integration Testing Path Based Chapter 13! Integration Testing Path Based Chapter 13! Call graph based integration Use the call graph instead of the decomposition tree! What is a call graph?! IntP 2 Call graph definition Is a directed, labeled

More information

TDDD04: Integration and System level testing. Lena Buffoni

TDDD04: Integration and System level testing. Lena Buffoni TDDD04: Integration and System level testing Lena Buffoni lena.buffoni@liu.se Lecture plan Integration testing System testing Test automation Model-based testing Remember? Testing in the waterfall model

More information

TDDD04 Software Testing

TDDD04 Software Testing TDDD04 Software Testing Lecture Notes 7 March June 2010 Mohsen Torabzadeh-Tari (presenter), (originator) Department of Computer and Information Science Linköping University, Sweden Outline of the Lecture

More information

Criticality Factor of Modules with the Application of Modified Neighborhood Integration Testing and Initiating Build Testing

Criticality Factor of Modules with the Application of Modified Neighborhood Integration Testing and Initiating Build Testing Criticality Factor of Modules with the Application of Modified Neighborhood Integration Testing and Initiating Build Testing Dr. Namita Gupta 1, Nitesh Goyal 2 1 Head of Department, Computer Science Engineering,

More information

CSCE 747 Software Testing and Quality Assurance

CSCE 747 Software Testing and Quality Assurance CSCE 747 Software Testing and Quality Assurance Lecture 10 Integration Testing 9/30/2013 Lec 10 Integration Testing 1 CSCE 747 Fall 2013 1 Last Time Integration & System Testing Part III Levels of Testing

More information

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering Module UFC016QM Object-Oriented Design and Programming O-O Design Unit 2: Objects and Classes Faculty of Computing, Engineering and Mathematical Sciences Schedule Quick recap on Use Case diagrams UWE Flix

More information

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account ID: CIS375-01 Title: Login Description: Customer logs into the system by inserting the card and entering pin code. Preconditions: Customer has a bank account and an ATM Card. Postconditions: Customer logged

More information

Integration Testing. Rogério Paulo. January 12, 2007

Integration Testing. Rogério Paulo. January 12, 2007 Integration Testing Rogério Paulo January 12, 2007 Abstract This document is written as a dissertation to complete the module CS339 Advanced Topics in Computer Science: Testing in University of Wales Swansea.

More information

PA103 - Object-oriented Methods for Design of Information Systems. Analysis Patterns. Radek Ošlejšek Fakulta informatiky MU

PA103 - Object-oriented Methods for Design of Information Systems. Analysis Patterns. Radek Ošlejšek Fakulta informatiky MU PA103 - Object-oriented Methods for Design of Information Systems Analysis Patterns Radek Ošlejšek Fakulta informatiky MU oslejsek@fi.muni.cz Literature Analysis Patterns: Reusable Object Models Author:

More information

Lecture 2: Memory Systems

Lecture 2: Memory Systems Lecture 2: Memory Systems Basic components Memory hierarchy Cache memory Virtual Memory Zebo Peng, IDA, LiTH Many Different Technologies Zebo Peng, IDA, LiTH 2 Internal and External Memories CPU Date transfer

More information

Question Bank. Unit 1: Perspective on Testing, Examples. Chapter 1 & 2 from Dr. Paul C. Jorgensen

Question Bank. Unit 1: Perspective on Testing, Examples. Chapter 1 & 2 from Dr. Paul C. Jorgensen Unit 1: Perspective on Testing, Examples Chapter 1 & 2 from Dr. Paul C. Jorgensen Sl no Question Description 1. Make a Venn Diagram that reflects a part of the following statement: we have left undone

More information

Microsoft CSHARP. PRO-Design and Develop Wdws-Based Appl by Using MS.NET Frmwk.

Microsoft CSHARP. PRO-Design and Develop Wdws-Based Appl by Using MS.NET Frmwk. Microsoft 70-548-CSHARP PRO-Design and Develop Wdws-Based Appl by Using MS.NET Frmwk http://killexams.com/exam-detail/70-548-csharp DEMO Find some pages taken from full version Following pages are for

More information

Directed Graph and Binary Trees

Directed Graph and Binary Trees and Dr. Nahid Sultana December 19, 2012 and Degrees Paths and Directed graphs are graphs in which the edges are one-way. This type of graphs are frequently more useful in various dynamic systems such as

More information

Trees. Truong Tuan Anh CSE-HCMUT

Trees. Truong Tuan Anh CSE-HCMUT Trees Truong Tuan Anh CSE-HCMUT Outline Basic concepts Trees Trees A tree consists of a finite set of elements, called nodes, and a finite set of directed lines, called branches, that connect the nodes

More information

Advanced Software Testing Integration Testing

Advanced Software Testing Integration Testing Advanced Software Testing Integration Testing Advanced Software Testing A series of webinars, this one excerpted from Advanced Software Testing: V3, a book for technical test analysts, programmers, and

More information

Data Consistency Now and Then

Data Consistency Now and Then Data Consistency Now and Then Todd Schmitter JPMorgan Chase June 27, 2017 Room #208 Data consistency in real life Social media Facebook post: January 22, 2017, at a political rally Comments displayed are

More information

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba Dr. Marenglen Biba In Chapters 12 13, you design and implement an object-oriented automated teller machine (ATM) software system. Concise, carefully paced, complete design and implementation experience.

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) 1.17 Software Engineering Case Study: Introduction to Object Technology and the UML (Required) Object orientation A natural way of thinking about the world and computer programs Unified Modeling Language

More information

Systems Analysis and Design

Systems Analysis and Design Systems Analysis and Design Michael Brydon Summer 2003 Slide 1 Introduction to the Course Course structure Lectures: material from the Dennis text Labs: in-lab assignments, demonstrations, and consulting

More information

Distributed Information Processing

Distributed Information Processing Distributed Information Processing 6 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2016 Eom, Hyeonsang All Rights Reserved Outline

More information

Chapter 11, Testing, Part 2: Integration and System Testing

Chapter 11, Testing, Part 2: Integration and System Testing Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11, Testing, Part 2: Integration and System Testing Overview Integration testing Big bang Bottom up Top down Sandwich System testing

More information

Integration Testing Qualidade de Software 2

Integration Testing Qualidade de Software 2 Integration Testing Integration Testing Software systems are built with components that must interoperate Primary purpose: To reveal component interoperability faults so that testing at system scope may

More information

Chapter 11, Testing, Part 2: Integration and System Testing

Chapter 11, Testing, Part 2: Integration and System Testing Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11, Testing, Part 2: Integration and System Testing Overview Integration testing Big bang Bottom up Top down Sandwich System testing

More information

Restricted Use Case Modeling Approach

Restricted Use Case Modeling Approach RUCM TAO YUE tao@simula.no Simula Research Laboratory Restricted Use Case Modeling Approach User Manual April 2010 Preface Use case modeling is commonly applied to document requirements. Restricted Use

More information

Characterizing your Objects

Characterizing your Objects Characterizing your Objects Reprinted from the Feb 1992 issue of The Smalltalk Report Vol. 2, No. 5 By: Rebecca J. Wirfs-Brock In this column I ll describe some vocabulary I find useful to characterize

More information

The Object-Oriented Design Process

The Object-Oriented Design Process The Object-Oriented Design Process Part 1: Techniques & Tools OOdesignProcess 1 Program development In theory, 3 phase development process: Analysis: figure out the problem Design: develop the solution

More information

Sofware Requirements Engineeing

Sofware Requirements Engineeing Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (Requirements Specification).

More information

ClinCard Reference Guide: Site Coordinator

ClinCard Reference Guide: Site Coordinator ClinCard Reference Guide: Site Coordinator Please review the JCTO SOP located in the Researcher s Toolbox How to Login to www.clincard.com 1) Login to www.clincard.com. 2) Enter your login and password

More information

Streams. CS21b: Structure and Interpretation of Computer Programs Spring Term, 2004

Streams. CS21b: Structure and Interpretation of Computer Programs Spring Term, 2004 Streams CS21b: Structure and Interpretation of Computer Programs Spring Term, 2004 We ve already seen how evaluation order can change behavior when we program with state. Now we want to investigate how

More information

TexConnect Online User Guide

TexConnect Online User Guide TexConnect Online User Guide TexConnect Online User Guide I. Log on.. 2 A. Create Password. 3 B. Reset Password... 4 II. Disclaimer... 5 III. Pool Information.. 6 IV. Transactions A. Deposit... 7 B. Withdrawal.

More information

Department of Electrical & Computer Engineering, University of Calgary. B.H. Far

Department of Electrical & Computer Engineering, University of Calgary. B.H. Far SENG 421: Software Metrics Software Test Metrics (Chapter 10) Department of Electrical & Computer Engineering, University of Calgary B.H. Far (far@ucalgary.ca) http://www.enel.ucalgary.ca/people/far/lectures/seng421/10/

More information

so when retreat on edge, can \delete" edge when vertex has no outgoing arcs, know it is blocked when augment along path, can also \delete" edges so to

so when retreat on edge, can \delete edge when vertex has no outgoing arcs, know it is blocked when augment along path, can also \delete edges so to advance: follow some outgoing edge from current v ertex eventually, r e a c h sink: augment along current path seems much l i k e aug path algorithm but can save info since don't create residual arcs No

More information

Introduction in MATLAB (TSRT04)

Introduction in MATLAB (TSRT04) VT2 2019 Division of Communication Systems Department of Electrical Engineering (ISY) Linköping University, Sweden www.commsys.isy.liu.se/en/student/kurser/tsrt04 About the Course MATLAB Basics Vectors

More information

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. B-Trees Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Motivation for B-Trees So far we have assumed that we can store an entire data structure in main memory.

More information

Object-Oriented Analysis, Design and Implementation. Case Study Part II

Object-Oriented Analysis, Design and Implementation. Case Study Part II Object-Oriented Analysis, Design and Implementation Case Study Part II Assoc. Prof. Marenglen Biba MSc in Computer Science, UoG-UNYT Foundation Programme (C) 2010 Pearson Education, Inc. All 3-1 Further

More information

Software Testing. Integration Testing. Beat Fluri. software evolution & architecture lab

Software Testing. Integration Testing. Beat Fluri. software evolution & architecture lab Software Testing Integration Testing Beat Fluri software evolution & architecture lab V-Model Specification Implementation User needs Delivery System Spec System Integration Test Subsystem Design/Spec

More information

Chapter 11, Testing, Part 2: Integration and System Testing

Chapter 11, Testing, Part 2: Integration and System Testing Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11, Testing, Part 2: Integration and System Testing Overview Integration testing Big bang Bottom up Top down Sandwich System testing

More information

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae CS350 Lecture 2 Requirements Engineering Doo-Hwan Bae bae@se.kaist.ac.kr Contents Overview of Requirements Engineering OO Analysis: Domain modeling, Use-case, sequence, class Structured Analysis: Dataflow

More information

THIRD QUARTER ENDING 30 SEPTEMBER 2017 HIGHLIGHTS REPORT NATIONAL PAYMENT SYSTEMS

THIRD QUARTER ENDING 30 SEPTEMBER 2017 HIGHLIGHTS REPORT NATIONAL PAYMENT SYSTEMS THIRD QUARTER ENDING 3 SEPTEMBER HIGHLIGHTS REPORT NATIONAL PAYMENT SYSTEMS OCTOBER 1. OVERVIEW 1.1 The value of transactions processed through the National Payment Systems in the second quarter 3 increased

More information

Black-box Testing Techniques

Black-box Testing Techniques T-76.5613 Software Testing and Quality Assurance Lecture 4, 20.9.2006 Black-box Testing Techniques SoberIT Black-box test case design techniques Basic techniques Equivalence partitioning Boundary value

More information

Software Testing Lecture 1. Justin Pearson

Software Testing Lecture 1. Justin Pearson Software Testing Lecture 1 Justin Pearson 2017 1 / 50 Four Questions Does my software work? 2 / 50 Four Questions Does my software work? Does my software meet its specification? 3 / 50 Four Questions Does

More information

Introduction to Networks and the Internet

Introduction to Networks and the Internet Introduction to Networks and the Internet CMPE 80N Winter 2004 Lecture 18 Announcements Fourth quiz on Monday, March 1 st. Third HTML discussion session today by Kiran (before class). Summary posted on

More information

Lecture 13: Garbage Collection

Lecture 13: Garbage Collection Lecture 13: Garbage Collection COS 320 Compiling Techniques Princeton University Spring 2016 Lennart Beringer/Mikkel Kringelbach 1 Garbage Collection Every modern programming language allows programmers

More information

CSC 330 Object Oriented Software Design. Software Design Phase

CSC 330 Object Oriented Software Design. Software Design Phase CSC 330 Object Oriented Software Design Software Design Phase 1 Overview Overview Design and abstraction Action-oriented design Data flow analysis Transaction analysis Data-oriented design Object-oriented

More information

Design Better. Reduce Risks. Ease Upgrades. Protect Your Software Investment

Design Better. Reduce Risks. Ease Upgrades. Protect Your Software Investment Protect Your Software Investment Design Better. Reduce Risks. Ease Upgrades. Protect Your Software Investment The Difficulty with Embedded Software Development Developing embedded software is complicated.

More information

Lecture Notes on Garbage Collection

Lecture Notes on Garbage Collection Lecture Notes on Garbage Collection 15-411: Compiler Design Frank Pfenning Lecture 21 November 4, 2014 These brief notes only contain a short overview, a few pointers to the literature with detailed descriptions,

More information

CSE325 Principles of Operating Systems. Memory. David P. Duggan. March 6, 2010

CSE325 Principles of Operating Systems. Memory. David P. Duggan. March 6, 2010 CSE325 Principles of Operating Systems Memory David P. Duggan dduggan@sandia.gov March 6, 2010 Where is Memory? Characteristics? Issues/challenges? 3/6/12 CSE325 - Main Memory 2 Outline Memory management

More information

HSBC Talking ATMs. Instructions and Guidance Handbook

HSBC Talking ATMs. Instructions and Guidance Handbook HSBC Talking ATMs Instructions and Guidance Handbook This document provides detailed instructions and guidance on the use of our Talking ATMs. What is a Talking ATM? A Talking ATM is self-service machine

More information

Navigation and Metric Path Planning

Navigation and Metric Path Planning Navigation and Metric Path Planning October 4, 2011 Minerva tour guide robot (CMU): Gave tours in Smithsonian s National Museum of History Example of Minerva s occupancy map used for navigation Objectives

More information

Network Layer. Goals of This Lecture. Internet Reference Model. Outline of the Class

Network Layer. Goals of This Lecture. Internet Reference Model. Outline of the Class Goals of This Lecture Network Layer Kuang Chiu Huang TCM NCKU Through the lecture and in-class discussion, students are enabled to describe role and functions of the network layer, and compare different

More information

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal Administrivia Software Process CS169 Lecture 2 Added 20 more so far Will limit enrollment to ~65 students Only one TA so far Start thinking about project proposal Bonus points for proposals that will be

More information

Lecture 16: (Architecture IV)

Lecture 16: (Architecture IV) Lecture 16: (Architecture IV) Software System Design and Implementation ITCS/ITIS 6112/8112 091 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct.

More information

Homework: Simple functions and conditionals

Homework: Simple functions and conditionals Homework: Simple functions and conditionals COMP 50 Fall 2013 This homework is due at 11:59PM on Monday, September 16. If all goes well, you will download an extension to DrRacket that enables you to submit

More information

DOWNLOAD PDF FUNDAMENTALS OF DATABASE SYSTEMS

DOWNLOAD PDF FUNDAMENTALS OF DATABASE SYSTEMS Chapter 1 : Elmasri & Navathe, Fundamentals of Database Systems, 7th Edition Pearson Our presentation stresses the fundamentals of database modeling and design, the languages and models provided by the

More information

Requirements, Partitioning, paging, and segmentation

Requirements, Partitioning, paging, and segmentation Requirements, Partitioning, paging, and segmentation Main Memory: The Big Picture kernel memory proc struct kernel stack/u area Stack kernel stack/u area Stack kernel stack/u area Stack Data Text (shared)

More information

Classes and Objects. Object Orientated Analysis and Design. Benjamin Kenwright

Classes and Objects. Object Orientated Analysis and Design. Benjamin Kenwright Classes and Objects Object Orientated Analysis and Design Benjamin Kenwright Outline Review Previous Weeks Object Model, Complexity,.. What do we mean by Classes and Objects? Summary/Discussion Review

More information

Memory Systems in Pipelined Processors

Memory Systems in Pipelined Processors Advanced Computer Architecture (0630561) Lecture 12 Memory Systems in Pipelined Processors Prof. Kasim M. Al-Aubidy Computer Eng. Dept. Interleaved Memory: In a pipelined processor data is required every

More information

Association Rule Mining. Introduction 46. Study core 46

Association Rule Mining. Introduction 46. Study core 46 Learning Unit 7 Association Rule Mining Introduction 46 Study core 46 1 Association Rule Mining: Motivation and Main Concepts 46 2 Apriori Algorithm 47 3 FP-Growth Algorithm 47 4 Assignment Bundle: Frequent

More information

Testing Digital Systems I

Testing Digital Systems I Testing Digital Systems I Lecture 1: Introduction Instructor: M. Tahoori Copyright 2011, M. Tahoori TDS I: Lecture 1 1 Today s Lecture Logistics Course Outline Introduction Copyright 2011, M. Tahoori TDS

More information

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 06 Object-Oriented Analysis and Design Welcome

More information

Introduction to Parsing. Lecture 8

Introduction to Parsing. Lecture 8 Introduction to Parsing Lecture 8 Adapted from slides by G. Necula Outline Limitations of regular languages Parser overview Context-free grammars (CFG s) Derivations Languages and Automata Formal languages

More information

Standard Operating Procedure: How To Make A Bank Deposit

Standard Operating Procedure: How To Make A Bank Deposit Lockbox A term referring to a service that: 1. 2. 3. 4. 5. 6. 7. 8. collects mail delivered to a special practice Post Office Box (typically only payments) opens the mail and discards the envelopes separates

More information

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees Motivation CS389L: Automated Logical Reasoning Lecture 5: Binary Decision Diagrams Işıl Dillig Previous lectures: How to determine satisfiability of propositional formulas Sometimes need to efficiently

More information

Chapter 9 Quality and Change Management

Chapter 9 Quality and Change Management MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

Working with VIEW. Page 1

Working with VIEW. Page 1 Working with VIEW Datamatic cannot accept any responsibility, financial or otherwise, for any consequences arising out of the use of this material. The information contained herein is subject to change.

More information

Pearson Education 2007 Chapter 9 (RASD 3/e)

Pearson Education 2007 Chapter 9 (RASD 3/e) MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

The Heyseller VISA Prepaid Card is not a credit card. It is a prepaid, stored value and reloadable

The Heyseller VISA Prepaid Card is not a credit card. It is a prepaid, stored value and reloadable 1. General FAQ s: 1.1 What is the Heyseller VISA Prepaid Card? The Heyseller VISA Prepaid Card is not a credit card. It is a prepaid, stored value and reloadable payment vehicle. Once funds are deposited

More information

Working with VIEW Datamatic All rights reserved.

Working with VIEW Datamatic All rights reserved. Working with VIEW Datamatic cannot accept any responsibility, financial or otherwise, for any consequences arising out of the use of this material. The information contained herein is subject to change.

More information

Motivation for B-Trees

Motivation for B-Trees 1 Motivation for Assume that we use an AVL tree to store about 20 million records We end up with a very deep binary tree with lots of different disk accesses; log2 20,000,000 is about 24, so this takes

More information

Apache Flink. Alessandro Margara

Apache Flink. Alessandro Margara Apache Flink Alessandro Margara alessandro.margara@polimi.it http://home.deib.polimi.it/margara Recap: scenario Big Data Volume and velocity Process large volumes of data possibly produced at high rate

More information

6.896 Topics in Algorithmic Game Theory March 1, Lecture 8

6.896 Topics in Algorithmic Game Theory March 1, Lecture 8 6.896 Topics in Algorithmic Game Theory March 1, 2010 Lecture 8 Lecturer: Constantinos Daskalakis Scribe: Alan Deckelbaum, Anthony Kim NOTE: The content of these notes has not been formally reviewed by

More information

Improving our Simple Cache

Improving our Simple Cache Improving our Simple Cache SI232 Slide Set #17: More More (Hierarchy) (Chapter 7) 1. How to handle a write? 2.Efficient Bit Manipulation 3.How to handle a miss? 4.How to eliminate even more conflicts?

More information

When Brunel s ship the SS Great Britain was launched into the River Thames, it made such a splash that several spectators on the opposite bank were

When Brunel s ship the SS Great Britain was launched into the River Thames, it made such a splash that several spectators on the opposite bank were C. A. R. Hoare Emeritus Professor of Computing at the University of Oxford and is now a senior researcher at Microsoft Research in Cambridge, England. He received the 1980 ACM Turing Award for his fundamental

More information

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only Chapter 22 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014

More information

CSE325 Principles of Operating Systems. File Systems. David P. Duggan. March 21, 2013

CSE325 Principles of Operating Systems. File Systems. David P. Duggan. March 21, 2013 CSE325 Principles of Operating Systems File Systems David P. Duggan dduggan@sandia.gov March 21, 2013 External View of File Manager Application Program mount() write() close() open() lseek() read() WriteFile()

More information

Testing. Unit, integration, regression, validation, system. OO Testing techniques Application of traditional techniques to OO software

Testing. Unit, integration, regression, validation, system. OO Testing techniques Application of traditional techniques to OO software Testing Basic ideas and principles Traditional testing strategies Unit, integration, regression, validation, system OO Testing techniques Application of traditional techniques to OO software Testing-11,

More information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 11/10/2015 http://cs.gsu.edu/~ncasturi1 Class announcements Final Exam date - Dec 1 st. Final Presentations Dec 3 rd. And

More information

1. The narratives, diagrams, charts, and other written materials that explain how a system works are collectively called

1. The narratives, diagrams, charts, and other written materials that explain how a system works are collectively called CH 3 MULTIPLE CHOICE 1. The narratives, diagrams, charts, and other written materials that explain how a system works are collectively called a) documentation. b) data flows. c) flowcharts. d) schema.

More information

The IA-64 Architecture. Salient Points

The IA-64 Architecture. Salient Points The IA-64 Architecture Department of Electrical Engineering at College Park OUTLINE: Architecture overview Background Architecture Specifics UNIVERSITY OF MARYLAND AT COLLEGE PARK Salient Points 128 Registers

More information

Testing Theory. Agenda - What will you learn today? A Software Life-cycle Model Which part will we talk about today? Theory Lecture Plan

Testing Theory. Agenda - What will you learn today? A Software Life-cycle Model Which part will we talk about today? Theory Lecture Plan heory Lecture Plan 2 esting heory Lecture 8 Software Engineering DDC88/DDC93 autumn 28 Department of Computer and Information Science Linköping University, Sweden L - Course Introduction and Overview L2

More information

Constrained Optimization with Calculus. Background Three Big Problems Setup and Vocabulary

Constrained Optimization with Calculus. Background Three Big Problems Setup and Vocabulary Constrained Optimization with Calculus Background Three Big Problems Setup and Vocabulary Background Information In unit 3, you learned about linear programming, in which all constraints and the objective

More information

Exemplar for Internal Achievement Standard. Digital Technologies Level 1

Exemplar for Internal Achievement Standard. Digital Technologies Level 1 Exemplar for internal assessment resource Digital Technologies for Achievement Standard 91081 Exemplar for Internal Achievement Standard Digital Technologies Level 1 This exemplar supports assessment against:

More information

CMPT 354 Database Systems I. Spring 2012 Instructor: Hassan Khosravi

CMPT 354 Database Systems I. Spring 2012 Instructor: Hassan Khosravi CMPT 354 Database Systems I Spring 2012 Instructor: Hassan Khosravi Textbook First Course in Database Systems, 3 rd Edition. Jeffry Ullman and Jennifer Widom Other text books Ramakrishnan SILBERSCHATZ

More information

Online Banking Service FAQ(Corporate)

Online Banking Service FAQ(Corporate) Online Banking Service FAQ(Corporate) Getting Started 1. How do I apply for BOCNET (Bank of China online banking Service)? 2. What are services available on Bank of China Online Banking (BOCNET)? 3. What

More information

Database Design. 6-1 Artificial, Composite, and Secondary UIDs. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Database Design. 6-1 Artificial, Composite, and Secondary UIDs. Copyright 2015, Oracle and/or its affiliates. All rights reserved. Database Design 6-1 Objectives This lesson covers the following objectives: Define the different types of unique identifiers (UIDs) Define a candidate UID and explain why an entity can sometimes have more

More information

Customer Bank Account System Requirement

Customer Bank Account System Requirement Customer Bank Account System Requirement Background Techlabs is a training expert and is looking at Customer Bank Account Management System as a Standard Reference for students who will implement customer

More information

CS 4410 Operating Systems. Page Replacement (2) Summer 2016 Cornell University

CS 4410 Operating Systems. Page Replacement (2) Summer 2016 Cornell University CS 4410 Operating Systems Page Replacement (2) Summer 2016 Cornell University Today Algorithm that approximates the OPT replacement algorithm. 2 Least Recently Used (LRU) Page Replacement A recently used

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/10/2014 Final Exam date - Dec 10 th? Class announcements Final Presentations Dec 3 rd. And Dec 8 th. Ability

More information

Banking in QuickBooks Online

Banking in QuickBooks Online QuickBooks Online Student Guide Chapter 6 Banking in QuickBooks Online Chapter 2 Chapter 6 The Banking page is where you connect your accounts and download transactions. This is sometimes known as bank

More information

Database Management Systems

Database Management Systems Database Management Systems Distributed Databases Doug Shook What does it mean to be distributed? Multiple nodes connected by a network Data on the nodes is logically related The nodes do not need to be

More information

Header Description: This use case describes how the ATM user withdraws cash from the ATM.

Header Description: This use case describes how the ATM user withdraws cash from the ATM. Use Case: Withdraw Cash Use Case #: UC1 Author: Iteration: JAD Team Detailed Header Description: This use case describes how the ATM user withdraws cash from the ATM. Business Trigger(s): Customer needs

More information

Online Banking Service FAQ(Corporate)

Online Banking Service FAQ(Corporate) Online Banking Service FAQ(Corporate) Online Banking Service FAQ(Corporate)... 1 1. How do I apply for BOCNET (Bank of China online banking service)?... 2 2. What are services available on Bank of China

More information

Graph Matching. walk back and forth in front of Motion Detector

Graph Matching. walk back and forth in front of Motion Detector Graph Matching Experiment 1 One of the most effective methods of describing motion is to plot graphs of distance, velocity, and acceleration vs. time. From such a graphical representation, it is possible

More information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 03: Black-Box Testing (advanced) Part 2 Dietmar Pfahl Spring 2018 email: dietmar.pfahl@ut.ee Black-Box Testing Techniques Equivalence class partitioning (ECP) Boundary

More information

Static Modeling. SWE 321 Fall2014

Static Modeling. SWE 321 Fall2014 Static Modeling SWE 321 Fall2014 Copyright 2014 Hassan Gomaa and Robert Pettit All rights reserved. No part of this document may be reproduced in any form or by any means, without the prior written permission

More information

Communication Networks

Communication Networks Communication Networks Prof. Laurent Vanbever Solution: Exercises week 15 E-mail and recap E-mail Answer the following questions about e-mail with True or False and justify your choice. a) SMTP and IMAP

More information

A Transformation-Based Model of Evolutionary Architecting for Embedded System Product Lines

A Transformation-Based Model of Evolutionary Architecting for Embedded System Product Lines A Transformation-Based Model of Evolutionary Architecting for Embedded System Product Lines Jakob Axelsson School of Innovation, Design and Engineering, Mälardalen University, SE-721 23 Västerås, Sweden

More information

The Tux3 File System

The Tux3 File System Daniel Phillips Samsung Research America (Silicon Valley) d.phillips@partner.samsung.com 1 2013 SAMSUNG Electronics Co. Why Tux3? The Local filesystem is still important! Affects the performance of everything

More information

Week 9 Implementation

Week 9 Implementation Week 9 Implementation Dr. Eliane l. Bodanese What is more important From a software engineering perspective: Good Gui? does what customer wants maintainable, extensible, reusable Commented Code? how is

More information