Tools TestSuiteDifferenceBrowser/en

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen

Overview[Bearbeiten]

This tool finds differences between two test suites and is also used to merge changes from another suite into the current edited suite. This may be either the differences between the edited project and another version in a file, or the expecco ALM repository, or a version in a source code repository, or between two suites in files. The GIT plugin and others also open this tool for merge operations.

The tool is opened to:

  • compare the edited project against a file/expecco ALM version,
    select the project item (the root item in the left tree) and choose "Contextmenu" → "Compare with Version in File..." (that menu item is also found in the "Extras" → "Tools" menu)

  • compare the edited project against a version in a version management system,
    choose "Plugins/Extensions" → "Tools" → "Productivity" → "CVS / GIT" → Compare with Version..."

  • compare individual items of the project against corresponding items in a file,
    select them in the tree, and choose "Contextmenu" → "More" → "Compare with Version in File...".

  • compare two files containing test suites,
    select "Extras" → "Tools" → "Compare two Testsuite Files..." in the main menu.

  • compare two individual tree-elements (such as two blocks) using the "Compare with each other" tree menu function.
  • resolve merge conflicts in GIT

Workflow[Bearbeiten]

The tool presents differences between a target project (left project) and another project which is typically loaded from a file or repository (right version). A merge is performed by adopting selected changes from the right version into the left version.

By default, the browser's project is shown as the left project and any merge-changes are immediately seen in the browser. Eventually, the left version (which is typically the browser's version) will contain the merged project.

However, by exchanging the left and right projects, it is possible to merge changes from the browser's version into a file version. It is also possible to load two file versions as left and right versions and merging without the rowser's project being involved (see more on these two modes of operation below).

Changes are applied semi-automatically: for elements which are only present in the right version, these can be automatically adopted.

For elements which are different, the item must be selected and adoption explicitly triggered via the "Adopt Item" button.

Be reminded, that adoption always takes the version shown on the right side into the project shown on the left side. Typically, items are adopted as a whole (i.e. if there are multiple differences such as new pins, new steps or new connections, all of them will be applied to the left project's item).
However, for simple attribute changes, which have no side effects (such as pin comments), these may also be adopted individually. For those, an "Adopt Value" button will be made visible.

Tool Layout[Bearbeiten]

The upper area is the change-selection area. It consists of 3 lists, showing elements:

  • which are only present in the loaded project (left list),
  • which are changed, i.e. different elements (middle list)
  • and items which are only present in the file or other version (right list).

Whenever an item is selected in one of the upper lists, the corresponding element is shown in the lower area. Either as single or in a side-by-side display.

The lower left area presents the individual changes (Name, Interface, Datatype, Network etc.), a diff-presentation of the complete XML representation (for experts and developers) and a definition editor.

TestSuiteDiffBrowser1.png

Filters[Bearbeiten]

The "View" - "Filter" menu contains a number of check toggles to hide items with less interresting changes (for example: geometry of steps, order of children in a folder, etc.).

Menu Functions[Bearbeiten]

File Menu[Bearbeiten]

  • Load Right Version into Browser
loads the file (or repository) version into the browser (no merging).
  • Load Merged Version into Browser
loads the current merged version into the browser
  • Merge
performs a semiautomatic merge (for differences that need no manual interaction)
  • Save merged version into file

View Menu[Bearbeiten]

  • Follow selection
the browser window will also show the item selected in the tool
  • Show all differences
dependent changes are changes in networks resulting from changed action definitions (eg. when a pin has been added or removed from an action, the corresponding steps will change as a dependent change). The presentation of those can be toggled with this menu item.
  • Filter
to hide/show individual categories of differences
  • Update
rebuild the list of changes

Button Functions[Bearbeiten]

  • Adopt Item
copy the item as defined in the compared file/repository to the merged project
  • Adopt Value
copy the selected attribute of the selected item.
This is only possible for a limited subset of an items attributes (eg. the documentation or the source).
For most tree items, it is only possible to adopt the item completely, because in most cases, changes have multiple side effects, which cannot be adopted individually.

Merging Changes from the File/Repository Version into the Current Project[Bearbeiten]

The tool can be used both to get information on what has changed, and to merge multiple projects into a single. This is done by either "adopting" individual changed attributes (select an attribute in the lower left list, and click on the appearing "Adopt Value" button), by "adopting" whole items, or by dragging elements from the upper lists back into your project. Multiple items may be selected to adopt corresponding values or items.

For items which are present in the current suite but not in the compared version, the "adopt" action is actually a "remove" action (i.e. in order to bring the edited suite to the same state as the compared version, you'd have to remove the edited version's item).

The lower definition editors are full working, except for being readonly. Thus, you can even execute the Test/Demo examples, to check for correct behavior, before adopting.

This tool is meant for interactive use; for an automatic generation of diff-lists between two versions of a test suite (for example, to automatically generate comment-text for a version management system like CVS, SVN, Mercurial or Git), use the "--diff" command line option.

Merging two File/s into a Single File[Bearbeiten]

Open the tool via "Extras" → "Compare & Repair" → "Compare Two TestSuite Files". Select the two files in the upcoming file dialogs. Merge them as usual. Use the tool's file menu to save the left version into a new file, or open a browser on the merged left version (to check if everything works).

Merging two GIT Versions[Bearbeiten]

This tool may also opened by the source code management plugins, when a suite is to be committed into a repository and a merge/conflict resolve is required.

When merging, the diff viewer will initially present your current version as the left, and the other (to be merged in) version as the right version. Your task is to generate a new, merged version from those differences.

If a common ancestor is known (which usually is), some merge operation can be performed automatically via the merge button in the toolbar:

  • all actions added by you (w.r.t. the common ancestor) and the other user (also w.r.t. the common ancestor) will be put into the final version.
  • actions which have been modified by both users will be shown In the middle: these require manual interaction and cannot be merged automatically.


Back to Online Documentation.
Back to Tools.



Copyright © 2014-2024 eXept Software AG