|
|
To compile a project, select Compile from the project’s context-sensitive menu. This will cause JEvolve to parse the project and build its abstract representation in memory. The results of parsing are echoed in the output tab at the bottom. See the following figure.
If the class path is incorrectly set, JEvolve is likely to report unresolvable errors. Next, compile the second project. The order in which various projects are compiled is not important.
After compiling the projects, select
Project->Compare from the menu. You will be shown a dialog, asking
you to specify the reference and the other project.

Usually, in terms of time line, the current project follows the reference project. Of course, you decide what the reference is and what the current project is. There is no rule here.
After specifying the projects to compare,
click OK. This will start the comparison process. Depending on the
size of each project (and your machine configuration), the comparison might
take a while. At the end, you will see two windows, one for each project,
as follows.
Fig. 3.3
You can expand the various nodes to reveal their member entities.
Special icons are used to indicate
the nature of evolution. The various icons and their interpretations are:
|
|
The element has not been modified and requires no testing. |
|
|
The element has been deleted from the project. This icon can appear only on the left pane (reference project) and signifies that there is no equivalent element in the current project. |
|
|
The element has been added to the project. This icon can appear only on the right pane (current project) and signifies that there is no equivalent element in the reference project. |
|
|
The element has been modified. When this symbol appears for an element on the right pane, it indicates that although the element has been changed, it requires no retesting. |
|
|
This icon indicates that the element has been modified and it requires retesting. It can only appear on the right pane. |
|
|
This icon implies that element has not been directly changed, but requires retesting due to some other dependent change. This icon can appear only in the right pane (current project pane). |
After expanding a node, if you click
on a member, JEvolve will automatically synchronize with the corresponding
member (if any) on the other project. It will display the exact change
with respect to that member in the Info tab at the bottom.
See below.

If you double click on that item, the editor will open the corresponding source and highlight that element.
An interesting possibility at this point is to select View File Comparison from the element’s context-sensitive menu. This will bring up a special view that shows the differences between the two versions with respect to this element. The figure below is such a differential view.
Here, red color indicates deletion and green indicates insertion.
You can thus hierarchically navigate to any element of the two projects and get a comparison view reflecting the nature of the change across them.
Configuring Atomic Changes
You can control the basis on which
JEvolve recommends retesting or no retesting when a class changes. Select
Settings-> Customize Test Requirements from
the menu. A dialog appears with a list of all atomic changes.

If you click on an atomic change,
on the right scroll area you will see a list of options applicable to that
change. In the above example, if JEvolve detects ATM1051 in a project,
it will suggest retesting the method in the class in which it has been
added as well as retesting it in the derived classes. If you wish to test
callers of this method, select the third item namely, Test all users.
Copyright © Man
Machine Systems 1997-2001.
All Rights Reserved.
We acknowledge all trademarks.