-->

Transaction Flow Testing Techniques in Software Testing Methodologies Unit 3

Transaction Flow Testing Techniques

Get the Transaction Flows:
v  Complicated systems that process a lot of different, complicated transactions, should have explicit representations of the transactions flows or the equivalent
v  Transaction flows are like control flow graphs, and consequently, we should expect to have them in increasing levels of details
v  The systems design documentation should contain an overview section, that details the main transaction flows
v  Detailed transaction flows are a mandatory prerequisite to the rational design of a systems functional test
Inspections, Reviews and Walkthroughs:
v Transaction flows are natural agenda for system reviews or inspections
v In conducting the walkthrough, you should:
v Discuss enough transaction types to account for 98%-99% of the transaction, the system is expected to process
v Discuss paths through flows in functional rather than technical terms
v Ask the designers to relate every flow to the specification and to show how that transaction, directly or indirectly, follows from the requirements
v Make transaction flow testing the corner stone of system functional testing, just as path testing is the corner stone of unit testing
v Select additional flow paths for loops, extreme values, and domain boundaries
v Design more test cases to validate all births and deaths
v Publish and distribute the selected test paths through the transaction flows as early as possible, so that they will exert the maximum beneficial effect on the project

Path Selection
v  Select a set of covering paths (C1 + C2) using the analogous criteria you used for structural path testing
v  Select a covering set of paths based on functionally sensible transactions as you would for control flow graphs
v  Try to find most tortuous, longest, strongest path from the entry to the exit of the transaction flow

Path Sensitization
v Most of the normal paths are very easy to sensitize. 80% - 95% transaction flow coverage (C1 + C2is usually easy to achieve
v The remaining small percentage is often very difficult
v Sensitization is the act of defining the transaction, if there are sensitization problems on the easy paths, then bet on either  bug in transaction flows or a design bug  

Path Instrumentation
v  Instrumentation plays a bigger role in transaction flow testing than in unit path testing
v  The information of the path taken for a given transaction must be kept with that transaction and can be recorded by a central transaction dispatcher or by the individual processing modules
v  In some systems, such traces are provided by the operating systems or a running log

Design and Maintain Test Database
v  Design and maintenance of the test databases constitute about 30% to 40% of the effort in transaction flow test design
v  People are often unaware that a test database needs to designed
v  Test databases must be centrally administrated and configuration controlled with a comprehensive design plan
v  Creating a comprehensive test databases is itself a big project on its own
v  It requires talented, matured, and diplomatic designers who are experienced in both system design and test design

Test Execution:
v  Commit to automation of test execution if you want to do transaction flow testing for a system of any size
v  If the numbers of test cases are limited, you need not worry about test execution automation
v  If the number of test cases run into several hundred, performing transaction flow testing to achieve (C1 + C2)  needs execution automation without which you cannot get it right

Related Posts

Post a Comment

Subscribe Our Newsletter