Lecture- 6 7 Transaction Flow Testing
-
Upload
vanessa-mitchell -
Category
Documents
-
view
7 -
download
0
description
Transcript of Lecture- 6 7 Transaction Flow Testing
-
Software Engineering
MCA-303
Dr. K.P.JayantSenior Associate Professor, MCA DepartmentABES Engineering College, Ghaziabad
-
*
Sub Topic NosSub Topic nameLecturer NoSlide Nos1Transaction flow Testing: Overview L1 32Transaction flow GraphL263Transaction flow testing techniquesL318
-
ref boris beizer*Definitions of Transaction,Transaction-flow, TFG
Transaction
is a unit of work seen from systems user point of view.
consists of a sequence of operations performed by a system, persons or external devices.
is created/ begin (birth) due to an external act & up on its completion (closure), it remains in the form of historical records.
Since the transaction is no longer in the system, except in the form of historical recordsU2
ref boris beizer
-
ref boris beizer*Definitions of Transaction,Transaction-flow, TFGTransaction-flow
Transaction-flow represents a systems processing. Functional testing methods are applied for testing T-F.
Transaction-flow Graph
TFG represents a behavioral (functional) model of the program (system) used for functional testing by an independent system tester.
U2
ref boris beizer
-
*A Simple TransactionExample: The sequence of steps in a transaction in an online information retrieval system 1. Accept inputs 2. Validate inputs (Birth of tr.) 3. Transmit acknowledgement to the user 4. Process input 5. Search file 6. Request direction from user 7. Accept Inputs 8. Validate inputs9. Process the request10. Update file11.Transmit output12.Record transaction in log & cleanup (Closure)
Users View of a transaction: Single step Systems view : Sequence of many operationsU2-B
-
ref boris beizer*For example, an automatic bank teller machine ATM can be used for withdrawals, deposits, bill payments, and money transfers.
Furthermore, these operations can be done for a checking account, savings account, vacation account, Current Account, and so on.
Although the sequence of operations may differ from transaction to transaction, most transactions have common operations.
Such that, the automatic teller machine begins every transaction by validating the users card and password number.
ref boris beizer
-
ref boris beizer*Example of a Transaction flow (diagram)User (terminal) Terminal controller CPU
U2
ref boris beizer
-
ref boris beizer*Definitions
Transaction-flow Graph : a scenario between users & computer
Transaction-flow :an internal sequence of events in processing a transaction
Uses of Transaction-flowSpecifying requirements of big, online and complicated systems.
Airline reservation systems, air-traffic control systems.Loops are less as compared to CFG. Loops are used for user input error processingU2
ref boris beizer
-
ref boris beizer*Implementation of Transaction-FlowU2System Control Structure (architecture of the implementation) :
ref boris beizer
-
ref boris beizer*A perspective of Transaction-FlowU2Transaction-flow testing is a block box technique.
(as we assumed nothing regarding computer, communications, environment, O.S., transaction identity or structure or state.)
TFG is a kind of DFG.TFG has tokens, & DFG has data objects with history of operations applied on them.Many techniques of CFG apply to TFG & DFG
Decision nodes of TFG have exception exits to the central recovery process. So, we ignore the effect of interrupts in a Transaction-flow.
ref boris beizer
-
Transaction Flows splitting & merging decisionsref boris beizer*U2-BSplits of transactions (Births)
A decision point in TFG
BiosisMitosis
ref boris beizer
-
Transaction Flows splitting & merging decisionsref boris beizer*U2Mergers of transactions
Junction
ref boris beizer
-
TFG splitting, merging Transactionsref boris beizer*U2
NOTES:
Multiple meanings now for decision and junction symbols in a TFG.
Simple TFG model is not enough to represent multi-processor systems & associated coordination systems.
Petrinet model uses operations for all the above. But Petrinets are applied to H/W, N/W protocol testing but not Software.
ref boris beizer
-
Transaction - Flow Testing - Stepsref boris beizer*U2-B
First, Build / Obtain Transaction Flows
Represent Explicitly
Design details the Main Tr-Flows
Create From PDL
HIPO charts & Petrinet Representations
Objective Trace the transaction
ref boris beizer
-
Transaction - Flow Testing - Stepsref boris beizer*U2-B
Inspections, Reviews & Walkthroughs
Start From Preliminary Design
Conducting Walkthroughs
Discuss enough Transaction Types (98% Transactions)
User needs & Functional terms (Design independent)
Traceability to Requirements
ref boris beizer
-
Transaction - Flow Testing - Stepsref boris beizer*U2-BInspections, Reviews & Walkthroughs
Design Tests for C1 + C2 coverage
Additional Coverage (> C1+C2)
Paths with loops, extreme values, domain boundariesWeird cases, long & potentially troublesome Tr.
Design Test cases for Tr. Splits & mergers
Publish Selected Test Paths early
Buyers Acceptance functional & acceptance tests
ref boris beizer
-
Transaction - Flow Testing Techniquesref boris beizer*U2-BPath Selection
Covering Set (C1+C2) of Functionally Sensible Tr.
Add Difficult Paths
Review with designers & implementers
Exposure of interface problems & duplicated processing
Very few Implementation bugs may remain
Transaction-flow Path Covering Set belongs inSystem Feature Tests
ref boris beizer
-
Transaction - Flow Testing Techniquesref boris beizer*U2-BSensitization
Functionally Sensible Paths Simple
Error, Exception, External Protocol Interface Paths - Difficult
Testing Tr.Flows with External Interfaces
Use patches & break points, mistune, and break the rules,
ref boris beizer
-
Transaction - Flow Testing Techniquesref boris beizer*U2-BInstrumentation
Link Counters are not Useful.
Need
Trace
Queues on which Tokens resided
Entries to & Exits from Dispatcher
A Running Log
Make Instrumentation as part of System Design
ref boris beizer
-
Transaction - Flow Testing Techniquesref boris beizer*U2-BTest Data bases
Design & Maintenance of a Test Data base - Effort
Mistakes
Unawareness about design of a centrally administered test DB
Test DB design by Testers
Using one DB for all tests (need 4 to 5)
Need experienced System & Test Designers
ref boris beizer
-
Transaction - Flow Testing Techniquesref boris beizer*U2-BTest Execution
Use Test Execution Automation
Have to do a large # of Tests for C1+C2 coverage
ref boris beizer
-
Transaction - Flow Testing - Implementationref boris beizer*U2-B
Transaction based systemsTCB
Centralized, Common Processing QueuesJust O(n) Queues for Links of O(n2)
Transaction DispatcherUses tables & Finite State Machines
Recovery & Other LogsKey events in Tr Flow
Self-Test SupportPrivileged modes in Transaction control tables
ref boris beizer
-
*Q.1. Distinguish Control Flow and Transaction flow.Q.2. What is meant by transaction flow testing. Discuss its significance.