Changes between Version 116 and Version 117 of TestManagerForTracPlugin


Ignore:
Timestamp:
Jun 12, 2015, 11:11:14 AM (9 years ago)
Author:
figaro
Comment:

Cosmetic changes, typos, changed 'test' tag to 'testing' tag

Legend:

Unmodified
Added
Removed
Modified
  • TestManagerForTracPlugin

    v116 v117  
    1111This test management Trac plugin can be used to create '''[wiki:TestManagerForTracPlugin#TestCases Test Cases]''', organize them in [wiki:TestManagerForTracPlugin#TestCatalogs Catalogs] and generate '''[wiki:TestManagerForTracPlugin#TestPlans Test Plans]''' to track their execution status and outcome.
    1212
    13 This plugin uses Wiki pages and an additional proprietary data model to store Test Cases, rather than tickets. This allows you to not pollute your ticket lists with something that is not a test finding, and at the same time is powered by the Trac search engine and formatting syntax for Wiki pages.
     13This plugin uses Wiki pages and an additional data model to store Test Cases, rather than tickets. This allows you to separate your tickets from your test findings, while still being powered by the Trac search engine and formatting syntax for Wiki pages.
    1414
    1515A set of plugins intercept requests for Wiki pages that match the Test Manager URL namespace and decorate them with additional information stored in the database.
     
    4545A '''[wiki:TestManagerForTracPluginApi Programmatic API]''' is available to interact with the test management environment with these interfaces:
    4646
    47  * '''[wiki:TestManagerForTracPluginRPCApi XML-RPC]''',
    48  * '''[wiki:TestManagerForTracPluginRestfulApi HTTP RESTful]''' and
    49  * '''[wiki:TestManagerForTracPluginPythonApi Python classes]'''.
    50 
    51 The '''APIs''' are documented in details in TestManagerForTracPluginApi.
    52 
    53 '''Trac plugin developers''' may be interested to the plugin reusable modular architecture:
    54 
    55  * A generic, customizable '''[wiki:TestManagerForTracPluginWorkflow Workflow Engine]''' is provided as a separate plugin in the package, which allows you to associate custom workflows to any Resource in Trac, including Wiki pages and any custom object handled through a Resource Manager. This can be done very easily by adding as little as [wiki:TestManagerForTracPluginWorkflow a few lines of code] to the component which manages the User interface.
     47 * '''[wiki:TestManagerForTracPluginRPCApi XML-RPC]'''
     48 * '''[wiki:TestManagerForTracPluginRestfulApi HTTP RESTful]'''
     49 * '''[wiki:TestManagerForTracPluginPythonApi Python classes]'''
     50
     51The '''APIs''' are documented in detail in TestManagerForTracPluginApi.
     52
     53'''Trac plugin developers''' may be interested in the plugin reusable modular architecture:
     54
     55 * A generic, customizable '''[wiki:TestManagerForTracPluginWorkflow Workflow Engine]''' is provided as a separate plugin in the package, which allows you to associate custom workflows to any Resource in Trac, including Wiki pages and any custom object handled through a Resource Manager. This can be done easily by adding [wiki:TestManagerForTracPluginWorkflow a few lines of code] to the component which manages the User interface.
    5656
    5757 * All the data manipulation layer has been extracted into a '''[wiki:TestManagerForTracPluginGenericClass Generic Persistent Class framework]''' plugin, which can be easily used by any other plugin developer to provide persistence, security, change history, custom properties, pattern matching search, and other features to their basic data model with a handful lines of code.
    5858
    59  * All of the test objects, i.e. catalogs, test cases, test plans and test cases in a plan (i.e. with a status and a status change history), support:
    60    * '''[#Customfields Custom properties]''', which can be declared in the trac.ini file and will be available to the User for change, stored in the database and available to change listeners.
     59 * All of the test objects, ie catalogs, test cases, test plans and test cases in a plan (i.e. with a status and a status change history), support:
     60   * '''[#Customfields Custom properties]''', which can be declared in the `trac.ini` file and will be available to the User for change, stored in the database and available to change listeners.
    6161   * Property and status change history.
    6262   * Listener interface to be notified of object creation, modification and deletion.
    63    * '''[TestManagerForTracPluginWorkflow Customizable Workflow]''' state machine, declared in the trac.ini file, with the same syntax as for Ticket workflows.
    64    * '''[TestManagerForTracPluginWorkflow#Howtoprovidecustomoperations Customizable Workflow Operations]''', via a plugin api so that any component can provide its custom operations to be performed upon any workflow action, as defined in the trac.ini file.
     63   * '''[TestManagerForTracPluginWorkflow Customizable Workflow]''' state machine, declared in the `trac.ini` file, with the same syntax as for Ticket workflows.
     64   * '''[TestManagerForTracPluginWorkflow#Howtoprovidecustomoperations Customizable Workflow Operations]''', via a plugin API so that any component can provide its custom operations to be performed upon any workflow action, as defined in the `trac.ini` file.
    6565   * Workflow also supports a listener API for components interested in state transitions and actions performed.
    6666   * Workflow states also support custom properties, so to be able to convey additional context information on a workflow state and use it in listeners or directly from the database.
    6767
    68  * The developed workflow engine is able to work on any Trac resource, it is not confined to this plugin. You can then define a workflow on any Trac resource, including Wiki pages, declaratively in the trac.ini file. You then add a handful of custom code (for example in an ITemplateStreamFilter) to add the markup that the workflow engine generates for you to your desired Trac web page. See [wiki:TestManagerForTracPluginWorkflow#Extendworkflowsupporttoanyofyourartifacts this page] for further details.
     68 * The developed workflow engine is able to work on any Trac resource, it is not confined to this plugin. You can then define a workflow on any Trac resource, including Wiki pages, declaratively in the `trac.ini` file. You then add a handful of custom code (for example in an ITemplateStreamFilter) to add the markup that the workflow engine generates for you to your desired Trac web page. See [wiki:TestManagerForTracPluginWorkflow#Extendworkflowsupporttoanyofyourartifacts this page] for further details.
    6969
    7070For an [#Tutorialaspowerpointpresentation overview] of this plugin's capabilities, see this [http://www.youtube.com/watch?v=BIi3QMT0rT4 video].
     
    7878This also means that the `WIKI_VIEW`, in addition to the `TEST_WIEW`, permission is required to be able to browse test catalogs and test cases.
    7979
    80 You can '''choose between a tree-like and a tabular representation''' of the catalog and all of its contained sub-catalogs and test cases, as shown in the following figures.
    81 
    82 To switch between the two view types, click on the corresponding icons at the top-left corner. To change the default view type, i.e. tree or table, use the Test Manager '''Settings''' administration panel.
     80You can '''choose between a tree-like and a tabular representation''' of the catalog and all of its sub-catalogs and test cases, as shown in the following figures.
     81
     82To switch between the two view types, click on the corresponding icons at the top-left corner. To change the default view type, ie tree or table, use the Test Manager '''Settings''' administration panel.
    8383
    8484On a Test Catalog page, from the top down, you have:
     
    9898 * '''Paste the copied Test Cases here''' button. This button, only visible if you have previously copied some test cases into the "virtual" clipboard, allows you to paste them into the current Test Catalog.
    9999 * '''Move the copied Test Case here''' button. This button, only visible if you have previously cut a single test case into the "virtual" clipboard, allows you to paste them into the current Test Catalog.
    100  * '''Import Test Cases''' button. Allows you to import a seto of test cases into this catalog from a CSV file. See [#ImportingTestCasesfromaCSVfileintoaTestCatalog Importing Test Cases from a CSV file into a Test Catalog] for details.
     100 * '''Import Test Cases''' button. Allows you to import a set of test cases into this catalog from a CSV file. See [#ImportingTestCasesfromaCSVfileintoaTestCatalog Importing Test Cases from a CSV file into a Test Catalog] for details.
    101101 * '''Export Test Catalog''' button. Allows you to export the Test Catalog, including sub-catalogs and all the contained test cases, to CSV format. See [#ExportingTestCatalogsorTestPlansintoCSVfile Exporting Test Catalogs or Test Plans into CSV file] for details.
    102102 * '''Organize Test Catalogs''' button. It will display a dialog box where you can, using simple drag and drop, reorganize the test cases in this catalog and sub-catalogs. See [#OrganizingthecontentsofaTestCatalog Organizing the contents of a Test Catalog] for details.
    103103 * '''Available Test Plans''' section. The number in brackets shows the number of [#TestPlans Test Plans] that have been generated for this catalog. Expand the section to access detailed test plan information and to navigate to the individual test plans. Type inside the text box to filter all test plan information matching your input text.
    104  * '''Object Change History''' section. In addition to the standard Wiki versioning, test objects support their own change history, which lets you inspect who changes which property and when, also showing its old and new value. This is also particularly useful for [#Customfields Custom Fields] you may add to the test objects. See [#TestArtifactChangeHistory Test Artefact Change History] for more details.
     104 * '''Object Change History''' section. In addition to the standard Wiki versioning, test objects support their own change history, which lets you inspect who changed which property and when, also showing its old and new value. This is also particularly useful for [#Customfields Custom Fields] you may add to the test objects. See [#TestArtifactChangeHistory Test Artefact Change History] for more details.
    105105 * '''Edit this page''' button. If you wish to edit the title of the catalog or add some textual contents to it, click on this button to enter the Wiki page editing mode. Be careful that the first line is always interpreted as the test catalog title. You can then add the Test Catalog description just below it, using WikiFormatting, adding attachments and everything else is supported for Wiki pages. When you're done, simply save the page with '''Submit Changes''' to save your textual changes to the catalog.
    106106 * '''Attach File''' button. Use this button to attach files to the Catalog page.
    107107 * '''Rename page''' button. This function is '''not allowed''' for Test Catalogs, Test Cases or Test Plans. This because the Test Manager plugin uses the page names to keep track of the test artefacts hierarchy information. Submitting a new page name will then throw you a meaningful error. '''To change the Catalog's title''', use the '''Edit this page''' button and change the first text line. It is interpreted as the catalog title. If you '''wish to move '''the object elsewhere, instead, use the 'move' Test Manager functions.
    108  * '''Delete this version''' button. It will delete the current Test Catalog's '''description Wiki page''', and revert to the last one. This action will have no effect on the changes you may have done to the sub-catalogs or test cases contained within. To undo changes to the Wiki pages of any of these latter objects, go to the corresponding page and work with the Wiki versions accordingly. As long as the Test Catalog internal organization in sub-catalogs and Test Case, Test Manager does not have a "Test Catalog snapshot" kind of functionality, which you may revert to.
     108 * '''Delete this version''' button. It will delete the current Test Catalog's '''description Wiki page''', and revert to the last one. This action will have no effect on the changes you may have done to the sub-catalogs or test cases contained therein. To undo changes to the Wiki pages of any of these latter objects, go to the corresponding page and work with the Wiki versions accordingly. As long as the Test Catalog internal organization in sub-catalogs and Test Case, Test Manager does not have a "Test Catalog snapshot" kind of functionality, which you may revert to.
    109109 * '''Delete Test Catalog''' button. Pushing this button will ask you for confirmation and, if confirmed, will delete the current Test Catalog, all the contained sub-catalogs, Test Cases, Test Plans and the status history of them. '''Caution''': there is no undo functionality.
    110110
     
    128128[[BR]] [[Image(TestCatalog05.png_th.png, link=[wiki:TestManagerForTracPluginGallery#FilteringtheTestCasesinacatalogtabularview])]]
    129129
    130 '''Filtering the Test Cases in a catalog tabular view'''[[BR]]
     130'''Filtering the Test Cases in a catalog tabular view'''
    131131
    132132== Test Cases
     
    144144A Test Case is created in the context of a Test Catalog. Think of it as the '''Test Case''' "class", or "definition". It does not carry information about whether the Test Case was executed or when, and whether it succeeded or failed.
    145145
    146 To plan a test execution session, generate a [#TestPlans Test Plan]. A Test Plan is used to record a specific execution of a set of Test Cases. Thus, a Test Cases also exists in the context of one or more Test Plans. Think of those as Test Case "instances", or "uses". In the context of the Test Manager plugin, these are called '''Test Cases in a Plan'''.
     146To plan a test execution session, generate a [#TestPlans Test Plan]. A Test Plan is used to record a specific execution of a set of Test Cases. Thus, a Test Case also exists in the context of one or more Test Plans. Think of those as Test Case "instances", or "uses". In the context of the Test Manager plugin, these are called '''Test Cases in a Plan'''.
    147147
    148148A '''Test Case in a Plan, in addition to a basic Test Case''', also records the execution outcomes (or verdicts), ie whether a particular execution of the Test Case in the context of the containing Test Plan was successful or failing. You can also see the complete test status change history at the bottom of the Test Case in Plan page.
     
    156156 * '''Open a Ticket on this Test Case''' button. Allows you to open a ticket that will be related to this test case. If you are browsing a Test Case definition, the ticket will not be related to any particular Test plan. If, instead, you are browsing a Test Case in (the context of) a Plan, the ticket will be related to the execution of th Test Case in that particular Test Plan. See [#LinkingaTickettoaTestCase Linking a Ticket to a Test Case] for details.
    157157 * '''Show Related Tickets''' button. Clicking this button will perform a custom query listing all the Tickets related to this Test Case and, if applicable, the containing Test plan.
    158  * '''Move the Test Case into another catalog''' button. Only available on Test Case definitions. It allows you to cut (into a "virtual" clipboard) the test case, to be eventually pasted into some other (or the same) catalog, or sub-catalog. Push the button, then navigate to the destination catalog and puch the '''Move the copied Test Case here''' button to complete the move operation. Also look at the '''Organize Test Catalogs''' functionality for an alternative way of moving Test Cases. Refer to [#TestCatalogs Test Catalogs] for details.
     158 * '''Move the Test Case into another catalog''' button. Only available on Test Case definitions. It allows you to cut (into a "virtual" clipboard) the test case, to be eventually pasted into some other (or the same) catalog, or sub-catalog. Push the button, then navigate to the destination catalog and push the '''Move the copied Test Case here''' button to complete the move operation. Also look at the '''Organize Test Catalogs''' functionality for an alternative way of moving Test Cases. Refer to [#TestCatalogs Test Catalogs] for details.
    159159 * '''Duplicate the Test Case''' button. Only available on Test Case definitions. Lets you make an exact copy of this Test Case definition. Note that the test execution statuses, ie successful, failed, etc, associated to the original Test Cases in any Test Plan are not duplicated along with the Test Case definition.
    160160 * '''Add to a Test Plan''' button. Only available on Test Case definitions. Allows you to add the Test Case to one or more suitable Test Plans, i.e. Test Plans that have been defined as not containing all the test cases (current and future) of the associated Test Catalog, but only a selected set of them.
     
    162162 * '''Edit this page''' button. If you wish to edit the title of the Test Case or edite the textual contents of it, click on this button to enter the Wiki page editing mode. When you're done, simply save the page with '''Submit Changes''' to save your textual changes to the test case. '''Be careful''' that the first line is always interpreted as the test case title.
    163163 * '''Attach File''' button. Use this button to attach files to the Test Case page.
    164  * '''Rename page''' button. This function is '''not allowed''' for Test Catalogs, Test Cases or Test Plans. This because the Test Manager plugin uses the page names to keep track of the test artefacts hierarchy information. Submitting a new page name will then throw you a meaningful error. '''To change the Test Case's title''', use the '''Edit this page''' button and change the first text line. It is interpreted as the test case title. If you '''wish to move '''the object elsewhere, instead, use the 'move' Test Manager functions.
     164 * '''Rename page''' button. This function is '''not allowed''' for Test Catalogs, Test Cases or Test Plans. This because the Test Manager plugin uses the page names to keep track of the test artefacts hierarchy information. Submitting a new page name will then throw you a meaningful error. '''To change the Test Case's title''', use the '''Edit this page''' button and change the first text line. It is interpreted as the test case title. If you wish to move the object elsewhere, instead, use the 'move' Test Manager functions.
    165165 * '''Delete this version''' button. It will delete the current Test Case's '''description Wiki page''', and revert to the last one.
    166166 * '''Delete page''' button. Pushing this button will ask you for confirmation and, if confirmed, will delete the current Test Case definition and all of the Test Case instances in any Test Plan, including their status change history. '''Caution''': there is no undo functionality.
     
    193193
    194194 * The former is useful to actually work on the Test Plan and to view test cases before actually going and executing them. It also gives you a bird-eye view of the test execution progress and results. Additionally, you can set a test case verdict directly form the tree view, left-clicking on any Test Case's traffic light and changing its color using the pop-up menu that comes out.
    195  * The latter, which indicates for each Test Case the latest status modification and its author, may be useful to keep as the documentation of a just run test plan. It is also the only way to display the Test Case in a Plan [#Customfields Custom Fields] you may have set. Additionally, you can set a test case verdict directly form the table view, left-clicking on any Test Case's traffic light and changing its color using the pop-up menu that comes out.
     195 * The latter, which indicates for each Test Case the latest status modification and its author, may be useful to keep as the documentation of a just run test plan. It is also the only way to display the Test Case in a Plan [#Customfields Custom Fields] you may have set. Additionally, you can set a test case verdict directly form the table view, left-clicking on any Test Case's traffic light and changing its color using the pop-up menu that appears.
    196196
    197197On a Test Plan page, from the top down, you have:
     
    238238To move a single Test Case from one catalog into another:
    239239
    240  1. Open the Test Case
     240 1. Open the Test Case.
    241241 1. Click on the "Move the Test Case into another catalog" button. This is similar to a "cut" operation, but into a "virtual" clipboard.
    242  1. Navigate and open the destination catalog
     242 1. Navigate and open the destination catalog.
    243243 1. Click on "Move the copied Test Case here" button (which only appears if a Test Case has been cut first).
    244244
     
    351351[[BR]] [[Image(TestCaseInPlan03.png_th.png, link=[wiki:TestManagerForTracPluginGallery#DisplayingtheticketsrelatedtoaTestCaseinaPlan])]]
    352352
    353 '''Displaying the tickets related to a Test Case in a Plan'''[[BR]] [[BR]]
     353'''Displaying the tickets related to a Test Case in a Plan'''
    354354
    355355== Test Management and Execution Statistics