Transaction testing is
While creating at least one test case for the main success scenario and at least one for each extension provides some level of test coverage, it is clear that, no matter how much we try, most input combinations will
A use case is a scenario that describes the use of a system by an actor to accomplish a specific goal. An "actor" is a
A major component of transaction testing is test data. Boris Beizer suggests that 30 percent to 40 percent of the effort in transaction testing is generating, capturing, or extracting test data. Don't forget to include resources (time and people) for this work in your project's budget.
While creating at least one test case for the main success scenario and at least one for each extension provides some level of test coverage, it is clear that, no matter how much we try, most input combinations will
Given the "Register For A Course" use case for the Stateless University Registration System described previously, create a set of test cases so that the main success scenario and each of the extensions are
( 1990 ). Software Testing Techniques (Second Edition). Van Nostrand Reinhold.
( 1995 ). Black-Box Testing: Techniques for Functional Testing of Software and Systems. John Wiley & Sons.
( 2000 ). Writing Effective Use Cases . Addison-Wesley.
( 1999 ). UML Distilled: A Brief Guide to the Standard Object Modeling Language (2 nd Edition) . Addison-Wesley.
( 1992 ). Object-Oriented Systems Engineering: A Use Case Driven Approach . Addison-Wesley.
White box testing is a strategy in which testing is based on the internal paths, structure, and implementation of the software under test (SUT). Unlike its complement, black box testing, white box testing
The general white box testing process is:
The SUT's implementation is
Paths through the SUT are identified.
Inputs are
The tests are run.
Actual outputs are compared with the expected outputs.
A determination is made as to the proper functioning of the SUT.
White box testing can be applied at all levels of system development—unit, integration, and system. Generally white box testing is equated with unit testing performed by developers. While this is correct, it is a narrow view of white box testing.
White box testing is more than code testing—it is
path
testing. Generally, the paths that are
White box testing has four distinct disadvantages. First, the number of execution paths may be so large than they cannot all be tested. Attempting to test all execution paths through white box testing is generally as infeasible as testing all input data combinations through black box testing.
Second, the test cases chosen may not detect data sensitivity errors. For example:
p=q/r;
may execute correctly except when r=0.
y=2*x // should read y=x 2
will pass for test cases x=0, y=0 and x=2, y=4
Third, white box testing assumes the control flow is correct (or very close to correct). Since the tests are based on the existing paths, nonexistent paths cannot be
Fourth, the tester must have the programming skills to understand and evaluate the software under test. Unfortunately, many testers today do not have this background.
When using white box testing, the tester can be sure that every path through the software under test has been identified and tested.