Concepts:
Structure Testing
The concept of structural testing is used in two main context. While different
in nature, the root concept or idea behind structure testing is in both cases
arguably the same:
Topics
The older reference and arguably more established use of the term structure
testing relates to the testing of the internal structure of the software source
code. Most often this form of structure testing is performed as a "static"
as opposed to a "dynamic" test, in that the software itself is not
executed to perform the test. Diagnostic tools parse the source code , looking
for structural errors and weaknesses, typically providing a listing to enable
subsequent corrective action to be taken. Typically this is a type of test and
evaluation conducted by developers rather than system testers.
Web-based applications, (those employing Internet application technology) are
increasingly more prevalent. This movement has been encouraged by the fact that
this software development and deployment method offers organizations the ability
to take advantage of several technology enabled business benefits, such as:
- Developing an audience of customers, prospects, and business partners without
sending out a single piece of software or paper. Anyone with a browser
and access to the 'net (Internet / Intranet) can simply point their browser
to the published URL and immediately run the application.
- Centralized control and maintenance. The "thin-client/fat-server"
model of web-based applications places the application components and logic
on the web server, centralizing and simplifying control and maintenance. This
also enables developers to automatically distribute the software, once the
application is on the server, it is immediately available for all users to
execute.
While offering advantages to those employing this technology,
web-based applications increase the demands of testing. Testing of these
web-based applications, like their non-web counterparts (client/server, legacy,
etc.) requires testing to address the function and performance characteristics
of the applications. In addition, however, web-based applications have the added
need for tests that focus on the structure of the application, ensuring its well
formed and all links are valid.
Web-based applications are typically constructed using a series of documents
(both HTML text documents and GIF/JPEG graphics) connected by many static links,
and a few active, or program-controlled links. These applications may also include
"active content", such as forms, Java scripts, plug-in-rendered content,
or Java applications. Frequently this active content is used for output only,
such as for audio or video presentation. However, it may also be used for as
a navigation aid, helping the user traverse the application (web-site). This
freeform nature of the web-based applications (via its links), while being a
great strength, is also a tremendous weakness, as structural integrity can easily
be damaged.
Structure testing is implemented and executed to verify that
all links (static or active) are properly connected. These tests include:
- Verifying that the proper content (text, graphics, etc.)
for each link is displayed. Different types of links are used to reference
target-content in web-based applications, such as bookmarks, hyper-links to
other target-content (in the same or different web-site), or hot-spots. Each
link should be verified to ensure that the correct target-content is presented
to the user.
- Ensuring there are no broken links. Broken links are those
links for which the target-content cannot be found. Links may be broken for
many reasons, including moving, removing, or renaming the
target-content files. Links may also be broken due to the use of improper
syntax, including missing slashes, colons, or letters.
- Verifying there is no orphaned content. Orphaned content
are those files for which there is no "inbound" link in the
current web-site, that is, there is no way to access or present the content.
Care must be taken to investigate orphaned content to determine the cause -
is it orphaned because it is truly no longer needed? Is it orphaned due to a
broken link? Or is it accessed by a link external to the current web-site.
Once determined, the appropriate action(s) should be taken (remove the
content file, repair the broken link, or ignore the orphan, respectively).
Copyright
© 1987 - 2001 Rational Software Corporation
| |
|