Notes About Testing and Design Tools
Long-term goal: To understand the relationship between testing methodologies
and design methodologies and how tools may support this relationship.
Short-term goal: To find testing tools which are integrated with
design tools.
So far, this page consists of rough notes about such pairs of design
and testing tools (or tools which provide both testing and design functionality).
Company: Rational
RequisitePro:
"Team-Based Requirements Management". The tools allows users to create
and maintain a hierarchical list of requirements for a system. The
requirements can have attributes and can be sorted and prioritized.
Related requirements can be linked together. When requirements change,
the history records information about the change (when, by whom, why).
It links Microsoft Word together with special software for maintaining
the requirements database. From this, I would infer that the requirements
are expressed in natural language rather than a formal notation.
There are templates available for compliance with "IEEE, ISO, SEI CMM and
Rational Objectory ProcessÔ standards".
Quotes from Rational's web site about integration:
RequisitePro's integration with Rational RoseÔ,
the award-winning visual modeling tool, links requirements to entities
within Rose. This integration ensures that the software design meets the
user, system and software requirements.
By integrating with Rational ClearCaseÔ
, Microsoft SourceSafeÔ and INTERSOLV
PVCS Version ManagerÔ, the leading
configuration management products for software teams, RequisitePro archives
and supports "check in/check out" of the project. With this integration,
you can preserve your requirements together with the entire development
project.
RequisitePro also provides traceability to test plans. You can export
test requirements into Rational's SQA SuiteÔ
to automate application testing. By linking requirements from RequisitePro
to specific test suites and procedures, developers and testers can quickly
and effectively implement requirements-based testing.
RationalRose:
"graphical component modeling and development tool". Uses UML (Unified
Modeling Language) and related notations to model software. Multi-language
support. Thirty-day evaluation copy available. The online documentation
mentions that Rose is integrated with Requisite Pro and with SQA Suite,
but gives no details.
SQA Suite:
An integrated set of testing tools. See description
in our list of testing tools.
Quote from web site: (I found no more details about integration with
the other tools).
If the development team is using Rational Rose to model
the software or Rational RequisitePro to develop traceable requirements,
requirements can be automatically loaded into the SQA Repository from these
packages to drive your requirements-based testing effort.
Summary: Rational's Rose, Requisite Pro and SQA Suite are integrated,
but I could find little detail about exactly how this works. It sounds
like you can link requirements from Requisite Pro to test cases and suites
in SQA Suite, to identify which requirements are being tested. It's
not clear to me how Rational Rose fits in and if it in fact has any integration
with testing.
Apex & Testmate:
Apex is a design and development tool, integrated with Rational Rose.
You use UML for system design and Apex supports an iterative model of system
development, in which the design and code may both be modified. Testmate
can use the design to generate test drivers, stubs, and functional or structural
test data.
Company: Centerline
Aqua
is an "Application Delivery Management System". Its focus is on managing
the entire development lifetime and on integrating QA into the development
process. It can be integrated with Centerline's many testing tools,
as well as numerous others. It's not really a design tool, but it
does allow testing activities to be identified with specific product requirements.
Company: Telelogic
SDT and ITEX are part of a collection of tools designed for real-time
distributed systems. SDT is a design tool using the object-oriented
design language SDL. It provides facilities for developing and refining
a design, going from abstract to concrete, and also for analyzing a design
for correctness. ITEX is a testing tool using the TTCN test-description
language. It can generate test cases "semi-automatically" from the
SDL design, or test hand-written test cases against the design.
Company: Cayenne
Ensemble is a reverse-engineering
tool to aid in understanding, using and modifying existing C software.
It generates many different kinds of information about a system, including
graphical views of control a data flow, complexity metrics, and various
kinds of reports. Ensemble
Test is a part of the system which automatically generates functional
test cases and measures test coverage. It's not clear from the information
on the web how tightly these functions are integrated -- i.e. whether the
testing facility actually uses any of the information generated by the
rest of the tool.
Company: Aonix
Software Through
Pictures supports the entire development process, from design through
testing. Software is designed using one of several modeling
methods such as UML. As code is developed, the system ensures that
the model and the code stay in synch. The test case generator generates
test cases automatically from specification information extracted from
the system model. (You can generate test cases for unit, integration
and system testing.) These test cases may be executed by one of several
tools from other manufactures which may be integrated into the system.
Company: Software Emancipation
Discover
is a set of many integrated products to improve the entire development
process. It uses an "information model" of the software; it doesn't
identify any particular modeling method such as UML. It sounds like
you can automatically generate a model from existing software, or can create
or edit a model directly and even generate some software from the model.
Testlink/sw is a tool that performs two testing functions. First,
it links test cases to individual requirements. Second, for regression
testing, it will figure out which tests need to be re-run after code is
modified.
Company: Verilog
ObjectGeode
is a toolset for the design, development and testing of real-time and distributed
systems. The user creates a model with the OMT, SDL and MSC notations,
using graphical editors and browsers. (The company is currently developing
an added UML capability.) The model can be checked before coding
with simulation formal verification tools. Another tool automatically
generates C/C++ code (with some help from the user?). Other
tools generate TTCN tests from the model and can view actual execution
of the system and compare its behavior with the behavior predicted by the
model.
Company: Compuware
I've included this company in the list because it has a development
environment that can be integrated with Rational Rose to provide object
modelling facilities, and because it also has several testing tools.
The on-line information is almost exclusively marketing talk and I haven't
been able to sort out whether the testing tools are integrated in any way
with design methodology.
Company: Teradyne
TestMaster
is a testing tool providing automatic test generation and test execution.
The Software Methods and Tools page says it's geared specifically towards
telecommunications applications; Teradyne's own web page makes it sound
more general. Testmaster generates black box test cases automatically
from a functional model of the system (using Extended Finate State Machines).
It includes facilities for developing this model. The literature
implies that this model should be used for developing the code also, but
I couldn't find any evidence of integration with a development system.
Company: Imperial Software Technology
X-Designer is a tool
for designing GUI applications. The user builds a design and X-Designer
generates code from it, with a choice of languages and platforms.
A capture-and-replay capability is included for testing. I can't
find a good description of what design notation is used, or an indication
of whether there's any interaction between the design and testing facilities.