Testing JSwat

This document describes a series of tests that validate the proper operation of JSwat. When major releases of JSwat are made this checklist should be performed to ensure JSwat maintains a high level of quality. The tests described here are performed manually by developers. However, there is an extensive collection of automated unit tests, as well. See this page to learn more about those tests.

Actions

The Actions in JSwat are simply those features that are activated by either a menu item or a toolbar button. JSwat distinguishes them from the commands which have similar functionality but are invoked by typing commands into a text field. Use this checklist to test the actions.

Breakpoints

Breakpoints in JSwat are one of the most important features and require some of the most rigorous testing. Use this checklist to test the breakpoints.

Commands

The Commands in JSwat are similar to the actions except that they are invoked by typing the commands at the command input prompt. This is most useful when running JSwat in console mode or when a similar action does not exist. The commands are tested primarily with JUnit. See the test classes in the test/junit directory of the source distribution. Some commands cannot easily be tested automatically. Use this checklist to test those commands.

Console Mode

The console interface of JSwat is vastly different from the default, graphical interface, primarily because the panels and other status indicators are not available. This makes it especially important that the JSwat commands are verbose and that the program status is clearly indicated whenever it changes. Use this checklist to test the console interface.

Panels

The panels in JSwat display information about the debuggee VM being debugged. Use this checklist to test the panels.

Paths

JSwat handles the classpath and sourcepath in a very particular way. Use this checklist to ensure that the paths are being handled correctly.

Preferences

The preferences in JSwat allow the user to configure how the program looks and behaves. Use this checklist to test the preferences.

Shortcuts

Keyboard shortcuts are key combinations used to invoke certain actions in JSwat. These key combinations are often defined in the Preferences dialog of JSwat, in the "Shortcuts" category. Use this checklist to test the keyboard shortcuts.

Starting

Starting JSwat is a category of its own due to the options available when launching the program. Use this checklist to test launching the program.

Views

The source view feature of JSwat is what makes single-stepping as productive as it is. Seeing the code while stepping through it is extremely valuable, and this feature needs as much attention to testing as any other. Use this checklist to test the source view.