Changes between Version 116 and Version 117 of TestManagerForTracPlugin
- Timestamp:
- Jun 12, 2015, 11:11:14 AM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TestManagerForTracPlugin
v116 v117 11 11 This 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. 12 12 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 ispowered by the Trac search engine and formatting syntax for Wiki pages.13 This 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. 14 14 15 15 A 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. … … 45 45 A '''[wiki:TestManagerForTracPluginApi Programmatic API]''' is available to interact with the test management environment with these interfaces: 46 46 47 * '''[wiki:TestManagerForTracPluginRPCApi XML-RPC]''' ,48 * '''[wiki:TestManagerForTracPluginRestfulApi HTTP RESTful]''' and49 * '''[wiki:TestManagerForTracPluginPythonApi Python classes]''' .50 51 The '''APIs''' are documented in detail sin TestManagerForTracPluginApi.52 53 '''Trac plugin developers''' may be interested tothe 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 51 The '''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. 56 56 57 57 * 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. 58 58 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.inifile 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. 61 61 * Property and status change history. 62 62 * Listener interface to be notified of object creation, modification and deletion. 63 * '''[TestManagerForTracPluginWorkflow Customizable Workflow]''' state machine, declared in the trac.inifile, 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.inifile.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. 65 65 * Workflow also supports a listener API for components interested in state transitions and actions performed. 66 66 * 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. 67 67 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.inifile. 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. 69 69 70 70 For an [#Tutorialaspowerpointpresentation overview] of this plugin's capabilities, see this [http://www.youtube.com/watch?v=BIi3QMT0rT4 video]. … … 78 78 This 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. 79 79 80 You can '''choose between a tree-like and a tabular representation''' of the catalog and all of its containedsub-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.80 You 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 82 To 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. 83 83 84 84 On a Test Catalog page, from the top down, you have: … … 98 98 * '''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. 99 99 * '''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 set oof 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. 101 101 * '''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. 102 102 * '''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. 103 103 * '''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 change swhich 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. 105 105 * '''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. 106 106 * '''Attach File''' button. Use this button to attach files to the Catalog page. 107 107 * '''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. 109 109 * '''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. 110 110 … … 128 128 [[BR]] [[Image(TestCatalog05.png_th.png, link=[wiki:TestManagerForTracPluginGallery#FilteringtheTestCasesinacatalogtabularview])]] 129 129 130 '''Filtering the Test Cases in a catalog tabular view''' [[BR]]130 '''Filtering the Test Cases in a catalog tabular view''' 131 131 132 132 == Test Cases … … 144 144 A 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. 145 145 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 Case salso 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'''.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 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'''. 147 147 148 148 A '''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. … … 156 156 * '''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. 157 157 * '''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 pu ch 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. 159 159 * '''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. 160 160 * '''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. … … 162 162 * '''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. 163 163 * '''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. 165 165 * '''Delete this version''' button. It will delete the current Test Case's '''description Wiki page''', and revert to the last one. 166 166 * '''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. … … 193 193 194 194 * 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. 196 196 197 197 On a Test Plan page, from the top down, you have: … … 238 238 To move a single Test Case from one catalog into another: 239 239 240 1. Open the Test Case 240 1. Open the Test Case. 241 241 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. 243 243 1. Click on "Move the copied Test Case here" button (which only appears if a Test Case has been cut first). 244 244 … … 351 351 [[BR]] [[Image(TestCaseInPlan03.png_th.png, link=[wiki:TestManagerForTracPluginGallery#DisplayingtheticketsrelatedtoaTestCaseinaPlan])]] 352 352 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''' 354 354 355 355 == Test Management and Execution Statistics