Requality: user guide


Projects


Create Requality project

  1. To create project select in main menu 'File' -> 'New' -> 'Project...'
  2. In opened dialog window choose 'Requality' -> 'Requality Project' and push 'Next' button.

    Choosу new project type

  3. On the next page input project name and push 'Finish'.


Documents


Import document

If you want to mark requirements in document, first of all you should import the document that contains text of the requirements. The requirements could be written in a free-form. Requality allows importing documents with following extensions: 'doc', 'pdf', 'htm', 'html'. Herewith Requality copies an original document, converts it to 'xhtml' and puts the resulting document to the project. The original document isn’t changed. Resulting 'xhtml' –document is a document that is used in the following work.

Requality allows importing of one document, set of documents, and folders with documents.

  1. To import document select 'Documents'node (or its sub-node). In context menu select 'Import Document...'.

  2. To select source directory push 'Browse...' to the right of the 'From directory:' field in opened 'Document Import Wizard' window and select directory where documents or files with documents are situated.

  3. There are some ways to select required document or folder:

  4. You can use document extension filter. As we wrote above Requality provides import of documents with 4 extensions: 'doc', 'pdf', 'htm' and 'html'. But you can change the default filter and try to import other documents. So if you want to import document with other extension follow these instructions:

    If you selected required extensions push 'OK'. Now documents with selected extensions are available to import.

  5. Now you should select a target folder. The target folder is a folder in Requality-project where you want your documents to be imported to. Select it in 'Into folder:' field. Default target folder is 'Documents' (the root documents folder) or its sub-folder (if you called import on it). Push 'Browse...' to the right of the 'Into folder:' field to select or create other folder. (Read more about document folders in Document folder creation.)

  6. If imported documents have the same names as documents in the project folder you can choose 'Rename existing documents' option. Just select this flag. Now imported documents will be renamed (by adding indexes) if their names are similar to the already imported documents.

  7. When importing a folder with all nested documents and sub-folders, this hierarchy is not transferred in your Requality project as default. All document from the folder and sub-folders are got into the target folder 'Documents'. If you want to save the hierarchy use 'Create folders' option in 'Document Import Wizard' window. Now all importing documents will be transferred by a hierarchy.

  8. Now if you have already chosen importing documents and selected target folder finish import by pushing 'Finish' button in 'Document Import Wizard' window.

After process finish 'xhtml'-documents appear in target folder.
Documents import window

Delete document

  1. To delete a document select it in 'Requality Explorer' view.

    1. In context menu select 'Delete Document'.
    2. Also you can use 'Delete' hotkey.
  2. Push 'OK' in the confirmation dialog to proceed document deletion.

  3. If there are marked locations in the document you want to delete, you will get one more confirmation dialog on this step. This dialog warns you that all marked locations will be deleted together with the document. If you agree and want to proceed push 'OK'. Note! All locations marked in this document will be deleted from the requirements. The requirements will remain without links to these locations.


Update document

Requality allows updating documents by transferring requirements locations from an old document version to a new one. You can read about it here: "Transferring locations to new document version".


Create documents folder

There is possibility to create folders in 'Documents' node and set documents there. It helps to comfortably organize documents in 'Requality' project.

  1. To create a documents folder select 'Documents' node or any it’s sub-folder (if exists), select 'Create Folder' in the context menu.
  2. In the opened window input folder name to the 'Enter folder name' field.
  3. The name shouldn’t replicate name of folders are on the same hierarchy level in the documents node. Otherwise you get a warning and can’t proceed.
  4. After you input a correct name push 'OK'. Now you can see this folder in 'Requality Explorer'.

And now you can import documents to the new folder.


Delete documents folder

  1. To delete a documents folder choose it in 'Requality Explorer'.

    1. Select 'Delete Folder' in the context menu.
    2. You can also use 'Delete' hotkey.
  2. Note! Folder deletion causes deletion of all nested documents and sub-folders. If you are sure push 'OK' button in a confirmation dialog to proceed.

  3. If folder being deleted or its sub-folders contain documents with marked locations you get one more confirmation dialog on this step. Note! If you delete the folder all nested documents are deleted. Thus all the locations in these documents are deleted too. If you agree and want to proceed push 'OK' button in a confirmation dialog.


Requirements

All requirements in Requality project are situated in 'Requirements' node.


Create requirement

  1. Select 'Requirements' node or any it’s sub-requirement in 'Requality Explorer'. Let it be a target requirement. In context menu select 'Create Requirement'. New requirement appears in the target requirements. An identifier is generated automatically. A name of the new requirements is empty by default. Other parameters are empty by default.


Delete requirement

Note! If you delete a requirement all its locations are deleted and all corresponding marks in the documents are deleted too.

  1. To delete the requirement choose it in 'Requality Explorer', select 'Delete Requirement' in the context menu.
  2. You can also use 'Delete' hotkey.
  3. In the opened dialog confirm deletion by pushing 'OK'.


Create requirement by selecting location

You can create a requirement in the document editor ('Markup Editor') and add the location to it at the same time.

  1. Open document where you want to mark some location for new requirement.
  2. Choose node 'Requirements' or some sub-requirement in 'Requality Explorer'. Let this requirement be a target.New requirement we want to create will be sub-requirement for the target requirement.
  3. Select text part you want to be a location in 'Markup Editor'. Note! If required location has already been marked for some requirement, you shouldn't select it in document text, just skip this step.
  4. Call context menu on selected text and choose one of two menu items:
  5. As a result, the target requirement gets new sub-requirement with the location. The text of this location is marked in the document.

You can read about simple requirement creation here: 'Create requirement'.


Context menu for marked location

Add location to requirement

A requirement can have some location (some links to text pieces marked in the document). So you can add new location to an empty requirement (which has no locations yet) or to a requirement, which has already have some locations.

  1. Open the document which text fragment you want to mark and add to the requirement.
  2. Select the target requirement in 'Requality Explorer'.
  3. Select needed text location in the document editor. Note! If required location has already been marked for some requirement, you shouldn't select it in document text, just skip this step.
  4. Call the context menu on selected text and choose one of two menu items:
  5. As the result selected location is marked in the text and is added to the target requirement.


Delete location in document editor

To delete a location from the requirement you should delete its selection in the document. Thus location will disappear from the document and from the requirement. Note! If the location belongs to several requirements at the same time, it will be deleted from all these requirements. (If you want to delete the location from the specified requirement only see Delete location in Properties view).

  1. Double-click on location in 'Properties view'. The document will be opened and scrolled to the place where the location is situated.
  2. Call the context menu on the location and select 'Remove from Requirement'.
  3. Now you can see that this location is not marked in the document anymore and there is no link to this text in the requirement 'Properties' view ('Description' tab).


Delete location in Properties view

Here is another way how to delete a location from a requirement. This way is suitable if the location belongs to more than one requirement but you want to delete it from the one specified requirement.

  1. Open 'Properties' view for the target requirement, open 'Description' tab (see Edit requirement parameters).
  2. Select required location in 'Locations' list.
  3. In context menu select 'Delete' item. Or just use Delete hot-key.


Auto-mark locations in document

'Requality' allows marking locations in document automatically. Select document in в 'Requality Explorer' and in context menu select 'HTML Headers Document Processor'. This processor allows marking HTML-headers (text inside <h1></h1>, <h2></h2> and so on) as locations. Every location is added to a new requirement.


Edit requirement parameters

To edit requirement parameters select the requirement in 'Requality Explorer' or one of its locations in 'Outline'. Now you can see requirement properties in 'Properties' view. Here we describe requirement parameters you can change manually.

  1. Id

  2. Name

  3. Attributes

  4. Alternative Description

  5. Locations

  6. Predicate


Transferring locations to new document version

Requality allows transferring locations to a new document version.

If you have a document with locations and you get a new document amended and supplemented than you may want to transfer old locations to the new document. Do the following:

  1. Be sure new document is imported to the project. If not import it to a recent project.
  2. Select the new document in 'Requality Explorer' view and select 'Update Document' in context menu.
  3. In opened window select old document.

After the processing is complete the window with information about the number of locations found in the old version and the number of locations transferred into a new version will appear. And in the Requiality Explorer view will appear small overlay icons over the requirements icons in the top right corner. Those overlays tell about the statuses of the transferred requirements and their children requirements. There are the following types of statuses:


Transferred requirements statuses


The statuses are distributed from children requirements to the parent for the following design: the parent get the worst status from all its children. The parent will have no status only in case all its children have no statuses.

Automated requirements transfer rarely may transfer all the requirements so after the transfer is finished user should carefully review the transferred and not transferred requirements and correct them is necessary. For the convenience for tracking of transferred and corrected requirements there is an option for manually changing statuses for transferred requirements. It is possible to change status only in a way to improve it, that is in order Failed -> Incomplete -> Complete. Also there is an option to remove status in any time. To change a status right click on the requirement and choose in the context menu the option "Change transferred status" and then in the pulldown choose new status or remove the old one. After the status has been removed the overlay icon will not be represented, there is no options to return that icon manually.



Changing statuses for transferred requirements.

Note. It is assumed to transfer requirements sequentially for different documents. Firstly, requirements from one document are transferred and if necessary corrected. For automated transferring of the requirements from another document it is necessary that all requirements will have no transferred statuses. User may remove the statuses manually or by deleting one of the versions of the corresponding document. Transferring requirements for few documents in the same time is not allowed.


Requirements tree sorting

In Requality project requirements could be sorted in two ways: 'By Locations' and 'By Names'. Default sorting is 'By Locations'.

To change sorting method open context menu on the project in Requality Explorer and select 'Properties'. Window with project properties will be opened. Select Requality on the left side of the window. On the right you will see properties of Requality project. In 'Sort method' drop-down list select sorting method ('By Locations' or 'By Names') and push Apply button. Now selected sorting method is set for this project.


Generate test for requirement

ATTENTION! The feature is experimental. It can be changed in further releases.

Requality allows to add new tests to a test purpose or a requirement by using extending test generator.

Requality 0.16 provides test generation by special pattern.

Tests can be generated from 'Requality Explorer':

It is also possible to add test from 'Coverage' report by pressing "Add test" button in the report view.

Also you can use Eclipse main menu -> 'New' -> 'Other' -> folder 'Requality' -> "Create Test".


Test purposes

All test purposes in Requality project are situated in 'Requirements' node in terminal requirements (requirements that have no sub-requirements).


Create test purpose

Note! Test purpose could be added only to terminal requirement

  1. In 'Requality Explorer' view select a terminal requirement where you want to add new test purpose.
  2. Open context menu and select 'Create Test Purpose'..


Edit test purpose properties

To edit test purpose parameters select this test purpose in 'Requality Explorer'. Now you can see its parameters in the 'Properties' view.

Here we describe test purpose parameters you can change manually.

  1. Id
  2. Test target
  3. Status
  4. Author
  5. Attributes
  6. Description
  7. Expected Results
  8. Predicate


Delete test purpose

  1. To delete a test purpose select it in 'Requality Explorer', in the context menu select 'Remove Test Purpose'.
  2. You also can use 'Delete' hot-key.
  3. In the opened dialog window push 'OK'.


Generate test for test purpose

Requality allows to create a new test aimed to check a test purpose in the same way as it made for requirement. More information is available in corresponding section of manual


Reports


Create report

A report could be created for any requirement. Such report includes data about selected requirement node itself and about all its sub-nodes. A report type depends on selected template.

  1. Select target requirement in 'Requality Explorer' view, select 'Generate Report' in the context menu.
  2. In the opened dialog window edit report name and push 'OK'.

You also can create a report by selecting 'Create Report Data' in the context menu of the 'Reports' node. A name of such report is generated authomatically and 'Requirements' node is set as a Root requirement.


Edit report properties

To edit report parameters select the report in 'Requality Explorer' view, you’ll see its properties in 'Properties' view.

Here we describe report parameters you can change manually.

  1. Root requirement
  2. Template
  3. Attributes


Working with 'Coverage' report

ATTENTION! The feature is experimental. It can be changed in further releases.

'Coverage' report is designed to present information about coverage of requirements and test purposes by tests.


To build coverage report its required to select source of coverage information:

  1. Create a new report.
  2. In Properties view select 'Coverage' template for the report.
  3. Open context menu for the report in 'Requality Explorer' view and select 'Update Coverage Source'.
  4. Then choose one of available coverage sources:
  5. When coverage source is chosen it is possible to generate report as usually.


Working with 'Document Model' report

ATTENTION! The feature is experimental. It can be changed in further releases.

'Document Model' report is designed to present information about coverage of document locations by tests. Working with 'Document Model' report is similar to 'Coverage' report but as a result you get a document with selected locations where the color of selection shows if this location has been covered or not.


To build coverage report its required to select source of coverage information:

  1. Create a new report.
  2. In Properties view select 'Document Model' template for the report.
  3. Open context menu for the report in 'Requality Explorer' view and select 'Update Coverage Source'.
  4. Then choose one of available coverage sources:
  5. When coverage source is chosen it is possible to generate report as usually.


Open report

  1. Select required report in 'Requality Explorer' and double click on it. The report is opened.
  2. Note! If you have changed report properties, or did some manipulations with requirements and other nodes in the target report node, or just edited them, you should note that these changes are not shown in the opened report. To re-generate the report close it and open again.


Delete report

  1. To delete the report select it in 'Requality Explorer', select 'Delete Report' in context menu.
  2. You also can use 'Delete' hot-key.
  3. In the opened dialog window push 'OK'.


UniEditor


Open UniEditor

In 'UniEditor' you can open requirements tree (with test purposes and comments). The root node of this tree is a requirement on which you called 'UniEditor'. Thus in UniEditor you can open whole requirements tree (just call 'UniEditor' on root 'Requirements' node) or some sub-tree (call it on some sub-requirement).

Select target requirement in 'Requality Explorer', in context menu select 'Edit in UniEditor'.


Add new requirements in UniEditor

  1. Select a requirement in 'UniEditor'.
  2. Push menu button in the upper-right corner of the requirement field and select in the menu one of two items:


Delete requirement in UniEditor

Note! When deleting requirement its sub-tree is deleted too, including nodes of all types (requirement, test purposes, comments).

  1. Select target requirement in 'UniEditor'.
  2. Push menu button in the upper-right corner of the requirement field and select 'Delete requirement'.
  3. In the opened dialog window push 'OK'.


Edit requirement in UniEditor

Requirement field consists of two parts. The upper one contains requirement name, the lower one contains requirement alternative description.

  1. To edit requirement name double-click on the upper part of the field. The field becomes editable. To finish editing click somewhere else on the screen.
  2. To edit requirement text double-click on the lower part of the field. The field becomes editable. Here you can see control panel to edit the text. It includes buttons for text formatting, for adding symbols, pictures, links, etc. To save changes push 'Save' button in this menu. Also you can use button to undo editing.
  3. To change requirement status click on status-icon on the left side of the requirement name. When clicking, the status changes from 'in process' to 'complete' and vice versa.


Add new test purpose in UniEditor

  1. Select in 'UniEditor' one of two nodes:
  2. In the upper-right corner of this node (requirement or test purpose) field open menu and select 'Add new test purpose'.


Delete test purpose in UniEditor

  1. Select the target test purpose in 'UniEditor'.
  2. In the upper-right corner of this test purpose field open menu and select 'Delete test purpose'.
  3. In the opened dialog window push 'OK'.


Edit test purpose in UniEditor

The field of the test purpose consists of two parts. The upper part contains the name of the test purpose; the lower part contains the text of the test purpose.

  1. To edit test purpose name double-click on the upper part of the test purpose field. The field becomes editable, and you can make changes. To finish editing click anywhere else on the screen.
  2. To edit test purpose text double-click on the lower part of the test purpose field. Here you can see control panel to edit the text. It includes buttons for text formatting, for adding symbols, pictures, links, etc. To save changes push 'Save' button in this menu. Also you can use button to undo editing.
  3. To change test purpose statuse, click on status-icon on the left side of the requirement name. When clicking, the status changes from 'in process' to 'complete' and vice versa.


Add comment in UniEditor

Comment can be added to any node in the 'UniEditor', except a comment-node.

  1. Select in 'UniEditor' the node (requirement, test purpose or requirement) which you want to add a comment to.
  2. In the upper-right corner of the selected node expand the menu and select 'Add new comment'.
  3. When creating a comment, it's field appears in the 'UniEditor' and it's node appears on the appropriate place in the project tree in 'Requality Explorer' view. By default, the comment gets name in form of 'Comment <num>', where <num> is node number (if there is no any other comments on the same level than number is 01, else next free number). By default created comment is empty, editing of the comment text is described below.


Edit comment in UniEditor

To edit the text of the comment, double click in the comment field. Here you can see control panel to edit the text. It includes buttons for text formatting, for adding symbols, pictures, links, etc. To save changes push 'Save' button in this menu. Also you can use button to undo editing.


Delete comment in UniEditor

  1. Select the target comment in 'UniEditor'.
  2. In the upper-right corner of the comment field open menu and select 'Delete comment'.
  3. In the opened dialog window push 'OK'.


Hotkeys in UniEditor

You can use hotkeys when working in 'UniEditor'. There are hotkeys for all items of the node context menu in 'UniEditor'. Also there are additional hotkeys to comfortable use some other actions. Here there is a full list of all hotkeys in 'UniEditor'.


Hotkey Usage
Esc Close node aditor without saving
Ctrl+S Save changes in node editor
Up Switch focus to node above
Down Switch focus to node below
Left Collapse expanded node or switch focus to parent-node
Right Expande collapsed node or switch focus to node below
PageUp Scroll selected view by one page up
PageDown Scroll selected view by one page down
Home Go to start of editor
End Go to end of editor
Alt+Ins Add sub-requirement
Ins Add test purpose
Alt+C Add comment
Del Delete node
Enter Start node editing
F2 Start node name editing
Alt+S Change status
Num+ Expande node
Num- Collapse node
Ctrl+C Copy node
Ctrl+X Cut node
Ctrl+Shift+V Paste node as sibling (without sub-nodes)
Ctrl+V Paste node as child (without sub-nodes)
Ctrl+Alt+Shift+V Paste node with all its subnodes as sibling
Ctrl+Alt+V Paste node with all its subnodes as child


Review

Working in 'Review' is similar to working in 'UniEditor', but more limited in functionality. Here you can't add or delete requirements and test purposes, you can only edit their status.

Open Review

In 'Review' editor you can open requirements tree with test purposes and comments. Requirement for which you open 'Review' is displayed as root node. It means that you can open the requirement tree in a whole (by calling them in the 'Requirements' root node) or separate requirements sub-tree (by opening the editor on the several sub-requiremets).

In 'Requality Explorer' choose the target requirement, open context menu and chose 'Review'.


Edit statuses of the requirements and test purposes in Review

To change the status of requirement/test purpose click on status-icon on the left side of the node name. When clicking, the status is changed in the following order: 'in process' -> 'complete' -> 'verified' -> back 'in process', etc.


Hotkeys in Review

When working in 'Review' you can use hotkeys. In 'Review' there are hotkeys not only for manipulation with comments but for some other usages too. The list of all hotkeys for 'Review' is similar to the list of hotkeys for 'UniEditor', except for the prohibited usages.


Virtual Nodes

NOTE! Virtual Nodes are experimental functionality. Therefore working with virtual nodes and information about virtual nodes in this manual could be not quite correct and relevant.


Create virtual node

  1. In 'Requality Explorer' select or create a requirement for which you want to create virtual node. Select 'Create Virtual Node' in a context menu for this node. New virtual node will appear.

Delete virtual node

  1. To delete virtual node select it in 'Requality Explorer', select 'Delete Virtual Node' in a context menu for this node.
  2. You can also use 'Delete' hotkey.
  3. In the opened dialog confirm deletion by pushing 'OK'.

Edit virtual node parameters

To edit virtual node parameters select it in the 'Requality Explorer', Now you can see requirement properties in the 'Properties' view.

Here we describe parameters of the virtual node you can change manually.

  1. Target
  2. Iteration method
  3. Iterate over
  4. Id
  5. Name
  6. Attributes
  7. Generators
  8. Attr.name
  9. Attr.gen.type
  10. Scope
  11. Preview

Hide virtual node

The virtual node will be hided in the project tree, only its subtree (reused elements) will be shown.

Show virtual node

Virtual node will be shown in the project tree.

Checking the project tree

It's possible to check if Requality project tree is correctly set and to find problems in nodes description. Open context menu on the root node of your Requality project and select 'Enable Checkers'. After that all the nodes in which checker finds error are highlighted.


Checker work result


Version Control

For version control Requality allows working with CVS, Subversive, EGit and other Eclipse Team Provider (excluding Subclipse). In 'Requality Explorer' context menu there is a standard item 'Team' to manipulate versions.

SVN

To use 'SVN' you should install SVN-plugin to 'Eclipse' (see Installation of plugin for interaction with control version system) and get URL of repository where your project is shared or will be shared (also you should get user login and password if needed). It's recommended to use Subversive plugin. All instructions below are for exactly this plugin.

Export project to SVN

  1. In 'Requality Explorer' view click on the project folder and select 'Team -> Share Projects...' in the context menu.
  2. In 'Share Project Wizard' window in 'General' tab input URL of repository where you want to push your project to.


    Input repository URL


  3. Input user login and password in 'User:' and 'Password:' fields. (If you don't want to be asked for password again select 'Save authentication'.) It is not necessary if repository is not protected with a password.
  4. Push 'Finish'.


    Input comment and select elements to push to repository


  5. In 'Commit' window input your comment in 'Comment' field. Verify that all project items are selected in the table below. Push 'OK'.
  6. Wait until files transfer to repository. After that all project nodes in 'Requality Explorer' should be displayed without an angle bracket in front of the name. The angle bracket means that the node has changes are not saved in 'SVN'. All parent nodes of such node are also marked with the angle bracket. If some node is still marked with the angle bracket (after transfer to 'SVN' is finished) try to refresh 'Requality Explorer': click on the project node, then push 'F5' or select 'File -> Refresh' in 'Eclipse' main menu. If the angle bracket doesn't disappeare changes are not transferred to 'SVN'.


    Unsaved changes


Commit changes to SVN

Following instructions describe how to transfer local project changes to repository (if this project already exists in 'SVN').

How to know that your local project is connected to 'SVN' (you are working with local copy of repository project): there are version number and repository URL near project name in 'Requality Explorer'. This number is a number of version that was last syncronized with the repository.


Version and repository URL

  1. In 'Requality Explorer' select changed node that you want to push to repository. If you want to push all project changes then select root node of the project.
  2. Opent context menu on it and select 'Team -> Commit'.
  3. In 'Commit' window in 'Comment' field input your comment. Check that all needed items are selected in поле выбора файлов. Push 'OK'.


    Input comment


  4. If 'User Credentials' dialog asks you about username and password, input it in 'User:' and 'Password:' fields. If you don't want to be asked for password again select 'Save authentication'.


    Input username and password


Import project from SVN

  1. In 'Requality Explorer' on empty place open context menu and select 'Import...'.
  2. In 'Import' window select 'SVN -> Project from SVN' and push 'Next >'.
  3. In 'Checkout from SVN' window look through the list of available repository URLs.
    1. If one of available repositories suits you select 'Use existing repository location:', then select this repository in the table and click 'Next >'.


      Select existing repository in the table


    2. If you didn't find your repository in the list select 'Create a new repository location' and click 'Next >'.


      Select new repository


  4. In 'General' tab input URL of repository where you want to push you project. Also input username and password in 'User:' and 'Password:' fields. (If you don't want to be asked for password again select 'Save authentication'.) It is not necessary if repository is not protected with a password.


    Input repository URL


  5. In 'URL:' field input path to the project in the repository (including project folder). Click 'Finish'.


    Input path to project


  6. In 'Check Out As' window doesn't change anything and click 'Finish'.


    Select latest project revision


Update project from SVN

If project in the repository has been changed you can update your local copy following the instructions below.

  1. First of all it's recommended to close all opened documents. Or you should reopen them after update is finished to see all changes.
  2. In 'Requality Explorer' on you project open context menu and select'Team -> Update'.
  3. If 'User Credentials' dialog asks you about username and password, input it in 'User:' and 'Password:' fields. If you don't want to be asked for password again select 'Save authentication'.


    Inpul username and password