SOFTWARE TESTING TECHNIQUES by Boris Beizer


Every professional and commercial software development organisation spends a great deal of time in the testing and validation of their software. The testing process, driven either by legal or financial requirements, can be expensive and may thwart the planned deployment of the application. Many studies indicate that the testing process can even take three times as long as the actual coding itself. Indeed, software development done under the ISO 9000 or FDA auspices can be extremely time intensive.

This book gives a lengthy and fairly comprehensive overview of software testing that emphasizes formal models for testing. In the introduction, the author gives a general overview of the testing process and the reasons and goals for testing. He carefully distinguishes between testing and debugging, and advocates these as separate activities. Testing according to the author is done to find bugs; whereas debugging is done to find the origin of the bugs and fix them. The author characterizes testing as either functional or structural. Functional testing treats the program from the user's point of view, with inputs given to the program, and then the outputs are checked for conformance to a specified reference. Structural testing examines how the program is implemented, in terms of programming style, design, etc. The notion of an oracle is defined as any program or process that specifies the expected outcome of a collection of tests. The author clearly identifies and characterizes the different types of tests that arise in development organizations, such as unit testing, regression testing, stress testing, and integration testing.

Table of Contents:

UNIT I :
Introduction : Purpose of testing, Dichotomies, model for testing, consequences of bugs, taxonomy of
bugs

UNIT II :
Flow graphs and Path testing : Basics concepts of path testing, predicates, path predicates and achievable paths, path sensitizing, path instrumentation, application of path testing.

UNIT III :
Transaction Flow Testing : Transaction flows, transaction flow testing techniques. Dataflow testing:- Basics of dataflow testing, strategies in dataflow testing, application of dataflow testing.

UNIT IV :
Domain Testing:-domains and paths, Nice & ugly domains, domain testing, domains and interfaces testing, domain and interface testing, domains and testability.

UNIT V :
Paths, Path products and Regular expressions : Path products & path expression, reduction procedure, applications, regular expressions & flow anomaly detection.

UNIT VI :
Logic Based Testing : Overview, decision tables, path expressions, kv charts, specifications.

UNIT VII :
State, State Graphs and Transition testing : State graphs, good & bad state graphs, state testing, Testability tips.

UNIT VIII :
Graph Matrices and Application : Motivational overview, matrix of graph, relations, power of a matrix, node reduction algorithm, building tools.

Usage of JMeter and Winrunner tools for functional / Regression testing, creation of test script for unattended testing, synchronization of test case, Rapid testing, Performance testing of a data base application and HTTP connection for website access.

0/Post a reply/Replies

Previous Post Next Post