Lecture- 6 7 Transaction Flow Testing

23
Software Engineering MCA-303 Dr. K.P.Jayant Senior Associate Professor, MCA Department ABES Engineering College, Ghaziaa!

description

Lecture- 6 7 Transaction Flow Testing.ppt

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.