
Home

About Us

Products

Process Models

SE Resources

Commentary

Contact us

|
|
|
Breaking News!
A new blog ... visit OnCenter, Roger Pressman's running commentary on the world at large
A new edition ... the 6th edition of Software Engineering is available now
A first novel ... Roger Pressman's first novel is a technothriller -- The Aymara Bridge
A new training curriculum! RSP&A has partnered with QAI to develop a comprehensive Internet-based software engineering curriculum.
A redesigned Web site ... we've done a major redesign and added many new features
|
|
|
|
|
|
|
|
|
|
|
Reference Library
Testing Strategies
|
|
This page provides access to a variety of downloadable papers that
address software testing strategies. The following topics are considered:
Debugging
General
Patterns
Strategies
A Critique of Software Defect Prediction Models [PDF]
Norman E. Fenton and Martin Neil
This paper reviews the literature on software metrics and statistical models
used to predict the number of defects in software systems. The reviews showed that
the conjecture lacks support and some models are misleading. The paper also
recommends models for software defect prediction.
Analyzing Models for Software Debugging [PDF]
Markus Stumptner, Dominik Wieland and Franz Wotawa
This paper extends the authors previous work on the representation and analysis
of Java programs for diagnosis in a new direction by providing a description and
analysis of the issues arising from handling object references in dependency-based
models of Java programs. They empirically compare dependency based models with a
value-based model using a set of example programs in terms of required user
interaction (questions put to the user) and examine and incorporate specific
interesting error categories.
A Survey of Intelligent Debugging [PDF]
Markus Stumptner and Franz Wotawa
This paper resents an overview of AI approaches to the development of intelligent debugging systems which includes tutoring systems as well as Bayesian Net formalisms to traditional debugging approaches like Algorithmic (or Declarative) Debugging. The recent use of model-based diagnosis principles as a basis for software debugging research is also examined.
Automated Debugging: Are We Close? [PDF]
Andreas Zeller
This article discusses a new algorithm called Delta Debugging that uses the
results of automated testing to determine a set of relevant failure-inducing
circumstances. Topics include: how delta debugging works, simplifying program
input, simplifying user interactions, isolating differences, and finding
failure-inducing code changes.
Debugging Temporal Specifications with Concept Analysis [PDF]
Glenn Ammons, David Mandelin, Rastislav Bodik and James R. Larus
This paper discusses a method for debugging specifications. The model uses
concept analysis to automatically group the traces into highly similar clusters.
These clusters are examined instead of individual traces leading to less work.
End-User Debugging for E-Commerce [PDF]
Henry Lieberman and Earl Wagner
This paper discusses the need for end-user debugging tools. These debugging
tools would solve many simple problems like mistyped numbers or lost orders. These
tools would benefit both the users and the businesses.
Faults of Omission [PDF]
Brian Marick
This paper discusses faults of omission of which studies have shown to be a
common fault in code. This article discusses how to prevent faults of omissions.
Software Debugging, Testing, and Verification [PDF]
B. Hailpern and P. Santhanam
In commercial software development organizations, increased complexity of
products, shortened development cycles, and higher customer expectations of quality
have placed a major responsibility on the areas of software debugging, testing,
and verification. As this issue of the IBM Systems Journal illustrates, there are
exciting improvements in the underlying technology on all three fronts. However,
we observe that due to the informal nature of software development as a whole, the
prevalent practices in the industry are still immature, even in areas where improved
technology exists. In addition, tools that incorporate the more advanced aspects of
this technology are not ready for large-scale commercial use. Hence there is reason
to hope for significant improvements in this area over the next several years.
The Debugging Scandal and What to Do About It [HTML]
Henry Lieberman
This article discusses the debugging problem and how it has been ignored by the
computer science community. Debugging tools can be used to help the process and
are also necessary for the incremental evolution of software. This article also
mentions many ideas that have potential for improving debugging process.
Back to the top
Compile - Time Debugging of C Programs Working on Trees [PDF]
Jacob Elgaard, Anders Møller and Michael I. Schwartzbach
This paper discussed a technique for automatically verifying the safety of
simple C programs working on tree-shaped data structures. This paper does not
consider the complete behavior of programs, but only attempts to verify that they
respect the shape and integrity of the store. A verified program is guaranteed to
preserve the tree-shapes of data structures, to avoid pointer errors such as NULL
dereferences, leaking memory, and dangling references, and furthermore to satisfy
assertions specified in a specialized store logic.
Debugging 101 [PDF]
Peter Knapp
The aim of this paper is to show a beginning user of SAS how to debug SAS
programs. New users often review their logs only for syntax errors that appear in
red. They neglect to look for other types of coding errors. In addition, once all
coding errors are cleaned up, new users can find that their programs do not
produce the desired results. To produce the desired results they need to uncover
logic errors that are often more difficult to find than coding errors. By
demonstrating various debugging techniques, the author plans to show that with a
little practice, one can master the art of debugging SAS programs.
Debugging Tools [PDF]
Author Unknown
This section describes at an introductory level the use of debugging tools
that are available on most UNIX systems. Additional information on these tools for
advanced use should be obtained from the man pages as well as hard copy
manuals.
Debugging with the Integrated Development Environment
Version 5.0 [PDF]
IBM
This book on debugging VisualAge C++ Professional for AIX includes the following
chapters: debugging with VisualAge C++, prepare a program for debugging, start or
stop debugging a program, debug logic and program flow, and debug variable
contents and memory.
IDebug: An Advanced Debugging Framework for Java [PDF]
Joseph R. Kiniry
The IDebug debugging framework is an advanced debugging framework for Java.
This framework provides the standard core debugging and specification constructs
such as assertions, debug levels and categories, stack traces, and specialized
exceptions. Planned improvements include support for debugging distributed object
systems via currying call stacks across virtual machine contexts and debug
information logging with a variety of networking media including unicast, multicast,
RMI, distributed events, and JavaSpaces.
Intro to MS Visual C++ Debugging [PDF]
Barnette ND and McQuain WD
This slide presentation outlines how to use the MS Visual C++ GUI Debugger.
Topics include: debugger access, begin debug trace, trace controls, variable
examination, breakpoints, and conditional breakpoints.
Linux Debugging Techniques [PDF]
Ross Mikosh
This slide presentation covers Linux debugging techniques in the following
topics: types of problems, tools, error and debug messages, handling failures,
kernel investigation, handling a system crash, oops analysis example, LKCD/Lcrash,
and more information.
Notes to Accompany Debugging Lecture [PDF]
Jamie Blustein
This lecture gives some general advice to debugging code. Examples of real
situations are used.
Back to the top
A Practical Approach to Validating and Testing Software Systems Using Scenarios [PDF]
Johannes Ryser and Martin Glinz
Scenarios (use cases) are used in most modern object oriented software
development methods to help elicit and document user requirements. Yet they are
seldom used to derive concrete system test cases. This paper presents a procedure
to use scenarios in a defined way to systematically derive test cases for system
test. This is done by formalization of natural language scenarios into statecharts,
annotation of statecharts with helpful information for test case creation/generation
and by path traversal in the statecharts to determine concrete test cases.
It's Testing Time!
Patterns for Testing Software [PDF]
Manfred Lange
This paper contains a collection of test techniques that are focused on
object-oriented programming languages. This paper also describes some patterns
of scenarios that occur repeatedly in testing software.
Software Testing Best Practices [PDF]
Ram Chillarege
This report contains 28 best practices that contribute to improve software
testing and which several organizations have gained from them.
Validation and Testing [PDF]
Dieter Hogrefe, Beat Koch and Helmut Neukirchen
Use of formal specifications provides the basis for allowing validation of the
specification towards expected behavior, and it allows testing of an implementation
according to the formal specification. This paper introduces and provides an
overview of techniques for validation and testing.
What is Software Testing? And Why is it so Hard? [PDF]
James A. Whittaker
This article discusses software testing using four phases. This article
investigates problems testers face and also identifies technical issues that a
solution must address.
Back to the top
A New Technique to Ensure Quality of Test Patterns [PDF] *FEE*
Peng-Cheng Koo and San-Liek Pang
As the complexity of VLSI devices increases so do the number and size of test
patterns which makes it more difficult to perform exhaustive checks. This paper
presents a technique called PinCheck that detects all active pins in a test pattern
electrically using an ATE.
Architecture Achilles Heel Analysis [PDF]
Elisabeth Hendrickson and Grant Larsen
This objective of this report is to identify areas for bug hunting- relative to
the architecture. Understanding the big picture of the system under test can help
testers focus their energy appropriately. Without this understanding it's very easy
to spend large amounts of time investigating relatively minor bugs or risks.
Automating Test Oracles and Decomposability [PDF]
Keith Stobie
This paper uses the concept of patterns to describe the details of why a
particular test result handling method is chosen to automate a test design.
Failing Embedded COM Objects [PDF]
Author Unknown
This report outlines tests to do to show that windows based programs fail
when inserting embedded OLE/COM objects.
Pair Testing
Version 0.3 - draft [PDF]
Brian Marick
This paper discusses team testing. Topics include: working alone is working
without a safety net, and begin by having people work in pairs on high-creativity,
high-discipline, or high-concentration tasks where two people can focus on the
same object of work.
Pair Testing (aka Extreme Testing) [PDF]
James Bach and Sam Guckenheimer
This paper discusses pair testing A description is given, six
context/problem/solution scenarios relating to pair testing are mentioned, and
the solution and forces are also discussed.
Patterns for Java Program Testing [PDF]
Marco Torchiano
There are several basic Java testing techniques, which are in common use
among the programmers. This paper proposes to use patterns to describe such
techniques and to arrange the patterns in a pattern language. This paper is
concerned with class-level and package-level tests. The paper focuses on idioms
and basic design patterns.
Back to the top
A Manager's Guide to Evaluating Test Suites [PDF]
Brian Marick, James Bach and Cern Kaner
This paper discusses how to know how good a suite of tests are. Steps are
given to evaluate a test suite one time. Evaluation should take place several
times throughout the project.
An Evaluation Scheme of Software Testing Techniques [PDF]
Huey-Der Chu
This paper briefly surveys the software testing techniques based on the works
of classification and evaluation. In addressing the two major software testing
issues, this paper presents a scheme by a data flow diagram (DFD) for evaluating
software testing techniques. Following this diagram step by step, all the activities
involved and the relative techniques were described. A strategy proposal for
software testing in the development of applications is advocated later.
Principles and Methods of Testing Finite State Machines
- A Survey [PDF]
David Lee and Mihalis Yannakakis
Because of its practical importance and theoretical interest, the problem of
testing finite state machines has been studied in different areas and at various
times. The area seemed to have mostly died down until a few years ago when the
testing problem was resurrected and is now being studied anew due to its applications
to conformance testing of communication protocols. While some old problems which
had been open for decades were resolved recently, new concepts and more intriguing
problems from new applications emerge. This paper reviews the fundamental problems
in testing finite state machines and techniques for solving these problems, tracing
progress in the area from its inception to the present and the state of the art.
Software Test Technologies Report
Test and Reengineering Tool Evaluation Project [PDF]
Gregory T. Daich, Gordon Price, Bryce Ragland and Mark Dawood
This report discusses software testing technologies, test preparation, test
execution, test evaluation, and source code static analysis tools. The report also
explains how features of current testing technologies can improve software
development and maintenance.
Testing Evolving Software [PDF]
Mary Jean Harrold
Because regression testing is important and expensive, many researchers have
focused on ways to make it more efficient and effective. Research o regression
testing spans a wide variety of topics, including test environments and automation,
capture-playback mechanisms, regression-test selection, coverage identification, test
suite maintenance, regression testability, and regression-testing process. This paper
discusses the state of the art in several importation aspects of regression testing
and presents some promising areas for future research.
The Tester's Triad: Bug, Product, User [PDF]
Brian Marick
This paper discusses that good testers pay attention to three things: using
bugs (bug reports), using product structure (build a mental model of product
internals), and using the user (understand how users spend their days).
Back to the top
| |