The following testing guidelines will help you debug your
extensions. Although you may not have access to both a Macintosh and
a Windows system, may not have different versions of Netscape, and so
on, please follow as much of the test plan as you can. Always perform
the installation and compatibility tests, no matter what kind of extension
you're testing.
Be sure to test your extension in a variety of scenarios.
It may work in exactly the case it was designed for, but fail miserably
in any other case. Due to the scope and variety of possible extensions,
this test plan does not thoroughly cover every way in which an extension
can be tested, nor does it necessarily reflect the testing process that's
performed at Macromedia. Treat this plan as a starting point, a minimum
standard that your extension should be able to pass, and perform further
tests as appropriate.
After you submit your extension to Macromedia for certification,
it will be further tested by Ma
cromedia Quality Assurance. QA will send
you a list of any problems encountered; you can then fix the problems
and resubmit the extension. However, you're expected to do thorough testing
before submitting the extension; don't rely on Macromedia to do all your
testing.
Testing
objects
Perform these tests if your extension is an object.
Test the object's user interface:
- Launch Dreamweaver and open the Object palette.
- Make sure the object has an icon in the Object palette.
(Every object in Dreamweaver should have a unique 16 x 16 pixel GIF
icon.)
- Make sure the name of the object in the Insert menu
is correct and makes sense.
- Move the pointer over the object icon in the Object
palette and make sure the tooltip indicates what the object does.
Insert the object:
- Insert the object using the Insert menu. If a parameter-entry
dialog box appears, verify the following:
Default values for all fields make sense.
The insertion point is in the first text field by
default (and the default value, if any, is selected).
Layout is readable and makes sense visually/logically
(follow the "UI Guidelines for Extension Developers").
Pressing Tab moves through the fields in a reasonable
order.
- If there is a Help button in the parameter-entry dialog
box, click it and verify that it does the right thing (opens an appropriate
page in a browser, for example).
- Back in the parameter-entry dialog box, click OK to
insert the object with default values.
- Verify that no error occurs when the default-valued
object is inserted.
- Insert the object again, and enter nondefault values
in the dialog box. Click OK to insert the object. Verify that these
values are reflected in the HTML code and in the Property inspector
(if there is an inspector for the object).
- Insert the object again and enter invalid data in each
field. Try leaving the field blank, using large or negative numbers,
using invalid characters (such as /, ?, :, *, and so on), and using
letters in numeric fields. Generally, you should allow the user to
enter an invalid value or blank field that doesn't cause a display
problem and doesn't crash Dreamweaver. For more information, see "UI Guidelines for Extension Developers."
Check HTML and browser display:
- Using the HTML Source inspector, verify that the correct
HTML was inserted.
- Click the object's icon in the Object palette and verify
that the correct HTML was inserted.
- Drag and drop the object out of the Object palette and
verify that the correct HTML was inserted.
-
Preview in the following browsers, on both Windows
and Macintosh (or as many of these browsers and platforms as you
have access to). All objects should work properly in any 4.0 or later
browser, and should either work properly or fail gracefully on any
3.0 browser.
- Internet Explorer 4.0
- Internet Explorer 5.0
- Netscape Navigator 3.0
- Netscape Navigator 4.04/4.06
- Netscape Navigator 4.7
Using the object:
Spend 10-15 minutes using the object. Make sure your testing
includes these tasks:
- Run the Property inspector tests on any object that
has a Property inspector.
- Use the object with other Dreamweaver objects (insert
it in a layer, a table, and so on).
Verify that the object's user interface is relatively intuitive
and that the object works when previewed in a browser.
Testing
Property inspectors
Perform these tests if your extension is a Property inspector.
- Verify that the Property inspector appears when the
correct kind of item is selected in either the Document window or the
HTML Source inspector (and that the Property inspector doesn't appear
when other items are selected).
- Make sure the Property inspector is visually acceptable
(follow the "UI Guidelines for Extension Developers"):
- The ordering and layout of items makes visual
and logical sense.
- The text is readable and large enough.
- The text fields are long enough to accommodate
the information they'll hold (for example, you should be able to
see all seven characters in a text field for a color value).
- Make sure all important attributes of a given tag are
included in the Property inspector.
- Click each of the Property inspector's buttons and verify
the following:
- Color picker icons work.
- File browse icons work.
- The Help button (if there is one) works.
- Edit values in the Property inspector and verify that
the changes are reflected in both the Document window and the HTML
Source inspector.
- Edit values in the HTML Source inspector and verify
that the changes are reflected in both the Document window and the
Property inspector.
- Verify that other custom Property inspectors (such as
those for
<head>
area items like Title) still work. If any inspector fails to appear when it
should, check your canInspectSelection()
function—it's probably not specific enough.
Testing
commands
Perform these tests if your extension is a command.
For commands that are specific to an object
or tag (such as Format Table):
- Select an appropriate object and make sure the command
is enabled in the Commands menu.
- Select an object that the command doesn't apply to and
make sure the command is disabled in the Commands menu.
- Verify that the command is enabled when the insertion
point is inside the object (for objects like layers and tables), even
For commands that use dialog boxes:
- Select an appropriate object and choose the command
from the Commands menu.
- Verify the following:
- Default values for all fields make sense.
- The insertion point appears in the first text field
(and the default value, if any, is selected) by default.
- Layout is readable and makes sense visually/logically
(follow the "UI Guidelines for Extension Developers").
- Pressing Tab moves through the fields in a reasonable
order.
If there is a Help button, click it and verify that
it does the right thing (opens an appropriate page in a browser, for
example).
- Back in the dialog box, click OK to use the command
with default values.
- Verify that no error occurs when the default-valued
object is inserted.
- Choose the command again, and enter nondefault values
in the dialog box. Click OK to run the command. Verify that the values
you entered are reflected in the HTML code and in the Property inspector
(if there is an inspector for the object), as appropriate.
- Choose the command again, and enter invalid data in
each field of the dialog box. Try leaving the field blank, using large
or negative numbers, using invalid characters (such as /, ?, :, *,
and so on), and using letters in numeric fields. Generally, you should
allow the user to enter an invalid value or blank field that doesn't
cause a display problem and doesn't crash Dreamweaver. See the user
interface guidelines document for more information.
Check command and browser display:
- Run the command and verify that the command does what
you expect it to.
- Preview in the following browsers, on both Windows and
Macintosh (or as many of these browsers and platforms as you have access
to). Any changes made by a command should appear properly in any 4.0
or later browser, and should either appear properly or fail gracefully
in any 3.0 browser.
- Internet Explorer 4.0
- Internet Explorer 5.0
- Netscape Navigator 3.0
- Netscape Navigator 4.04/4.06
- Netscape Navigator 4.7