nitrate Documentation Release 3.8.17 hlin,weizhou,cqi,qduanmu December 13, 2015 Contents 1 2 Contents 1.1 About Nitrate . . . . . . . . . . . . . . . . . . . . . . 1.2 Setting up a development environment on Fedora . . . 1.3 Installing nitrate on RHEL6 with Apache and MySQL 1.4 Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Contribution . . . . . . . . . . . . . . . . . . . . . . 1.6 FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.7 Report an Issue . . . . . . . . . . . . . . . . . . . . . 1.8 XMLRPC API . . . . . . . . . . . . . . . . . . . . . 1.9 Changelog . . . . . . . . . . . . . . . . . . . . . . . 1.10 Support . . . . . . . . . . . . . . . . . . . . . . . . . 1.11 Authors . . . . . . . . . . . . . . . . . . . . . . . . . 1.12 License . . . . . . . . . . . . . . . . . . . . . . . . . Indices and tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . 1 . 2 . 3 . 8 . 86 . 88 . 89 . 90 . 90 . 107 . 107 . 107 109 i ii CHAPTER 1 Contents 1.1 About Nitrate 1.1.1 Key features 1.1.2 A brief history 1.1.3 Dependences Basic dependences: Python >= 2.6.5 Django==1.5.5 MySQL-python==1.2.5 kerberos==1.1.1 qpid-python==0.20 django-uuslug==1.0.0 https://wadofstuff.googlecode.com/files/wadofstuff-django-serializers-1.1.0.tar.gz#egg=wadofstuff-dja django-celery>=3.1.10 https://git.fedorahosted.org/cgit/kobo.git/snapshot/kobo-0.2.1.tar.gz#egg=kobo odfpy>=0.9.6 django-pagination==1.0.7 django-tinymce==1.5.1 beautifulsoup4>=4.1.1 Additional recommended dependences for development: -r base.txt django-debug-toolbar==0.11.0 Sphinx>=1.1.2 flake8 South>=0.8.2 epydoc==3.0.1 django-nose django-coverage coverage 1 nitrate Documentation, Release 3.8.17 1.2 Setting up a development environment on Fedora 1.2.1 Get source code The Nitrate source code is available at: https://github.com/Nitrate/Nitrate You can get the latest changes with git easily: git clone https://github.com/Nitrate/Nitrate.git 1.2.2 Install dependencies Install devel packages that should be installed first: sudo yum install gcc python-devel mysql-devel krb5-devel libxml2-devel libxslt-devel Install dependencies from requirements/devel.txt: sudo pip install -r requirements/devel.txt 1.2.3 Initialize database Database is required by Nitrate (and all of Django apps). Django ORM supports many database backends, we recommend you to use MySQL. Create database and user for nitrate in mysql: mysql> create database nitrate; mysql> GRANT all privileges on nitrate.* to nitrate@'%' identified by 'password'; Update settings/devel.py: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'ora 'NAME': 'nitrate', # Or path to database file if using sqlite3. # The following settings are not used with sqlite3: 'USER': 'nitrate', 'PASSWORD': 'password', 'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' 'PORT': '', # Set to empty string for default. } } Create tables through syncdb & migrate and create super user if needed: django-admin.py syncdb --settings=tcms.settings.devel django-admin.py migrate --settings=tcms.settings.devel Load initial data: django-admin.py loaddata --settings=tcms.settings.devel 2 Chapter 1. Contents nitrate Documentation, Release 3.8.17 1.2.4 Let’s run nitrate You’re now ready to start the server: python manage.py runserver Now, open http://127.0.0.1:8000/ and should be presented with your brand new Nitrate homepage! 1.3 Installing nitrate on RHEL6 with Apache and MySQL This deployment document presumes that you are running Red Hat Enterprise Linux 6. Of course, all deployment steps being described through this document also apply to other Linux distributions, such as CentOS, openSUSE, or Debian. This document aims to deployment within a server that will serve test case management service to stuffs or customers. Therefore, all commands and configuration are done with system Python interpreter and those configuration files installed in the standard system directories, like the /etc/httpd/conf/httpd.conf. 1.3.1 Installation Get source code The Nitrate source code is available at:https://github.com/Nitrate/Nitrate You can get the latest changes with git easily: git clone https://github.com/Nitrate/Nitrate.git git checkout --track [a proper tag or branch] Install dependencies Install devel packages that should be installed first: sudo yum install gcc w3m python-devel mysql-devel krb5-devel libxml2-devel libxslt-devel Install dependencies from requirements/base.txt: sudo pip install -r requirements/base.txt Install from source code After downloading the source code, go to the source code directory and install this project with python setup.py: cd [nitrate_download_path]/nitrate sudo python setup.py install 1.3.2 Initialize database Database is required by Nitrate (and all of Django apps). Django ORM supports many database backends, we recommend you to use MySQL. Create database and user for nitrate in mysql: 1.3. Installing nitrate on RHEL6 with Apache and MySQL 3 nitrate Documentation, Release 3.8.17 mysql> create database nitrate; mysql> GRANT all privileges on nitrate.* to nitrate@'%' identified by 'password'; Update settings/product.py: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'ora 'NAME': 'nitrate', # Or path to database file if using sqlite3. # The following settings are not used with sqlite3: 'USER': 'nitrate', 'PASSWORD': 'password', 'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' 'PORT': '', # Set to empty string for default. } } Create tables through syncdb & migrate and create super user if needed: django-admin.py syncdb --settings=tcms.settings.product django-admin.py migrate --settings=tcms.settings.product Load initial data: django-admin.py loaddata --settings=tcms.settings.product 1.3.3 Config Settings First please go to nitrate root path, it’s different based on your current OS. Like on RHEL6.3, the root path is located in: /usr/lib/python2.6/site-packages/nitrate-3.8.6-py2.6.egg/tcms As we plan to deploy a example server for nitrate, we can use product.py as the default settings. After backed up the product.py, please modify following settings based on your custom configurations in settings/product.py: # Django settings for product env. from common import * # Debug settings DEBUG = False TEMPLATE_DEBUG = DEBUG # Database settings DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'nitrate', 'USER': 'nitrate', 'PASSWORD': 'nitrate', 'HOST': '', 'PORT': '', }, 'slave_1': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'nitrate', 4 Chapter 1. Contents nitrate Documentation, Release 3.8.17 'USER': 'nitrate', 'PASSWORD': 'nitrate', 'HOST': '', 'PORT': '', }, } # add RemoteUserMiddleWare if kerberos authentication is enabled MIDDLEWARE_CLASSES += ( # 'django.contrib.auth.middleware.RemoteUserMiddleware', ) # Remote kerberos authentication backends #AUTHENTICATION_BACKENDS = ( # 'tcms.core.contrib.auth.backends.ModAuthKerbBackend', #) DATABASE_ROUTERS = ['tcms.core.utils.tcms_router.RWRouter'] # Kerberos realm #KRB5_REALM = 'EXAMPLE.COM' # Bugzilla integration setttings # Config following settings if your want to integrate with bugzilla BUGZILLA3_RPC_SERVER = '' BUGZILLA_URL = '' BUGZILLA_USER = '' BUGZILLA_PASSWORD = '' # JIRA integration setttings # Config following settings if your want to integrate with JIRA JIRA_URL = '' # Set the default send mail address EMAIL_HOST = 'smtp.example.com' EMAIL_FROM = 'noreply@example.com' # Site-specific messages # This one, if set, is shown on the front page. # It is only shown to authenticated users MOTD_AUTH = """ <p>This is the development server for the production instance of the TCMS, connected to a copy of the testopia database.</p> """ # First run - to detemine need port user or not. FIRST_RUN = False MOTD_LOGIN = """<p>This is the development server of the TCMS (for testing).</p> <p>Please use your kerberos user name and password.</p> """ # You can add a help link on the footer of home page as following format: # ('http://foo.com', 'foo') FOOTER_LINKS = ( ('/xmlrpc/', 'XML-RPC service'), ) 1.3. Installing nitrate on RHEL6 with Apache and MySQL 5 nitrate Documentation, Release 3.8.17 # added for nitrate3.4 compatibility DEFAULT_GROUPS = ['default'] TESTOPIA_XML_VERSION = '1.0' # admin settings ADMINS = ( # ('Your Name', 'your_email@domain.com'), ) # user guide URL USER_GUIDE_URL = "" DEFAULT_PAGE_SIZE = 100 1.3.4 Use cache (Optional) You can use Django’s cache framework to get better performance. Refer to following docs for more details: • https://docs.djangoproject.com/en/1.5/topics/cache/ • https://docs.djangoproject.com/en/1.5/ref/settings/#caches 1.3.5 Start the django app After upon steps is completed, now you can try to start the web server which is a built-in development server provided by Django to test if the app can run as expected. Run following command: django-admin.py runserver --settings=tcms.settings.product Then try to use web browser to open http://localhost:8000/ to verify the working status of this web service. 1.3.6 Install Apache & mod_wsgi Install httpd & mod_wsgi: sudo yum install httpd mod_wsgi Create upload dir Create upload dir and change dir own & group to apache: sudo mkdir -p /var/nitrate/uploads sudo chown apache:apache /var/nitrate/uploads Collect static files The default directory to store static files is /var/nitrate/static, you can modify it by changing STATIC_ROOT setting in /path/to/nitrate/tcms/settings/product.py. Run following command to collect static files: 6 Chapter 1. Contents nitrate Documentation, Release 3.8.17 sudo django-admin.py collectstatic --settings=tcms.settings.product Reference: https://docs.djangoproject.com/en/1.5/howto/static-files/deployment/ Deploy with Apache Deploying Django projects with Apache and mod_wsgi is the recommended way to get them into production. Create wsgi.conf in /etc/httpd/conf.d/ which include one line: LoadModule wsgi_module modules/mod_wsgi.so To build a production server with Apache, just copy apache conf to /etc/httpd/conf.d/. I presume that the conf file is named nitrate-httpd.conf. # Deployment using mod_wsgi # # Useful documentation: # https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/ # Force the use of ssl: #<IfModule mod_rewrite.c> # RewriteEngine on # RewriteCond %{HTTPS} off # RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} #</IfModule> # Make sure static files collected to this dir # Ref https://docs.djangoproject.com/en/1.5/ref/contrib/staticfiles/#django-admin-collectstatic Alias /static /usr/share/nitrate/static # Limit threads forked: # prefork MPM StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 256 MaxRequestsPerChild 0 # Configurations for mod_wsgi WSGIScriptAlias / /usr/lib/python2.6/site-packages/tcms/wsgi.py WSGIPythonPath /usr/lib/python2.6/site-packages WSGIPassAuthorization On <Location "/"> # ==================== # Handler for mod_wsgi # ==================== SetHandler wsgi-script Options All AllowOverride All Require all granted LimitRequestBody 10485760 AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript application/x-javascr ErrorDocument 401 "Your request is unauthorization." 1.3. Installing nitrate on RHEL6 with Apache and MySQL 7 nitrate Documentation, Release 3.8.17 </Location> <Location "/static"> SetHandler None # Disable auth on the static content, so that we're aren't forced to # use Kerberos. Doing so would remove "Expires" headers from the static # content, which would lead to poor page-load times. AuthType none Satisfy Any Allow from All # Many file types are likely to benefit from compression # Enable gzip compression on them: AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript application/x-javascr # Set far-future Expires headers on static content # (trac 184): ExpiresActive On ExpiresDefault "access plus 10 years" </Location> Change any configuration to fit your deployment environment. In /etc/httpd/conf/httpd.conf, set the following settings simply: ServerName example.com:80 Listen ip_address:80 After configuration, run: sudo service httpd start Please go to browser to have a verify if this service runs successfully. If any problem, please refer to log file: /var/log/httpd/error_log Or any access info, refer to: /var/log/httpd/access_log 1.3.7 Upgrading 1.4 Tutorial 1.4.1 Introduction “If it is not in the TCMS then we do not do it”, and the converse: “If we do it then it is in the TCMS”. The above motto has been the paradigm driving the development of the TCMS. The development team has created a canonical source of information about testing that is useful to both managers and QE Associates. The TCMS provides: • Managers with a source of information on planning, cases and execution status. 8 Chapter 1. Contents nitrate Documentation, Release 3.8.17 • Reproducibility across planning, cases and execution. • Audit traceability. • Increased productivity - Associates are able to identify and work on gaps in product coverage. Getting to know the TCMS home page The home page is the principal section of the TCMS. It provides quick access to assigned Test Runs and Test Plans. This section explains the features accessible from the home page. 1. Menu bar 2. Bookmarks, Basic information and Recent tabs 3. Test Run list 4. Test Plan list 5. Quick and Advanced search 6. User Guide Menu bar The menu bar consists of six main menu items. When you hover over a menu item, a sub-menu appears. The first item in the sub-menu is the default page for the main menu item. To navigate to a previous screen, click on the breadcrumb located below the menu bar. • Home • Planning – Search Plans – My Plans – New Plan • Testing – Search Runs – Search Cases – My Runs – New Case • Environment 1.4. Tutorial 9 nitrate Documentation, Release 3.8.17 – Groups – Properties • Reporting – Overall – Custom – Testing Report • Admin – Auth – Management – Test Plans – Test Cases • Quick Search • Advanced Search Bookmarks Any page in TCMS can be bookmarked. • Click the Bookmarks tab from the Home to view your bookmarks. • Click Bookmark this page to add the current page to your bookmarks. Basic information TCMS stores basic user profile information. For example, email, IRC nick, and contact details. Procedure: Editing basic information 1. From the Home screen, click Basic information. 2. Edit the required fields. 3. Click Save Change. Test Runs The home screen contains a list of Test Runs associated with the user and a graphical display showing completion status. To access a Test Plan, click the Test Run’s name. Test Plans The home screen contains a list of Test Plans associated with the user. To access a Test Plan, click the Test Plan’s name. 10 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Quick Search Quick search allows direct access to a Test Plan, Test Case, or Test Run via drop-down. To access a Test Plan, Test Case, or Test Run, enter the ID number, and then click Go. Footer The footer provides links to TCMS related topics: • Contact developers. Email the TCMS mailing list. • Request permissions. Ask for extra rights in TCMS. • Report bug. Help build a better TCMS. • User Guide. • Satisfaction survey. Provide feedback to the development team. • Release schedule. Upcoming releases. • XML-RPC service. API document. 1.4.2 Test Plans This chapter explains how to create, search, clone, edit, tag, print, disable, and export a Test Plan in the TCMS. Creating a Test Plan This section outlines the process for creating a Test Plan in TCMS. A Test Plan should identify which features of a product will be tested. It is a high level document and should not include specific testing steps. Procedure: Creating a Test Plan To create a Test Plan: 1. From the PLANNING menu, click New Plan. 1.4. Tutorial 11 nitrate Documentation, Release 3.8.17 2. In the Create New Test Plan screen, perform the following actions: • Enter the Plan Name. • Select the Product. • Select the Product Version. • Select the Type of Test Plan. • Enter the Parent ID. Optional parent Test Plan ID for tree view. • In the Plan Document text box do one of the following: – Enter the details of the Test Plan. – Click Browse, select the file to upload, and then click Upload. Supported formats: html, plain text, and ODT. • Select the Environment Group. • Enter a Reference Link to any additional information (eg. wiki). 12 Chapter 1. Contents nitrate Documentation, Release 3.8.17 3. Click Create Test Plan. The Test Plan is created. Searching for Test Plans To view the Test Plans you have created, click PLANNING, then My Plans. Test Plans by other authors can be searched using the following fields: • Plan Name • Author • Case default tester • Plan Type • Status (Active/All) • Product • Product Version • Environment Group • Tag • Date Created (before/after) Note: There is no need to use wildcard characters. The search results show all occurrences of the string, regardless of location. For example, searching for the Plan Name ‘x11’ will return plans named ‘xorg-x11’ and ‘libX11’. 1.4. Tutorial 13 nitrate Documentation, Release 3.8.17 Procedure: Searching for Test Plans To search for Test Plans: 1. Click PLANNING. 2. In the Search Plan screen, enter the required search details. 3. Click Search. The search results appear. 4. To sort on a column, click the column heading. Advanced search Advanced search accepts a combination of fields from Test Plan, Case, and Run. Procedure: Advanced Search To use advanced search for Test Plans, Cases and Runs: 1. In the search screen, click Advanced Search 2. Enter the required search terms. 14 Chapter 1. Contents nitrate Documentation, Release 3.8.17 3. Click Search Plan. Cloning a Test Plan Cloning allows a user to replicate an existing Test Plan for a new product or a new version of the current product. Procedure: Cloning a Test Plan To clone a Test Plan: 1. Select the Test Plan to be cloned. 2. Click Clone Plan. 3. In the Clone Test Plan screen, perform the following actions: • Enter the New Plan Name. • In Copy to Product, select the product. • In Product Version, select the version. • In Copy Settings, select: – Set source plan as parent 1.4. Tutorial 15 nitrate Documentation, Release 3.8.17 – Keep original author – Copy Plan Document – Copy Plan Attachments – Copy environment group – Copy All Test Cases This selects the following options: * Create a copy. Selecting this option creates a new copy of the Test Cases and links them to this Test Plan. Changes made to these Test Cases will not effect the original Test Plan. * Maintain original authors * Keep Default Tester 4. Click Clone. The Test Plan is cloned. Editing a Test Plan The Edit function modifies fields in a Test Plan. It does not change any Test Cases or Runs associated with the Test Plan. Procedure: Editing a Test Plan To edit a Test Plan: 1. Select the Test Plan to be edited. 2. lick Edit plan. 3. Edit the following fields as required: • Plan Name • Status (Active) • Owner (input username) • Product • Product Version 16 Chapter 1. Contents nitrate Documentation, Release 3.8.17 • Plan Type • Parent ID • Plan Document • Environment Group • Reference Link • Notification Include: – Plan’s owner – Plan’s author – Author of the case under a plan – Default tester of the case under a plan • Notification Trigger: – when plan is updated – when plan is deleted – when cases of a plan are updated 4. Click Save. Default Components TCMS allows the setting of default components for a Test Plan. The default components will be added to each Test Case belonging to the plan. Procedure: Editing default components 1. Select the Test Plan to be edited. 2. Click Default Components 3. To Add: • Click Update components. • Select the components. • Click Update 1.4. Tutorial 17 nitrate Documentation, Release 3.8.17 4. To Remove: • Select the components to remove. • Click Remove Edit History To view the changelog of Document, click View Edit History. Test Plan Tags The tag function is used to replace the Testopia “Group”. Test Plans may be searched/filtered by tag. A Test Plan can have more than one tag. Procedure: Adding a tag To add a new tag: 1. Select the Test Plan to be edited. 2. Click Tags 3. To add: (a) Input tag name. (b) Click Add. 4. To remove: (a) Select the tag to remove. (b) Click Remove. 18 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Updating the default tester The default tester for a Test Case can be edited in the Test Plan window. Procedure: Updating the default tester To update the default tester: 1. Click Cases. 2. Select the Test Cases to be updated. 3. Click Default tester. 4. Enter the new tester’s email. 5. Click Ok. Using Tree View The Tree View tab shows the current plan, its parents and children using a tree style layout. It provides the ability to edit both parent and child plans. Procedure: Viewing a tree 1. Select the Test Plan. 2. Click Tree View. The tree is displayed. Procedure: Changing the parent node To change the parent node. 1. Click Tree View. 1.4. Tutorial 19 nitrate Documentation, Release 3.8.17 2. Click Change parent node. 3. Enter the parent node ID. 4. Click Ok. The tree updates. Procedure: Adding child nodes To add child nodes. 1. Click Tree View. 2. Click Add child node. 3. Enter the child node IDs. Separate multiple IDs with a comma. 4. Click Ok. 5. Verify the changes. Click Submit. The tree updates. Procedure: Removing child nodes To remove child nodes. 1. Click Tree View. 2. Click Remove child node. 3. Enter the child node IDs. Separate multiple IDs with a comma. 4. Click Ok. 5. Verify the changes. Click Submit. The tree updates. Procedure: Navigating up to parent To navigate to the parent plan 1. Click Up. 2. Note that the plan is now shown in the full tree list. 3. Clicking on the arrowheads will expand or shrink the list of children that belong to a plan. 20 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Printing a Test Plan Procedure: Printing a Test Plan To print a Test Plan: 1. Select the Test Plan to be printed. 2. Click Print Plan. A print version displays. 3. From the File menu in your Browser, click Print. Disabling a Test Plan This section outlines the process for disabling a Test Plan in the TCMS. A disabled Test Plan can not be used to create Test Runs. However, unlike deletion, it does not permanently remove the Test Plan from the TCMS. Procedure: Disabling a Test Plan To disable a Test Plan: 1. Select the Test Plan to be disabled. 2. Click Disable Plan. The plan name changes to a strike through font. 3. To enable a disabled plan, click Enable plan. Exporting a Test Plan TCMS implements the export feature in Testopia. This generates an XML file listing all the Test Cases relating to the Test Plan. These files can be imported into a Test Plan or used as a form of backup. The TCMS will allow you to export all or selected Test Cases. 1.4. Tutorial 21 nitrate Documentation, Release 3.8.17 Procedure: Exporting a Test Plan To export a Test Plan: 1. Select the Test Plan to be exported. 2. Export the Test Cases • All: click Export all cases. • Selected: click the Test Cases to export, click Export Case. The Browser’s opening file dialog box appears. 3. Select Save File. 4. Click Ok. The exported file can then be viewed, edited, or used as a template to create other files. Exported files can also be imported back into TCMS, for more information about importing see the section Importing a Test Case. Example: Sample exported XML file <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <!DOCTYPE testopia SYSTEM "testopia.dtd" [ <!ENTITY testopia_lt "<"> <!ENTITY testopia_gt ">"> ]> <testopia version="1.1"> <testcase author="example@mail.com" priority="P1" automated="" status="CONFIRMED"> <summary>dummy test cases no.2</summary> 22 Chapter 1. Contents nitrate Documentation, Release 3.8.17 <categoryname>Functional</categoryname> <defaulttester>example@mail.com</defaulttester> <notes></notes> <testplan_reference type="Xml_description">dummy testing plan</testplan_reference> <action></action> <expectedresults></expectedresults> <setup></setup> <breakdown></breakdown> <tag>Hello TCMS</tag> <tag>test</tag> <tag>App Crud</tag> </testcase> </testopia> 1.4.3 Test Cases This chapter explains how to create, search, edit, and import, clone, review, tag and remove Test Cases in the TCMS. Test Case workflow This section outlines the process for creating a Test Case in TCMS. Test Cases can not be deleted, instead they have their Active status set to false. There are three ways to associate Test Cases with a Test Plan: 1. Create a new Test Case. For more information, see Creating a Test Case. 2. Add an existing Test Case. For more information, see Using an existing Test Case. 3. Import a Test Case (XML). For more information, see Importing a Test Case. 1.4. Tutorial 23 nitrate Documentation, Release 3.8.17 Creating a Test Case This section explains the procedure for creating a Test Case. When writing a Test Case, clear setup instructions help reduce the chance of failure due to an incorrect environment. A clear set of actions with measurable expected results ensures that the Test Case produces consistent outcomes regardless of who runs it. Breakdown instructions should be provided to ensure the machine is returned to its original state. For more information see Appendix A Writing a Test Case. Procedure: Creating a new Test Case To create a new Test Case: 1. Select a Test Plan, click Cases. 2. Hover over Cases, then click on Write new case. 24 Chapter 1. Contents nitrate Documentation, Release 3.8.17 3. In the add new case screen, perform the following actions: • Enter a Summary. This will appear in search results. It must be informative and concise. • Select the Product. The product of the component being tested. • Select the Component. The part of a product being tested. For example Firefox is a component of the product RHEL 5. TCMS supports multiple components for one Test Case. • Select the Category. This is the type of test being run. For example, Regression, and Bug Verification. • Select the Automated status: manual, auto, or autoproposed. • Enter the Requirement (Legacy Testopia field). • Enter Script (Legacy Testopia field). • Enter Alias. • Enter the Default Tester. Must be a valid email. This user will be notified by email when a Test Run is created. • Select the Estimated Time to execute the Test Case. This is used as a guide when allocating resources. • Select the Priority. This is a sliding scale, with P1 being the highest. Priority is used as a guide when allocating resources. • Enter Arguments. Passed to an automated test script. • Enter Reference Link. This is a user-specified field and can be a url to git, request tracker, Bugzilla or another reference. • Enter Tags relevant to the test case. • Enter Notes. Additional information about the Test Case. 1.4. Tutorial 25 nitrate Documentation, Release 3.8.17 • In the Setup text box, enter the setup instructions. Precise, clear setup instructions help produce repeatable test results. • In the Actions text box, enter the steps to be performed. Write clear atomic actions (for example, browse to www.github.com), rather than vague statements (for example, browse the web). • In the Expected Results text box, enter the measurable results. There should be a 1:1 correlation with the actions. • In the Breakdown text box, enter the post test breakdown instructions. It is important that machines are returned to their original state following a Test Run. 4. Perform one of the following: • To save and exit, click Save. • To save and create another Test Case, click Save and add another. • To cancel the process and return to the Test Plan screen, click Back. Searching for Test Cases Test Cases can be searched using the following fields: • Case Summary • Author • Product • Plan • Priority • Automation status • Category • Status • Component • Bug ID 26 Chapter 1. Contents nitrate Documentation, Release 3.8.17 • Tag Procedure: Searching Test Cases To search Test Cases: 1. From the TESTING menu, click Search Cases. 2. In the Search Case screen, enter the required search details. 3. Click Search. The search results appear. Advanced search Advanced search accepts a combination of fields from Test Plan, Case, and Run. Procedure: Advanced Search To use advanced search for Test Plans, Cases and Runs: 1. In the search screen, click Advanced Search 2. Enter the required search terms. 1.4. Tutorial 27 nitrate Documentation, Release 3.8.17 3. Click Search Case. Editing a Test Case The Edit function modifies fields in a Test Case. Procedure: Editing a Test Case To edit a Test Case: 1. Select the Test Case to be edited, and then click Edit. 2. Edit the fields as required: • Summary • Default Tester • Estimated Time • Automated • Requirement 28 Chapter 1. Contents nitrate Documentation, Release 3.8.17 • Script • Alias • Priority • Status • Arguments • Reference Link • Tags • Notes • Testing steps (setup, actions, results, break down). 3. Perform one of the following: • To save and exit, click Save. • To save and create another Test Case, click Save and add another. • To cancel the process and return to the Test Plan screen, click Back. Note: To view the change log, click Edit History. Procedure: Bulk edit of components TCMS supports the bulk edit of components of a Test Case through the Test Plan interface. 1. Browse to the Test Plan containing the Test Cases to be edited. 2. Select the Test Cases to be edited. 3. Click Component. 4. Select the components, click Add. The Test Plan updates. Procedure: Bulk add/remove of components TCMS supports the bulk add/remove of tags of Test Cases through the Test Plan interface. 1. Browse to the Test Plan containing the Test cases to be edit. 2. Select the Test cases to be edited. 3. To add a new tag: 1.4. Tutorial 29 nitrate Documentation, Release 3.8.17 • From the Tag options click Add. • A pop-up will appear, type the tag name and press Submit. • Click Submit. 4. To remove an existing tag: • From the Tag options click Remove. • Enter tag name. TCMS will prompt the user with existing tag names. • Click Submit. Using an existing Test Case This section outlines the process for adding an existing Test Case to a Test Plan. There are two ways to achieve this: from the Test Case, from the Test Plan. Procedure: Adding a Test Case from the Test Plan To add an existing Test Case from the Test Plan screen: 1. Select a Test Plan, click Cases. 2. Click Case, then click Add cases from other plans. 30 Chapter 1. Contents nitrate Documentation, Release 3.8.17 3. In the Search Case screen, enter the search criteria, and then click Search. 4. From the search results list, select the check box of the Test Cases to be added to the Test Plan. 5. Click Add Selected Cases. Procedure: Adding a Test Plan to the Test Case To add a Test Plan from the Test Case screen: 1. Select a Test Case, and then click Test Plans. 2. In Add into another Plan, enter the Plan ID. Click Add. 1.4. Tutorial 31 nitrate Documentation, Release 3.8.17 3. Verify the Test Plan details are correct. Click Submit. Importing a Test Case This section outlines the process for importing a Test Case into a Test Plan. The Test Case must have been exported as XML from the existing Testopia database. For more information, see Exporting a Test Plan. Procedure: Importing a Test Case To import a Test Case, in the Test Plan screen: 1. Click Cases. 2. Hover over Case, then click Import cases from XML. 3. Click Browse. 4. Select the XML file to import, and then click Open. 32 Chapter 1. Contents nitrate Documentation, Release 3.8.17 5. Click Import. XML format The XML file requires the following format: 1. DTD information (as per Testopia). 2. Testopia version. 3. Test case details: • Tag meta data: author, priority, automated, status. • Test Case summary • Category Name • Default Tester • Name of Test Plan the Test Case was exported from. • Actions to be performed. • Expected Results to be measured. • Setup steps to prepare the machine for the Test Case. • Breakdown steps to return machine to original state. Example: Sample XML file. <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <!DOCTYPE testopia SYSTEM "testopia.dtd" [ <!ENTITY testopia_lt "<"> <!ENTITY testopia_gt ">"> ]> <testopia version="1.1"> <testcase author="example@mail.com" priority="P1" automated="" status="CONFIRMED"> <summary>dummy test cases no.2</summary> <categoryname>Functional</categoryname> <defaulttester>example@mail.com</defaulttester> <notes></notes> <testplan_reference type="Xml_description">dummy testing plan</testplan_reference> <action></action> <expectedresults></expectedresults> <setup></setup> <breakdown></breakdown> <tag>Hello TCMS</tag> 1.4. Tutorial 33 nitrate Documentation, Release 3.8.17 <tag>test</tag> <tag>App Crud</tag> </testcase> </testopia> Cloning Test Cases Test Cases can be cloned to multiple Test Plans: Procedure: Cloning Test Cases To clone a Test Case: 1. Browse to the Test Case. 2. Click Clone. 3. Select the Test Plan for the cloned Test Cases. Use the filter to narrow search results: • ID • Product • Product version • Plan type • Environment group • Plan author • Tag • Plan summary • Status (active) Click Filter Plan. 34 Chapter 1. Contents nitrate Documentation, Release 3.8.17 4. Click the Plans to clone this Test Case to. 5. Select Case Properties: • Create a Copy - Unchecking will create a link to the selected Test Case. • Keep original author - untick to make current user the author. • Copy the component to new product - unchecking will remove component from the cloned Test Case. 6. Click Clone. The new cloned Test Case is displayed. Note: The default clone settings will create an exact copy of the Test Case, and link it to the new Test Plan. Changes to the cloned Test Case will not affect the original version. 1.4. Tutorial 35 nitrate Documentation, Release 3.8.17 Changing Test Case status The TCMS allows the user to change the status on one, selected or all Test Cases. Procedure: Changing Test Case status To change the Test Case status: 1. Select the Test Cases to be edited: • Single Test Case - click the checkbox beside the sort ID. • Multiple Test Cases - click the checkbox beside each sort ID. • All Test Cases - click the checkbox in the column headings. 2. From Set status, select the Status. 36 Chapter 1. Contents nitrate Documentation, Release 3.8.17 3. Click Ok to apply the changes. The Test Case status is updated. Reviewing a Test Case The review function allows other Associates to provide feedback, and modify the status of a Proposed Test Case. Test Case Tags The tag function is used to replace the Testopia “Group”. Test Cases may be searched / filtered by tag. A Test Case can have more than one tag. Procedure: Adding a tag To add a new tag: 1. Select the Test Case to be reviewed, click the Tags tab. 2. Enter tag name. TCMS will prompt the user with existing tag names. 3. Click Add. Procedure: Removing a tag To remove an existing tag: 1.4. Tutorial 37 nitrate Documentation, Release 3.8.17 1. Select the Test Case, click the Tags tab. 2. Click Remove on the tag to be deleted. Changing the order of Test Cases in a Plan or Run The TCMS allows the user to drag and drop the order of Test Cases within a Test Plan and Test Run. Procedure: Changing the order of Test Cases To change the order of Test Cases: 1. Browse to the Test Plan or Test Run. 2. From the right side of the UI, click Re-order cases. 3. Drag and drop Test Cases to change order. 4. Click Done Sorting to end the process. The button will change to Submitting Changes before returning to Sort cases. Removing a Test Case from a Test Plan This section outlines the process for removing a Test Case from a Test Plan. This is particularly useful after cloning a Test Plan. There are two ways to remove a Test Case from a Test Plan: 1. Remove Test Case from the Test Plan - Cases tab. 2. Remove Test Plan from the Test Case - Test plans tab. Procedure: Removing a Test Case from the Test Plan - Case tab. To remove a Test Case: 1. Select a Test Plan. 2. Select the Test Case’s check box. 3. Click Remove. The Test Case is removed. 38 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Procedure: Removing a Test Plan from the Test Case - Test plans tab. To remove a Test Plan: 1. Select the Test Case. 2. Click Test plans. 3. Click Remove. The Test Case is removed. 1.4.4 Test Runs This chapter explains how to create, search, edit, execute, and generate reports for Test Runs in TCMS. • To view Test Runs you have created, click TESTING, then My Runs. • To view Test Runs assigned to you, click View My Assigned Runs. Creating a Test Run Test Runs are created for a specific Test Plan. Only Test Cases with a status of CONFIRMED will be added to the Test Run. A Test Run can be assigned to any user in the TCMS. Procedure: Creating a Test Run To create a Test Run: 1. Select a Test Plan, on the Cases tab hover over Run then click on Write new run from the drop-down menu. 1.4. Tutorial 39 nitrate Documentation, Release 3.8.17 2. In the Create New Test Run screen, perform the following actions: • Edit the Summary. • Select the Product. • Select the Product Version. • Select the Build. • Edit the Run Manager. • Edit the Default Tester. • If applicable, select the Set Status Automatically checkbox. • Enter the Estimated time. • Enter any Notes. • Select Environment property values. 3. Click Remove on any Test Cases that are not required for this Test Run. 4. Click Save. Procedure: Add Test Cases to an existing Test Run. To add a Test Case to a Test Run: 1. Select a Test Plan, use filter if required. 40 Chapter 1. Contents nitrate Documentation, Release 3.8.17 2. Click Run then Add into Run from the drop-down list. 3. Select the Test Run. 4. Click Update. Note: Test Cases can only be removed from a Test Run when it is created. TCMS Notifications TCMS notifies the default tester by email that they have been assigned a Test Run. Example: Test Run Notification new test run has been created for you. ### Links ### Test run: http://example.com/run/23228/ ### Basic run information ### Summary: Test run for dummy testing plan on Unknown environment Managed: username. Default tester: username. Product: TCMS Product version: 3.8.1 Build: TCMS-3.0.3-1.svn2841 Estimated time: 0:00:00 Notes: ### Test plan information ### Test Plan: dummy testing plan 1.4. Tutorial 41 nitrate Documentation, Release 3.8.17 Searching for Test Runs To search Test Runs created by other authors, use the following fields: • Run Summary • Product • Environment group • Owner: Manager|Tester, Manager, Default Tester • Case Run Assignee • Plan • Product version • Build • Status • Tag Procedure: Searching for Test Runs To search for Test Runs: 1. From the TESTING menu, click Search Runs. 2. In the Search Test Run screen, enter the required search details. 3. Click Search. The search results appear. 42 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Advanced search Advanced search accepts a combination of fields from Test Plan, Case, and Run. Procedure: Advanced Search To use advanced search for Test Plans, Cases and Runs: 1. In the search screen, click Advanced Search 2. Enter the required search terms. 3. Click Search Run. Editing a Test Run The Edit function modifies fields in a Test Run. 1.4. Tutorial 43 nitrate Documentation, Release 3.8.17 Procedure: Editing a Test Run To edit a Test Run: 1. Select the Test Run to be edited, and then click Edit. 2. Edit the fields as required: • Summary • Product • Product version • Manager • Default Tester • Estimated Time • Environment Property value • Notes • Finished 3. Click Save. Deleting a Test Run A Test Run can be deleted (removed). Procedure: Deleting a Test Run To delete a Test Run: 1. Browse to the Test Run. 2. Click Delete. 3. Click Ok to delete or Cancel to return. 44 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Cloning a Test Run A Test Run can be cloned. Procedure: Cloning a Test Run To clone a Test Run: 1. Browse to the Test Run. 2. Select test case-run(s) in the test run. Use a filter, if required, to help restrict the number of visible runs. 3. Click Clone. 4. Enter the details for the cloned run. Details are auto-populated from the original run. 5. Click Save. Executing a Test Run Test Runs can be executed at any time. The user can execute any of the Test Cases within a run, regardless of the order they appear. Use the Comment field to make notes about a Test Case. All comments will be displayed when a report is generated for a Test Run. Upon completion of a Test Run, the TCMS will annotate failed Test Cases with the message “File Bug”. Procedure: Executing a Test Run To execute a Test Run: 1. From the TESTING tab, click My Runs. 2. From the Test Runs list, click the Test Run to execute. The Test Run summary is displayed. 1.4. Tutorial 45 nitrate Documentation, Release 3.8.17 The user is able to change the Test Case status on this page. 3. Execute each Test Case. Enter a Comment if required. Comments will be displayed when a report is generated for the Test Run. 4. Select the appropriate Status icon. 46 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Icon Meaning Idle - Default value. The Test Case has not been examined. Running - Test Case is in progress. Paused - This status is used to denote a problem with the test case itself that prevents the test from being completed. Passed - Test Case met all the expected results. Failed - Test Case did not meet all the expected results, or produced an unhandled exception. Blocked - Test Case has a dependency that has failed. Error - Test environment has problems that prevent Test Case execution. Waived - Test Case is not suitable for this run or blocked by other cases. Procedure 4.9. Bulk update of Test Cases Bulk operations include change case-runs status, add/remove bug by input bug ID from case-runs, add comment to case-run. 1. Select the Test Cases to be updated. 2. Click on the menu item for the required operation: • Status - select the new status. • Bugs - enter the Bug ID. • Comment - input the comment. Note: It is important that you file bugs against Test Cases that fail. TCMS reminds users of this by annotating failed Test Cases with “File Bug”. Changing the status of a Test Run A Test Run’s status can be changed from Running to Finished even if all Test Cases have not been completed. If the check box Set Status Automatically is selected in the test run, when all the test cases in the run have a passed, failed or blocked result; the test run’s status will be changed to Finished. Procedure: Changing Test Run status To change the status of a Test Run: 1. Browse to the Test Run. 1.4. Tutorial 47 nitrate Documentation, Release 3.8.17 2. Click Set to Finished. 3. To re-activate a Test Run, click Set to Running. Note: Change status in Edit Test Run It is also possible to change the status of a Test Run from the Edit Test Run menu. Generating a Test Run report TCMS generates reports for Test Runs, regardless of their state. A report provides the following information: • Plan details: – Product – Product version – Plan – Plan version – Platform – Operating system – Run summary – Run notes – Start date – Stop date. • Test Case details: – Closed at – ID 48 Chapter 1. Contents nitrate Documentation, Release 3.8.17 – Summary – Case ID – Tested by – Group – Status • Summary statistics: – Total number of Test Cases Run. – Total number of Pending Test Cases. – Test Run completed (%). • Bug List: – Individual bugs – View all bugs Procedure: Generating a report for a Test Run. To generate a report for a Test Run: 1. Select the Test Run. 2. From the Case Status box, click Report. A printable version displays. 3. From the File menu in your Browser, click Print. 1.4.5 Environment Variables TCMS uses environment variables to define the test hardware setup. The Environment Group is the top level container object, it contains one or more Properties, each having a range of values. Properties can belong to more than one group. Group Desktops Property Architecture Memory (MB) 1.4. Tutorial Value i386, x86_64, PPC 512, 1024, 2048, 4096 49 nitrate Documentation, Release 3.8.17 Managing environment groups A group is the container object in an environment. It allows a Test Plan to be targeted to a specific set of hardware and hence provides greater repeatability in testing. Searching environment groups Environment groups can be searched for by name. Procedure: Searching environment groups To search an environment group: 1. From the ENVIRONMENT tab, click Groups. 2. Enter the search parameters, and then click Search Environment Group. Adding a new group Adding a group uses the Edit Group screen. Procedure: Adding a new group. 1. Click ENVIRONMENT. 2. Click Add New Group. 50 Chapter 1. Contents nitrate Documentation, Release 3.8.17 3. Enter Group Name. 4. In the Edit Environment Group screen, perform the following actions: • Select Enabled. • In the Available Properties box, select the property to add, and then click Add. Repeat this process to add more properties. 5. Click Save. Note: To edit existing, or create new properties, click Edit Properties. Editing an environment group An environment group can only be edited by authenticated users. Procedure: Edit an environment group To edit an environment group: 1. Click ENVIRONMENT. 2. From the Actions column, click Edit. 3. Edit the fields as required: • Environment Group Name 1.4. Tutorial 51 nitrate Documentation, Release 3.8.17 • Enabled checkbox • Properties list 4. Click Save. Deleting a group Groups can not be deleted. A group that is no longer required must be disabled. Procedure: Disabling a group To disable a group: 1. From the ENVIRONMENT menu, click Groups. 2. From the Group list, click Disable. The group name will change to a strike through font. To re-activate a group, click Enable. Managing environment properties Environment properties and their associated values can be used in multiple environment groups. When creating values ensure that they are discrete measurable properties. For example, screen resolution should be ‘1920x1200’ rather than ‘24 inch widescreen’. Navigating property management The Environment Properties screen provides the ability to edit, create, enable, and disable properties. • To access the Properties Management screen, from the ENVIRONMENT tab, click Properties. • To display a property’s values, click on the property. 52 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Note: Due to auditing requirements, environment properties and values cannot be deleted. To disable unused properties and values, click Disable. Add a property Procedure: Adding an environment property To add an environment property: 1. From the ENVIRONMENT tab, click Properties. 2. Click Add. 3. Enter the New Property Name ensuring that the property name is descriptive, and then click Ok. 4. Select the new property. The row containing the property will become orange. 5. In the Values text box, enter the property value. Click Add Value. The new value is now displayed. 1.4. Tutorial 53 nitrate Documentation, Release 3.8.17 Editing a Property Procedure: Editing an environment property To edit an environment property: 1. From the ENVIRONMENT tab, click Properties. 2. Renaming: • Click Rename. • Enter the New Property Name, and then click Ok. 3. Edit values: • In the row containing the value, click Rename. • Enter the new Value, and then click Ok. 1.4.6 Reports This chapter explains how to generate reports in TCMS. Reports by Product and Version TCMS can generate a list of Test Plans, Cases and Runs by product, version, component, and build. Procedure: View a product report To view a product report: 1. Click the REPORTING tab. 2. Click the Product Name. The product overview is displayed. 54 Chapter 1. Contents nitrate Documentation, Release 3.8.17 3. Click Versions to view the report sorted on product version. 4. Click Builds to view the report sorted on product builds. 5. Click Components to view the report sorted on product components. Custom Reports TCMS can generate a custom report based on search conditions. Procedure: Create a custom report To create a product report: 1. From the REPORTING tab, click Custom 1.4. Tutorial 55 nitrate Documentation, Release 3.8.17 2. Enter the search details: • Product • Product version • Case category • Case component • Plan name • Build 3. Click Search. The results are displayed. Testing Reports TCMS can generate testing reports based on search conditions. Procedure: Creating a testing report To create a product report: 56 Chapter 1. Contents nitrate Documentation, Release 3.8.17 1. From the REPORTING tab, click Testing Report. 2. Select the product from the drop down box and either 1 or a range of versions. 3. Click Generate Report. The results are displayed. Note: No additional information is required to generate the testing report but if you want to provide values for Execute Date and Report Type you will get more specific results. 1.4.7 Administration The TCMS Administration tab allows administrators to manage: • Group and user permissions • Entities • Test Plans and Test Cases. 1.4. Tutorial 57 nitrate Documentation, Release 3.8.17 Managing permissions The Auth administration section covers Groups and Users. Groups The TCMS uses groups to manage access to parts of the system. Groups have two fields: name and permissions. Adding a group A group requires a name and a set of permissions. Procedure: Adding a group To add a group: 1. From the ADMIN menu, click Auth. 58 Chapter 1. Contents nitrate Documentation, Release 3.8.17 2. Click Groups, then click Add Group. 3. In the add group screen, perform the following actions: • Enter the Group Name. • From Available permissions, select the Group’s permissions. 4. Click Add. 1.4. Tutorial 59 nitrate Documentation, Release 3.8.17 The Chosen permissions list is updated. 5. Click Save. Editing a group The group name can be changed. Permissions can be added or removed. Procedure: Editing a group To edit a group: 1. From the ADMIN menu, click Auth. 2. Click Groups. 3. From the Group list, click the group to edit. 4. Select the permission required. Click Add or Remove as required. 5. Click Save. Users Assigning administrator rights A user with administrator rights can access the ADMIN tab. Procedure: Assigning administrator rights To assign administrator rights: 1. From the ADMIN menu, click Auth. 2. Click Users. 3. In the Search Bar, enter the username, and then click Search. 4. Click the Username. 5. In the Permissions screen, select Staff status. 6. Click Save. The Staff Status icon changes to a green tick. 60 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Note: If the user requires full permissions, select Superuser status. Assigning permissions User permissions can be granted or revoked for individual components of the TCMS. For example, the ability to add attachments to a Test Case. Procedure: Assigning permissions To assign permissions: 1. From the ADMIN menu, click Auth. 2. Click Users. 3. In the Search Bar, enter the username, and then click Search. 4. Click the Username. 5. In the User permission screen: • To add permissions, select the permissions to be granted, and then click Add. • To remove permissions, select the permissions to be revoked, and then click Remove. 6. Click Save. Adding a user to a group Group permissions in the TCMS work the same as they do in Linux. The system checks a user’s personal permissions, then group permissions. Procedure: Adding a user to a group To add a user to a group: 1. From the ADMIN menu, click Auth. 2. Click Users. 3. In the Search Bar, enter the username, and then click Search. 4. Click the Username. 5. From Groups select the user to add. 6. Click Save. Updating personal information The TCMS can store email, first and last name details of a user. Procedure: Updating personal information To update personal information: 1. From the ADMIN menu, click Auth. 2. Click Users. 3. In the Search Bar, enter the username, and then click Search. 4. Click the Username. 5. From Personal Information edit: • First Name • Last Name • Email Address 1.4. Tutorial 61 nitrate Documentation, Release 3.8.17 6. Click Save. Deleting a user Users can not be deleted from TCMS. A user that is no longer required must be disabled. Procedure: Disabling a user To disable a user: 1. From the ADMIN menu, click Auth. 2. Click Users. 3. In the Search Bar, enter the username, and then click Search. 4. Click the Username. 5. Untick the Active checkbox. 6. Click Save. Access Control Lists The TCMS uses ACLs for the user groups: Guest, Tester, and Admin. The permissions for each group can be controlled from the Group section in the AUTH tab. Default ACLs in the TCMS. Group Guest Test Plan Read Test Case Read Environment Tester Read / Write Read / Write Read / Write Administrator Read / Write Read / Write Read / Write • Administration • • Read / Write Managing entities The following entities are listed in the TCMS: • Builds • Classifications • Components • Priorities • Products • Versions 62 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Builds The entity build describes the operating system version (build) used for Test Cases. This is particularly important to help ensure Test Cases are repeatable. Procedure: Adding a build To add a build: 1. From the ADMIN menu, click Management. 2. Click Builds. 3. Click Add build. 4. In the Add build screen, perform the following actions: • Enter Name. • Select Product. • Enter build Description. 1.4. Tutorial 63 nitrate Documentation, Release 3.8.17 5. Click Save. Editing a build The name, product, and is active fields can be edited. Procedure: Editing a test build To edit a test build: 1. From the ADMIN menu, click Management. 2. Click Test Build. 3. Click the ID of the Test Build to be edited. 4. In the Change Test Build screen edit the following: • Name • Product • Description • Is active 5. Click Save. Classifications A classification is a title used to group products of a similar nature. For example, Red Hat, Fedora, Internal Infrastructure. Procedure: Adding a classification To add a classification: 1. From the ADMIN menu, click Management. 2. Click Classifications. 3. Click Add classification. 4. In the Add classification screen, perform the following actions: • Enter the Name. • Enter a Description. • Enter the Sortkey. 64 Chapter 1. Contents nitrate Documentation, Release 3.8.17 5. Click Save. Editing a classification The name and description fields can be edited. 1. From the ADMIN menu, click Management. 2. Click Classification. 3. Click the ID of the classification to edit. 4. In the Change classification screen edit the following: • Name • Description • Sortkey 5. Click Save. Components A product is broken down into components. For example, two components of RHEL 5 are glibc and gdm. Procedure: Adding a component To add a component: 1. From the ADMIN menu, click Management. 2. Click Components. 3. Click Add component. 4. In the Add component screen, perform the following actions: • Enter the Name. • Select the Product. • Select the Initial owner. • Select the Initial QA contact. • Enter the component Description. 1.4. Tutorial 65 nitrate Documentation, Release 3.8.17 5. Click Save. Note: Creating entries To create the fields Product, Initial Owner, or Initial QA Contact, click the green plus icon. Editing a component The fields name, product, initial owner, QA contact, and description can be edited. Procedure: Editing a component To edit a component: 1. From the ADMIN menu, click Management. 2. Click Component. 3. Click the ID of the component to be edited. 4. In the Change component screen edit the following: • Name • Product • Initial Owner • Initial QA contact • Description 5. Click Save. Priorities Test Cases can be assigned a priority. Adding a priority The priority field is alphanumeric. Procedure: Adding a priority To add a priority: 1. From the ADMIN menu, click Management. 2. Click Priorities. 66 Chapter 1. Contents nitrate Documentation, Release 3.8.17 3. Click Add priority. 4. In the Add priority screen, perform the following actions: • Enter the Value. • Enter the Sortkey. • Click Is active. 5. Click Save. Editing a priority All three attributes of a Priority can be edited. Procedure: Editing a priority To edit a priority: 1. From the ADMIN menu, click Management. 2. Click Priorities. 3. From the Id column, click the priority to edit. 4. In the Change priorities screen, edit the following: • Value • Sortkey • Is active 5. Click Save. Products All testing is based around the products made by Red Hat. Procedure: Adding a product To add a product: 1. From the ADMIN menu, click Management. 2. Click Products. 3. Click Add product. 4. In the Add product screen, perform the following actions: • Enter the Name. • Select the Classification. • Enter the product Description. • Click Disallow New. 1.4. Tutorial 67 nitrate Documentation, Release 3.8.17 • Select the Votes Per User. • Enter the Max Votes Per Bug. • Click Votes To Confirm. 5. Click Save. Editing a product The fields name, classification, description, disallow new and votes to confirm can be edited. Procedure: Editing a product To edit a product: 1. From the ADMIN menu, click Management. 2. Click Products. 3. Click the ID of the product to be edited. 4. In the Change product screen, edit the following: • Name • Classification • Description • Disallow New • Votes To Confirm 5. Click Save. Versions Each product in the TCMS needs a version. Many products will have multiple versions. For example, Firefox 3.0.14, 3.5.3. 68 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Procedure: Adding a version To add a version: 1. From the ADMIN menu, click Management. 2. Click Versions. 3. Click Add version. 4. In the Add version screen, perform the following actions: • Enter Value. • Select Product. 5. Click Save. Editing a version The fields value, and product can be edited. Procedure: Editing a version To edit a version: 1. From the ADMIN menu, click Management. 2. Click Versions. 3. Click the ID of the Version to be edited. 4. In the Change version screen, edit the following: • Value • Product 5. Click Save. Managing Test Plans This section covers the administration of meta data relating to Test Plans. Test Plan types A Test Plan type is used to describe the test being performed. For example, acceptance or smoke. Adding a Test Plan type A new type needs a name, and description. 1.4. Tutorial 69 nitrate Documentation, Release 3.8.17 Procedure: Adding a Test Plan type To add a Test Plan type: 1. From the ADMIN menu, click Test Plans. 2. Click Test Plan Categories. 3. Click Add Test Plan Types. 4. In the Add test plan type screen, perform the following actions: • Enter the Name. • Enter the type Description. 5. Click Save. Test plans This screen provides a list of all the test plans in TCMS. The Add test plan link can be used to create a test plan. For more information, see Creating a Test Plan. Managing Test Cases This section covers the administration of meta data relating to Test Cases. Test Case Bug Systems The bug system for test cases is Red Hat Bugzilla. To view the details click the Test case bug systems. Test Case categories A category is used to describe the type of test being performed. For example, regression or bug verification. Adding a Test Case category A new category needs a name, product and description. 70 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Procedure: Adding a category To add a category: 1. From the ADMIN menu, click Test Cases. 2. Click Test case categories. 3. Click Add Test Case Category. 4. In the Add test case category screen, perform the following actions: • Enter the Name. • Select the Product. • Enter the category Description. 5. Click Save. Test cases This screen provides a list of all the test cases in TCMS. The Add test case link can be used to create a test case. For more information, see Creating a Test Case. 1.4.8 Use Cases The following Use Cases represent some common scenarios for using the TCMS. Manual Testing The Manual Testing use case is: 1. QE Project / Team Lead assigns feature to be tested. 2. QA searches TCMS for Test Plan. See the section Searching for Test Plans. 3. QA creates new Test Run. See the section Creating a Test Run. 4. QA Executes Test Run. See the section Executing a Test Run. 5. Test Run report available for viewing. See the section Generating a Test Run report. 1.4. Tutorial 71 nitrate Documentation, Release 3.8.17 72 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Writing a Test Plan The Writing a Test Plan use case is: 1. QE Project / Team Lead assigns feature to be tested. 2. QA writes a new Test Plan. See the section Creating a Test Plan. 3. QA adds Test Cases: (a) Create new Test Case. See the section Creating a Test Case. (b) Import XML Test Case. See the section Importing a Test Case. (c) Add existing Test Case. See the section Using an existing Test Case. 4. QA Executes Test Run. See the section Executing a Test Run. 1.4. Tutorial 73 nitrate Documentation, Release 3.8.17 PM Reporting The Project Manager use case is: 1. PM assigns searches for a Test Plan. See the section Searching for Test Plans. 2. PM assigns priorities to Test Cases. See the section Editing a Test Case. 3. QA searches TCMS for Test Plan. See the section Searching for Test Plans. 74 Chapter 1. Contents nitrate Documentation, Release 3.8.17 4. QA creates new Test Run. See the section Creating a Test Run. 5. QA Executes Test Run, based on Test Case priorities. See the section Executing a Test Run. 6. Test Run report available for viewing. See the section Generating a Test Run report. 1.4. Tutorial 75 nitrate Documentation, Release 3.8.17 76 Chapter 1. Contents nitrate Documentation, Release 3.8.17 Cloning a Test Plan The Cloning a Test Plan use case is: 1. QE Project / Team Lead assigns feature to be tested in new version of product. 2. QA searches TCMS for Test Plan. See the section Searching for Test Plans. 3. QA clones Test Plan. See the section Cloning a Test Plan. 4. QA creates new Test Run. See the section Creating a Test Run. 5. QA Executes Test Run. See the section Executing a Test Run. 6. Test Run report available for viewing. See the section Generating a Test Run report. 1.4. Tutorial 77 nitrate Documentation, Release 3.8.17 78 Chapter 1. Contents nitrate Documentation, Release 3.8.17 1.4.9 Database Schema The following tables are now obsolete: • test_environment_* • profiles (replaced by auth_user), profiles_activity • groups (replaced by auth_groups). Table A.1. TCMS DATABASE DRIVER DESCRIPTION TCMS mysql TCMS database schema Table A.2. attach_data NAME TYPE DESCRIPTION attach_data TABLE The content of attachments. Table Info: FIELD id thedata TYPE MEDIUMINT LONGBLOB DEFAULT NUL NO KEY PRI NO REMARK The attachment id (foreign key attachments.attach_id). The content of the attachment. Table A.3. attachments NAME TYPE DESCRIPTION attachments TABLE Users can upload attachments to bugs. An attachment can be marked as a patch. Attachments are stored in the attachments table. Table Info: FIELD TYPE attach_id bug_id creation_ts description mimetype ispatch filename submitter_id isobsolete isprivate isurl DEFAULT NUL KEY REMARK MEDIUMINT MEDIUMINT NO NO PRI MUL DATETIME MEDIUMTEXT MEDIUMTEXT TINYINT VARCHAR MEDIUMINT NO NO MUL Unique ID. The bug to which this is attached (foreign key bugs.bug_id). The creation time. Description of the attachment. TINYINT TINYINT TINYINT NO NO NO NO MIME type of the attachment. YES NO NO Non-zero if this attachment is a patch file. Filename of the attachment. Userid of the attachment (foreign key auth_user.id) MUL Non-zero if attachment is obsolete. Non-zero if attachment is private. Non-zero if this attachment is actually a URL. Table A.4. auth_group NAME TYPE DESCRIPTION 1.4. Tutorial auth_group TABLE Django Groups table. Replaces the Testopia table groups. 79 nitrate Documentation, Release 3.8.17 Table Info: FIELD id name TYPE INT(11) VARCHAR(80) DEFAULT NULL NULL NUL NO NO KEY PRI UNI REMARK Group ID. Auto increment. Group name. Table A.5. auth_group_permissions NAME TYPE DESCRIPTION auth_group_permissions TABLE Permissions for the group. Table Info: FIELD id group_id permission_id TYPE INT(11) INT INT DEFAULT NULL NULL NULL NUL NO NO NO KEY PRI MUL MUL REMARK Unique ID. Auto increment. Foreign key auth_group.id Foreign key auth_permission.id Table A.6. auth_message NAME TYPE DESCRIPTION auth_message TABLE Django message table. Used to exchange messages between users. Table Info: FIELD id user_id message TYPE INT(11) INT(11) LONGTEXT DEFAULT NULL NULL NULL NUL NO NO NO KEY PRI REMARK Unique ID. Auto increment. Foreign key auth_user.id Authorization message. Table A.7. auth_permission NAME TYPE DESCRIPTION auth_permission TABLE Django permissions. The permissions are based on the app and models.There are three permissions for each model: add, change, and delete. Table Info: FIELD id TYPE INT(11) DEFAULT NULL NUL NO KEY PRI name content_type_id VARCHAR(50) INT(11) NULL NULL NO NO MUL codename VARCHAR(100) NO MUL REMARK Unique ID. Auto increment. Permission name. Foreign key django_content_type.id • Table A.8. auth_user NAME TYPE DESCRIPTION auth_user TABLE Django User/Group/ACL table. Replaces the Testopia table profiles. Table Info: 80 Chapter 1. Contents nitrate Documentation, Release 3.8.17 FIELD id username TYPE INT(11) VARCHAR(30) DEFAULT NULL NULL NUL NO NO first_name last_name email password VARCHAR(30) VARCHAR(30) VARCHAR(75) VARCHAR(128) TINYINT(1) TINYINT(1) TINYINT(1) DATETIME DATETIME NULL NULL NULL NULL NO NO NO NO REMARK Unique ID. Auto increment. Unique username. Generally Kerberos uname. User’s first name. User’s last name. User’s email. User’s password hash. NULL NULL NULL NULL NULL NO NO NO NO NO 1 is staff, 0 otherwise. 1 is active user, 0 otherwise. 1 is super user, 0 otherwise. Date of last login. Date user account added to system. is_staff is_active is_superuser last_login date_joined KEY PRI UNI Table A.9. auth_user_groups NAME TYPE DESCRIPTION auth_user_groups TABLE Mapping of user to groups. . Table Info: FIELD id user_id group_id TYPE INT(11) INT INT DEFAULT NULL NULL NULL NUL NO NO NO KEY PRI MUL MUL REMARK Unique ID. Auto increment. Foreign key auth_user.id Foreign key auth_group.id Table A.10. auth_user_user_permissions NAME TYPE DESCRIPTION auth_user_user_permissions TABLE Mapping of user to permissions. Table Info: FIELD id user_id permission_id TYPE INT(11) INT(11) INT(11) DEFAULT NULL NULL NULL NUL NO NO NO KEY PRI MUL MUL REMARK Unique ID. Auto increment. Foreign key auth_user.id Foreign key auth_permission.id Table A.11. bug_group_map NAME TYPE DESCRIPTION bug_group_map TABLE Mapping of bugs to groups. Table Info: FIELD bug_id group_id TYPE MEDIUMINT MEDIUMINT DEFAULT NUL NO NO KEY PRI PRI REMARK Bug ID (foreign key bugs.bug_id). The group ID (foreign key groups.id). Table A.12. bug_severity NAME TYPE DESCRIPTION bug_severity TABLE The serverity values for bugs. Table Info: 1.4. Tutorial 81 nitrate Documentation, Release 3.8.17 FIELD id value sortkey isactive TYPE SMALLINT VARCHAR SMALLINT TINYINT DEFAULT 1 NUL NO NO NO NO KEY PRI UNI MUL REMARK Unique ID. Severity value. Determines the order in which values are shown. 1 if available in the UI, 0 otherwise. KEY PRI UNI MUL REMARK Unique ID. Status value. Determines the order in which values are shown. 1 if available in the UI, 0 otherwise. Table A.13. bug_status NAME TYPE DESCRIPTION bug_status TABLE The status values for bugs. Table Info: FIELD id value sortkey isactive TYPE SMALLINT VARCHAR SMALLINT TINYINT DEFAULT 1 NUL NO NO NO NO Table A.14. bugs NAME TYPE DESCRIPTION bugs TABLE The bug details. Table Info: 82 Chapter 1. Contents nitrate Documentation, Release 3.8.17 FIELD TYPE MEDIUMINT asMEDIUsigned_to MINT bug_file_loc TEXT bug_severity VARCHAR bug_status VARCHAR creation_ts DATETIME delta_ts DATETIME short_desc VARCHAR op_sys VARCHAR priority VARCHAR product_id SMALLINT rep_platform VARCHAR reporter MEDIUMINT version VARCHAR compoSMALLnent_id INT resolution VARCHAR tarVARget_milestone CHAR qa_contact MEDIUMINT staMEDItus_whiteboardUMTEXT votes MEDIUMINT keywords MEDIUMTEXT lastdiffed DATETIME everconTINYINT firmed reTINYINT porter_accessible cclist_accessible TINYINT DEFAULT bug_id estimated_time remain1.4. Tutorial ing_time deadline DECIMAL DECIMAL DATETIME NUL KEY REMARK NO PRI Bug ID. NO MUL Current owner of the bug (foreign key auth_user.id). YES A URL which points to more information about the bug. NO MUL Severity value of a bug (foreign key bug_severity.value). NO MUL Workflow status of the bug (foreign key bug_status.value). YES MUL Time of bug creation. NO NO NO MUL The timestamp of the last update. This includes updates to some related tables. Short description of the bug. NO MUL Operating system on which the bug was observed (foreign key op_sys.value). MUL The priority of the bug (foreign key priority.value). NO MUL Product the bug relates to (foreign key products.id). NO NO Platform on which the bug was reported (foreign key rep_platform.value). MUL User who reported the bug (foreign key auth_user.id). NO MUL Product version (foreign key versions.value). NO MUL Product component (foreign key components.id). NO MUL Bug resolution (foreign key resolution.value). NO MUL Milestone by which this bug should be resolved (foreign key milestones.value). MUL The QA contact (foreign key auth_user.id). NO NO NO Small whiteboard field. MUL The number of votes. NO A set of keywords. Note: duplicates information in the keywords table (foreign key keyworddefs.name). YES The time at which bug change information was last emailed to the CC list. 1 if this bug has ever been confirmed. Used for validation of some sort. 1 if the reporter can see this bug (even if in the wrong group), 0 otherwise. 1 if people on the CC list can see this bug (even if in the wrong group), 0 otherwise. The original estimate of the total effort required to fix this bug (in hours). The current estimate of the remaining effort required to fix this83 bug (in hours). Used by hwcert to record the hwcert public cert date. NO 1 NO 1 NO 0.00 NO 0.00 NO YES nitrate Documentation, Release 3.8.17 Table A.15. bugs_activity NAME TYPE DESCRIPTION bz_activity TABLE Records activity on the bug. Table Info: FIELD TYPE DEFAULT bug_id MEDIUMINT atMEDIUtach_id MINT who MEDIUMINT bug_when DATETIME fieldid MEDIUMINT added TINYTEXT reTINYmoved TEXT NUL KEY REMARK NO MUL Bug ID (foreign key bugs.bug_id). YES NO If the change was to an attachment (foreign key attachments.attach_id). MUL User (foreign key auth_user.id). NO MUL Date the change occurred. NO MUL Field ID of the change (foreign key fielddefs.id). YES The new value of this field. YES The old value of this field. Table A.16. bz_schema NAME TYPE DESCRIPTION bz_schema TABLE The Bugzilla database schema Table Info: FIELD TYPE DENUL KEY REMARK FAULT schema_data LONGNO A serialized version of the abstract schema. Format is readable in Perl. BLOB verDECNO The version number of the abstract schema data structures. This is not the sion Ischema version, it does not change as tables, columns, and indexes are MAL added and removed. Note: Is there any specific reason why a User Guide contains a database schema? Converting 200 tables into Confluence is very laborious and I’m not sure will be of benefit. Converting 15 took approximate 5 hours. 1.4.10 Appendix: Writing a Test Case What is a Test Case? A Test Case outlines a set of conditions, or variables, under which the tester determines whether an application or software system meets the specifications. Test Case details: • The goals of the test. • The results the test should produce. • The circumstances in which the test should run. 84 Chapter 1. Contents nitrate Documentation, Release 3.8.17 • How the test should be implemented. A sound Test Case is: • Accurate: A Test Case assesses the summary points. • Economical: A Test Case has only the essential steps. • Repeatable: A Test Case is a controlled experiment. The test should produce the same results each time it is executed. • Appropriate: A Test Case has to be appropriate for the testers and the environment. This includes future maintenance and regression testing. • Traceable: The requirements of the Test Case must be outlined. • Self Cleaning: Returns the test environment to the pre-test state. Components of a Test Case A Test Case must include: • Summary • Action • Effect • Test Data (if required) Summary The Summary contains the essence of the Test Case including the functional area and purpose of the test, and goals of the Test Case. When writing the summary: • Use Verb + Object Phrase structure. • Use sentence case, that is, only the first word of the summary begins with a capital letter. • Be concise, the summary should be less than 60 characters. • Good examples: – Summary: Launch Firefox by icon on the panel. – Summary: Initiate chat from the conversation window. • Bad examples: – Summary: Save attachments – Summary: Compose Window – Add Attach Files – File Number – Summary: Offline setting – Summary: Send Unsent Messages Action The Action covers the circumstances in which the test will run and how the test should be implemented. The first step is to define any prerequisites for the test. For example, the testing environment, test data, and the Test Cases. The second is to list the steps a tester must follow to execute the test. When writing the action: • Use plain English, keep the language simple and specific. 1.4. Tutorial 85 nitrate Documentation, Release 3.8.17 • Write steps clearly and at a low level. Assume the tester has no experience and is executing the tests independently. • Keep to less than 15 steps per Test Case. If a Test Case requires more than 15 steps it may need to be separated into two or more Test Cases. Effect The Effect covers the results of the test. The Results are the expected behaviour of the system following verification/validation of any Test Case. For example, this could include: screen pop-ups, data updates, display changes, or any other event or transaction on the system that is expected to occur when the Test Case step is executed. When writing the effect: • Use accurate terms to describe the expected behavior. Do not use vague descriptions such as, ‘works fine’, ‘works normally’, or ‘opens successfully’. • Write effects clearly, using a low level of language. Assume the tester has no experience and the effect is the only standard to pass or fail a test. • Break down the verification according to the steps outlined in Action. Test Case review checklist A Test Case should be executed by a tester in under 20 minutes. Refer to the below checklist when reviewing a Test Case. Does the Test Case have: • All the environment setup information • All the test data needed for the test • A clear and concise summary • A prerequisite section • Clear actions with less than 15 steps • Clear effects 1.5 Contribution Nitrate team welcomes and appreciates any kind of contribution from community to make Nitrate better and better. Any one who is interested in Nitrate is able to contribute in various areas, whatever you are a good and experienced developers, documentation writer or even a normal user. 1.5.1 Testing Testing, testing, and testing. Testing is the most important way to ensure the high quality of Nitrate to serve the community. There are many areas to test, such as the features, documentation, translation, and others you may focus on. Once you find a problem, please do search it in the ‘Issues‘_ to see whether it has been reported by other people and the discussion on it. If no one reported there yet, you are encouraged to file one with detailed and descriptive comment to give a clear description. 86 Chapter 1. Contents nitrate Documentation, Release 3.8.17 1.5.2 Documentation Documentation has been provided along with the source code within docs/ directory. You could go through the documentation to find any potential typos or out-of-date content. This is good chance for you to become outstanding Nitrate documentation writer to help users and developers from community understand and use Nitrate smoothly and easily. Documentation is built using Sphinx. All content are written in reStructuredText format. You can open and edit them by using any your favorite text editor. 1.5.3 Translation We are willing to make our contribution to benefit the world. To translate Nitrate to usual languages in the universe is a critial task. Your contribution is so important to everyone. Picking up and editing the PO file of specific language you are skilled in. Before making pull request, make sure your translation have no grammatical mistakes and semantic errors. Feel free the look into to translation issues by consulting language experts around you when you hesitant. 1.5.4 Package Currently, Nitrate team only support to distribute in standard Python package and RPM package by providing a well maintained SPEC file. You are encouraged to package for other package system, such as the deb package for Debian based Linux distributions. 1.5.5 Development If you are a experienced programmer in Python and Django, even if you are interested in learning how to develop a website using Django, contribute patch to fix problems or improve features are both welcome. Please dont’ be hesitated to contact Nitrate team to disucss your ideas. Contribute code to Nitrate, please do following steps. Get code Code is being hosted in Github. Following the guide in Github to fork and clone code to your local machine. For example, I have forked project and then I can clone to my local by issuing git clone https://github.com/my_username/Nitrate.git Confirm the problem 1. Before making any changes to the code, you should search in Issues to see whether someone else is working on the issue you want to fix. This is helpful to avoid duplicated work of you. Also, this is a good chance to communicate with the owner to share what you are thinking of. 2. If no bug there, create a bug and give detailed information as much as possible. If there is already a bug filed, and nobody takes it, then you may take it and change status to ASSIGNED. 1.5. Contribution 87 nitrate Documentation, Release 3.8.17 Hack, hack and hack Happy hacking. 1. create local branch based on the master branch. 2. hacking, hacking and hacking with writing unit tests ... 3. test, test and test ... this command will help you to run project’s whole unit tests conveniently. make test 4. ensure your code is passed the check of PEP8, running this command to help you check code style much conveniently. make flake8 5. when your code is ready, push to your code repository, and then make a pull request to develop branch. A good commit message will help us to understand your contribution easily and correctly. You commit message should follow this format: summary to describe what this commit does Arbitrary text to describe why you commit these code in detail The first line is the summary of commit. This is necessary as you are doing in other projects. Give a short and descriptive enough words. Then, a blank line there. And next is the detail part containing detail information of what and why this commit fixes or provides new feature. The length of summary line should be limited within range 70-75. The remaining text should be wrapped at 79 character. The last thing is don’t forget add issue number in summary. For example, fix #1 improve testcase loading performance Review & Acceptance Till now, congratulations to you that you have contributed to Nitrate project in stage. However, Nitrate team will take time to review your pull request. We will review contributions as soon as possible, however there is not guarantee that each patch will be reviewed and give response to contributor in a very short time. Well, please be patient to wait for our review. The reivew process will happen in the pull request totally, so all your experience working with Github applies to this review process too. Once problems found, the response will be commented. Please fix all problems, then rebase upon the latest code and make a new pull request. If everything is okay, we are happy to accept your code and merge into develop branch. 1.6 FAQ TODO.... 88 Chapter 1. Contents nitrate Documentation, Release 3.8.17 1.7 Report an Issue 1.7.1 Security Issues If you think that an issue with nitrate may have security implications, please do not publically report it in the bug tracker, mailing lists, or IRC. Nitrate has a dedicated process for handling (potential) security issues that should be used instead. So if your issue has security implications, ignore the rest of this page and follow the security process instead. 1.7.2 General Issues We use Github issues to manage various kinds of issues. If you have any good idea, or catch a bug, please do create an issue with much details so that everybody from community could understand and get involved into the discussion easily. Also, an issue with much details can help developers to know the problem deeply and make a proper solution finally. Before you file an issue, a good practice is to search issues to see whether any others have same or similar problems. Avoid duplicated issues will always benifit users and developers. If there is, join the discussion, give your use cases or reproduce steps. We categorize issues into • enhancement • bug • feature request • question Please choose a proper one for your issue. If you decide to write code, though, before you begin please read the contributor guidelines, especially the first point: “Discuss any large changes on the mailing list first. Post patches early and listen to feedback.” Few development experiences are more discouraging than spending a bunch of time writing a patch only to have someone point out a better approach on list. 1.7.3 Template of a successful bug report Description of problem: Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info: 1.7. Report an Issue 89 nitrate Documentation, Release 3.8.17 1.8 XMLRPC API 1.9 Changelog Change Log ========== 3.8.17-1 (Feb 11 2015) ---------------------- ignore empty string in white space character escape 3.8.16-1 (Feb 11 2015) ---------------------- revert whitespace filter in run/testcaserun notes field 3.8.15-1 (Jan 23 2015) ---------------------- add whitespace filter in plan/case/run text field 3.8.14-1 (Dec 22 2014) ---------------------- Specify html.parser explicitly to parse HTML document 3.8.13-1 (Dec 18 2014) ---------------------- Bug 1174111 [Test Plan]Test Plan doesn't recognize some scripts content when edit plan to upload html files. 3.8.12-1 (Dec 4 2014) --------------------- Refine documents 3.8.11-1 (Oct 15 2014) ---------------------- TCMS-689 TCMS-647 TCMS-541 TCMS-545 TCMS-663 TCMS-666 TCMS-688 TCMS-704 TCMS-714 TCMS-702 TCMS-659 TCMS-542 TCMS-549 TCMS-184 TCMS-716 TCMS-717 90 Write unittest for testcaserun, filters, tag, version [Refine modulization] move app-specific code to each appmove javascript code of template files into js files as many as possible with the help of template engine(Handlebars.js), get rid of html snippets in js files [RFE][test run] User must click 'show all' link to confirm whether there are comments to a [RFE][test run]When add issue_id to caserun, checked the option 'check to add Test Cases t Write unit test for xmlrpc.api.testplan and QuerySetBasedSerializer Replace data grid with data table on search plan/run/cases page [TestPlan] The plan name is invisible when the name contains java script contents. Unit test for XMLRPC serializer method Remove code that has already no effective in current TCMS feature rewrite the js code for dom manipulation with jquery and jquery ui, remove prototype.js rewrite the js code for event binding with jquery, remove contorls or effects based on pro Remove the outdate install section [Add cases to run]There are js errors when expanding the case details in the assign case p [Search Cases]There is a js error in the console when clicking the Search Cases in the Tes Chapter 1. Contents nitrate Documentation, Release 3.8.17 - TCMS-748 Security check via Revok test 3.8.10-2 (Aug 27 2014) ---------------------- - Bug 1133483 - Unable to clone runs in TCMS - Bug 1133912 - Script injection in notes field - Bug 1134166 - [test plan] when user remove tag at reviewing case tag in test plan detail page, syst 3.8.10-1 (Aug 18 2014) ---------------------- Bug 1039495 - [test run][export to xml]If a case related many bugs in a run, when export the run to Bug 1129058 - [TestPlan |Add cases ] The browser has no response and is in dead after selecting all Bug 1130903 - [xmlrpc]User can not filter case via estimated_time when invoke TestCase.filter_count Bug 1130933 - [xmlrpc] User can not update estimated_time to 0s when invoke TestRun.update method. Bug 1130961 - [TestPlan|Components] Can't remove all the default components of one test plan at one Bug 1130966 - [xmlrpc][document] The format of estimated_time for related methods should be consist Bug 1131885 - [XML-RPC] The Texts don't trim the spaces and record them as new versions when invoki TCMS-284 [Performance] Production Apache ssl_access_log report some resources(such as css,js,pic et TCMS-371 [Performance Test][Reporting Custom] The First Slow Query on the Top Slow Queries found on TCMS-425 TestRun & TestCase estimated_time modify TCMS-463 [Performance]Reporting Custom Section Optimize TCMS-464 [Performance]Reporting Testing Report Section Optimize TCMS-478 [xmlrpc]Invoke TestCase.calculate_total_estimated_time with a invalid input, system return TCMS-480 Enable system-wide cache mechanism to support caching (RHBZ:1027589) TCMS-481 [xmlrpc]The result for xmlrpc method TestCase.calculate_average_estimated_time is wrong. ( TCMS-482 TestPlan.update does not support 'owner' update (RHBZ:1023679) TCMS-484 [test run] If a run has multiple Environments, clone this run, the new run only clone the TCMS-485 [xmlrpc]when invoke TestCase.link_plan method, the 404 error message lack description. (RH TCMS-486 [RFE] Suggest improve "Testing Report" generating for large data query (RHBZ:870384) TCMS-487 [RFE]: Add test case to the plan by ID (number) (RHBZ:869952) TCMS-488 [XMLRPC] List all the methods related to "is_active"field which all needed to be fixed (RH TCMS-489 [test case]A bug belongs to Run A and Run B for the same case, remove this bug from Run A TCMS-492 replace TestRun.is_current with front-end control, and remove operation code against TestR TCMS-493 fix that two requests are emit after change a case run's status TCMS-494 Build base infrastructure of unit test TCMS-495 Optimize operations on test_case_texts TCMS-496 rewrite the ajax style code snippets with jquery TCMS-498 [TestCaseRun | Add bug] The added jira bugs don't display in the case run but actually the TCMS-499 [DB] Fix errors when syncdb TCMS-500 [Cache] Cache part sections of pages TCMS-512 [XML-RPC] TestCase.calculate_total_estimated_time() doesn't work (RHBZ:857831) TCMS-513 [Performance] TCMS Reporting respond slowly and cause MySQL server high CPU usage (RHBZ:10 TCMS-514 [XML-RPC] TestCase.calculate_average_estimated_time() doesn't work (RHBZ:857830) TCMS-515 [TestRun][RemoveCase]Remove case into creating test run,the test run's estimated time didn TCMS-516 [xmlrpc] Can not add cases to the runs with calling the TestRun.add_cases() method (RHBZ:1 TCMS-551 [test run] After updating the Environment value in test run detail page, user can not remo TCMS-552 [xmlrpc][document] The example for TestRun.get_test_case_runs method still support is_curr TCMS-553 [Testing report] Generate testing report By Case Priority, the Priority order for differen TCMS-554 [testing report] If all plans belongs to a product have plan tag, system display 'untagged TCMS-555 [Testing report] Generate testing report by Plan's Tag Per Tag View, the caserun's count f TCMS-556 [Testing report] Generate testing report By Plan's Tag Per Tag View, the total caserun's c TCMS-557 [TCMS-495 | Texts]Texts of test case and test plan don't support Chinese characters (RHBZ: TCMS-559 [testing report] the link on Paused status in testing report generated by Case-Run Tester TCMS-560 [testing report] Generate testing report by Case-Run Tester, the run's count was wrong. (R TCMS-569 [testing report]Generate testing report By Plan's Tag Per Tag View, click link on caserun TCMS-570 [TCMS-487| Add cases] Make sure the cases which had been added to the plan can't be search 1.9. Changelog 91 nitrate Documentation, Release 3.8.17 - TCMS-571 [test case]when create case without estimated_time, system can not save the case. (RHBZ:11 TCMS-572 [xmlrpc] Do not change the content of plan's text, invoke TestPlan.store_text twice, syste TCMS-573 [test plan] If clone case with Create a Copy Settings, system will go to 500 error page. ( TCMS-574 [xmlrpc] Invoke TestCase.get_text to get a nonexistent version, system returns 500 error. TCMS-575 [clone test run] The estimated time format is different with input by manual (RHBZ:1126300 TCMS-585 Search cases lead memory leak in production server TCMS-619 [XMLRPC] default_product_version is missed in the response from TestPlan TCMS-96 [test plan][add child node]When add child note to plan with a nonexistent plan id, the subm TCMS-98 [test run][add bug]Add reduplicative bug to case in the run page, the content of the warnin 3.8.9-3 (Aug 11 2014) --------------------- Hotfix XMLPRC backward-compatibility broken 3.8.9-2 (Aug 01 2014) --------------------- TCMS-538 Solve inconsistent data of product_version field in production database. 3.8.7-5 (May 22 2014) --------------------- TCMS-326 - [XMLRPC] Optimize TestRun.get_test_cases, which generates a slow query that would affect other SQL execution on test_case_runs table 3.8.7-3 (Apr 22 2014) --------------------- TCMS-264 - Temp workaround to avoid updates automatically bugzilla with TCMS test case ID. - TCMS-240 - Convert column type, add composite index and add migrate sql for each release version. 3.8.7-2 (Apr 11 2014) --------------------- Bug 1083958 - [test run]In run detail page, using 'bugs-remove' link can remove the bug which does not belong to the current caserun. - Bug 1083965 - [test run]In run detail page, using 'comment-add' link to add comment, system does not record author. 3.8.7-1 (Apr 03 2014) ---------------------- Bug 1034100 - [Performance] opening plan/id/chooseruns page causes Python interpreter consumes very TCMS-171 [BZ 866974] Provide TestPlan.{add,get,remove}_component TCMS-177 It takes over one min to mark one case to pass in test case run. TCMS-186 Too slow when create test run TCMS-187 [Performance] Loading test case when expand a test case pane in Cases and Reviewing Cases TCMS-188 [Performance] Loading test case when expand a test case pane in test run page is too slow TCMS-194 [Performance] Expand a plan to display case run list in Case Runs tab in a case page TCMS-195 [Performance] Expand a case run from case run list in Case Runs tab in a case page Using VERSION.txt file instead of writing version into tcms module directly 3.8.6-5 (Apr 01 2014) ---------------------- 92 Chapter 1. Contents nitrate Documentation, Release 3.8.17 - Bug 1082150 - Backward-incompatible change in TestRun.get_test_case_runs() v3.8.4 (Sep 17 2013) -------------------- Fixed bug # 1005797 - [RFE] Add a column with number of comments into Case Runs table - Fixed bug # 921930 - Date format of attached log links is incorrect v3.8.2 (Jul 25 2013) -------------------- Fixed bug # 988332 - Added one permission protected XMLRPC API to add group for a user. v3.5 (Jul 11 2011) ------------------ Fixed bug # 545082 - Fixed bug # 589633 - Fixed bug # 646325 - Fixed bug # 657160 - Fixed bug # 658339 - Fixed bug # 661613 - Fixed bug # 664700 - Fixed bug # 665937 - Fixed bug # 667584 - Fixed bug # 668323 - Fixed bug # 670996 - Fixed bug # 671457 - Fixed bug # 672415 - Fixed bug # 673421 - Fixed bug # 675096 - Fixed bug # 678052 - Fixed bug # 678203 - Fixed bug # 678220 - Fixed bug # 678465 - Fixed bug # 678468 - Fixed bug # 678513 - Fixed bug # 678962 - Fixed bug # 678975 - Fixed bug # 679242 - Fixed bug # 679243 - Fixed bug # 679662 - Fixed bug # 679663 - Fixed bug # 679675 - Fixed bug # 680379 - Fixed bug # 681328 - Fixed bug # 682077 - Fixed bug # 690057 - Fixed bug # 691413 - Fixed bug # 693281 - Fixed bug # 697252 - Fixed bug # 701591 - Fixed bug # 701697 - Fixed bug # 703718 - Fixed bug # 704101 - Fixed bug # 705983 - Fixed bug # 706062 - Fixed bug # 707455 - Fixed bug # 708883 - Fixed bug # 709764 - Fixed bug # 710104 1.9. Changelog - Test case sort order is shared across plans for cloned cases Not able to change author of plan [FEAT]cases link doesn't link to the special cases [TCMS3.2-2][RFE]Add tips after saving the basic information in the home page ( [TCMS3.2-2]The "Upload" button is stealing the function of "Create test plan" [Test Plan]Click "Upload" button without browse the attachment will report 404 [FEAT] TCMS - NitrateXmlrpc: add method for new Product version creation cancel all the runs you want to clone will turn to the err page There is a Error when exporting Test Plan without choose a plan add build with non-English name succeeds but warning appears Sorting on test plan results page only sorts that page instead of all the resu [RFE] removal confirmation dialogs should contain number of removed items Add a child node to a plan, input non-numbers, causing a dead loop Sometimes "file a bug on bugzilla" function doesn't work [RFE] chart showing success rate of test-plan-runs Tag link causes some nonsense text issues [test plan]The product version is not inconsistency in test plan [Basic Information]Can not save chinese name in basic information [Bookmarks]The box also be checked after delete [Bookmarks]There is no warning UI when delete bookmark without any choice [Search Plan]there is UnicodeEncodeError when searching plan via chinese tag [Component]Suggest pop-up the confirm UI when remove component [tag]The link of tag list cause the filter is not correctly [Test Case]Click "Upload" button without browse the attachment will report 404 [Test Plan][RFE]Suggest to add the back button when add attachment in test pla [Clone Case]The "Autoproposed" can not be clone to the new case [Clone case]Can not select "Use the same Plan" after save the clone case witho [Test Run]There is a UnicodeEncodeError when add a chinese tag [Reporting]Click the plan number the result is not correct Filters are reset when cases are reordered [Quick search]quick search run,it goes to a error page. [test run]the test case detail will be auto updated without click update Reporting -> Custom page starts with 'No builds found with search condition.' Web UI: drop down / list fields' values should be sorted alphabetically TCMS - nitrate xmlrpc: failed to attach bug info to TestCaseRun [Test case]Suggest "update component"should be "Add component" in test case an Email notification has syntactical error (EN version) - new test run created [Usability] improve the layout the test case-run in run [Test Case] export test case without select any one will generate an error XML [report] product overview tab title can't be seen because the font is white. bugs shown in testcase detail [Test run]Can not re-order test cases in test run Click Bug Id could not link to bugzilla caserun link doesn't focus case in run Ordered list function of WYSIWYG: Numbers are not displayed. 93 nitrate Documentation, Release 3.8.17 - Fixed Fixed Fixed Fixed Fixed Fixed Fixed Fixed Fixed Fixed Fixed bug bug bug bug bug bug bug bug bug bug bug # # # # # # # # # # # 711005 711657 712772 712789 713662 715209 716499 717521 717683 717870 719253 - Return all relevant information in xml-rpc call The printable GUI can't show correctly [Test case]Export testcase without select any one Cannot open attachments [Extremely Urgent] Some test plans lost all|most|some test cases this afternoo 100% Completion graphical progress bar does not look 100%, it has still a gap TestPlan.update() unable to update product version [test plan]spelling mistake on mouse over show XMLRPC: Unable to remove tag from plan problem to clone plan no. 3486 [UI]UI problem of the input box for adding comment v3.4.1 (Jun 10 2011) -------------------- Fixed bug # 590817 - Fixed bug # 642246 - Fixed bug # 653919 - Fixed bug # 691412 - Fixed bug # 691695 - Fixed bug # 691696 - Fixed bug # 706839 - Fixed bug # 707243 - Build reports include incorrect values Custom build report is incomplete [FEAT] filtering case-runs according to test-plan [TCMS] [Reporting] : no way to search according to case priority or plan tags [TCMS] [Reporting] : generate reports per user [TCMS] [Reporting] : generate reports for few build [multi selection] [Advanced search]When click link "Return to homepage", come out warning "Bad R bug links don't work v3.4 (May 24 2011) ------------------ Fixed bug #690423 - Fixed bug #593760 - Fixed bug #593805 - Fixed bug #662885 - Fixed bug #656098 - Fixed bug #699311 - Fixed bug #705975 - Fixed bug #705974 - Fixed bug #697577 - Fixed bug #682081 - Fixed bug #603622 - Fixed bug #637715 - Fixed bug #634295 - Fixed bug #683844 - Fixed bug #683074 - Fixed bug #669049 - Fixed bug #644748 - Fixed bug #587716 - Fixed bug #593091 - Fixed bug #583136 - Fixed bug #696047 - Fixed bug #672124 - Fixed bug #678184 - Fixed bug #680064 - Fixed bug #690741 - Fixed bug #680032 - Fixed bug #680317 - Fixed bug #680318 - Fixed bug #680380 - Fixed bug #679638 - Fixed bug #698035 - Fixed bug #593818 - Fixed bug #598882 94 - [xmlrpc] - xmlrpc loses connection to the server after a short timeout xmlrpc doc doesn't match actual behavior: TestRun.update xmlrpc Testcase.update fails when using certain arguments Product version update failed for run 15325. [FEAT] Relationship query [New Plan]There aren't permissions to add "classification", "products", "versio [Printable copy]Can not printable copy one/more/all plan(s) in search list [Export plan]Can not export one/more/all plan(s) in search list pattern ID pointing to wrong place [Test Case]Create a case with all fields,The UI is mess. TestCase.add_component: adding already attached component results in traceback TestCaseRun.update() should set tester to authenticated user [FEAT]Bulk status change. Update TinyMCE editor to recent version One bug listed many times [RFE] Editing a testrun - add a build. Nitrate XML-RPC Service: failed to create new TestRun using the 'TestRun.create FEAT - Need a new API call - to return a user object based on user ID's - such Programmatic access to TCMS via API requires user's Kerberos username/password testplan.filter() returns plan objects that lack complete information Default font size is too small in editor. Default tester does not have permission to execute test run. [Test Run]There are error info sorting test case in test run [Test Run]The product version will be added to build list when Create New Test [test run]Suggest can not remove the bug from other run [Clone case][RFE]Add "cancel" button in mulitple clone page [Test Run]The update function is invalid in test case run [Create run]There is Warning about Data truncated when create run with more tha [Reporting]The warning UI is jumbled after select without choose product [Test case]Print test case without choose any one is the same to choose all [Sentmail]the reviewer received the TCMS mail rather than stage Setting status=1 in TestRun.update should leave it in STOPPED state, but UI sho Changing status icon to 'start' or 'in progress' ("play" icon) jumps to next te Chapter 1. Contents nitrate Documentation, Release 3.8.17 - Fixed Fixed Fixed Fixed Fixed Fixed Fixed Fixed Fixed Fixed bug bug bug bug bug bug bug bug bug bug #663364 #665052 #671454 #684804 #615914 #670759 #680430 #653919 #542968 #564316 - [FEAT]Unable to search for multiple authors. [FEAT] add test-case/test-run creation/completion date search criteria [FEAT] search test-case by script service error when accessing test-case from plan it is not a member of [FEAT] searches with multiple products selected [FEAT]Add a search item "Case Id" [FEAT] search for test-cases from different products [FEAT] filtering case-runs according to test-plan [FEAT]Nitrate doesn't allow group operations on test case runs [FEAT] tag searching - bugzilla-like categories or negative searching & regexps v3.3-4 (Mar 3 2011) ------------------- Fixed bug 681156 - [Test Plan]Can not expand all the test case in test plan. - Fixed Bug 679677 - [Test Run]The button should be "cancel" in Property page. - Fixed Bug 672495 - Old test run shows updated case information but its text version is unchanged. v3.3-3 (Feb 25 2011) -------------------- Fixed bug 680315 - [Reporting]Open a product will lead to the error page. - Fixed bug 680321 - [Test Run]Click "View My Assigned Runs" will list all runs - Fixed bug 627236 - s/2009/2010/ orequivalent of date in page footer - Fixed bug 680322 - New: [spelling mistake]"Highligt" should be "Highlight" - Fixed Bug 680059 - [Test Run]The total number of test case run is NULL - remove "running date" add "run date" - Fixed bug 676259 - [FEAT] Need to get a break out of manual vs auto in the tcms reporting section - Fixed bug 678643 - TestPlan.get_text - multiple failures - Fixed bug 674754 - [xmlrpc] TestRun.create() fails when list of tags provided - Fixed bug 676590 - In run execute page, 'expand all' generates tons of http requests v3.3-2 (Feb 15 2011) -------------------- Fixed bug 664025 - TCMS main check box to control test cases doesn't work - Fixed bug 658372 - Cannot select "Product Version" when clone multiple test plans - Fixed bug 667304 - Click "Build" label, it won't be sorted by build - Fixed bug 654533 - [TCMS]Document Version in test plan on opera browser - Fixed bug 672873 - xml export can't be parsed - Fixed bug 664743 - [RFE] supply existing bugs when marking test-case-run as failed - Fixed bug 672857 - Typo in error message when a test plan hasn't been - Fixed bug 657474 [TCMS3.2-2]List the runs which have not environment - Fixed bug 649293 - Make the case run "notes" field visible in the run - Fixed bug 643324 - Provide a bit more space for the test run notes - Fixed bug 653815 - Unable to re-order test cases in test run - Fixed bug 658475 - The bug can not be deleted inside the run - Fixed bug 672622 - product version gets set to "unused" when editing a plan v3.3-1 (Jan 24 2011) -------------------- Fixed bug 661951 - Fixed bug 665945 - Fixed bug 667293 - Fixed bug 665934 - Fixed Bug 654953 - Fixed bug 664467 - Fixed bug 662944 - Fixed bug 642644 - Fixed bug 578717 - Fixed bug 653812 - 1.9. Changelog Messed-up warning message pop up when clicking Add without entering Bug ID run export button dosn't work The first product is the default product. choose no plan to "Printalbe Copy" [RFE] Report an expanded list of Test Cases by Tag TCMS: cells overlapping when using long name for test case summary Resort case run is broken in Firefox update nitrate.py to work with the latest xmlrpclib [REF] Provide filter in test run Filtering test case runs 95 nitrate Documentation, Release 3.8.17 - Fixed bug 534063 - [RFE] Allow sorting / filtering test cases Fixed bug 660234 - Add links to IDLE, PASSED, WAIVED items in Fixed bug 661579 - Incorrect bug counting method - Ugly code, Completed feature #662679 - Attachments get lost when cloning Completed feature #663520 QPID support for TCMS Completed global signal processor Fixed case run percent counter Improve the style of filtering test case runs while executing the test run report table again Ugly bug test case v3.2-4 (Dec 1 2010) ------------------- Fixed #658160 - Changing case status does not work reliably - Fixed UI Bug #658495 - Some case run comments not displayed - Re-enabled assignee update notification. v3.2-3 (Nov 30 2010) -------------------- Fixed UI Bug #654944 - [TCMS][RFE]Email content:Assign cases to ... - Fixed UI Bug #656215 - Select all checkbox in search run page broken. - Fixed #646912 - editing TC, leaving all automated/manual/autoproposed ... - Remove the JSCal2 DateTime? widget(no longer in use). - Added grappelli skin for tinyMCE - Fixed UI Bug #657452 - [TCMS3.2-2]put mouse on the status buttons and no tips ... - Fixed #658385 - TCMS is spamming with "Assignee of run X has ben ... - Fixed #658181 - TCMS xmlrpc: 403 FORBIDDEN v3.2-2 (Nov 23 2010) -------------------- Fixed own username/email in user profile display without register support - Completed UI FEAT - Add case default tester in search plan - Fixed username regex like Django restrictive - Swap the first/last name in profile - Fixed the run information style - Fixed #652474 - Unable to update "Basic information" fields. - Fixed UI Bug - 652478 - Inconsistent size, font weight in Test Plan Cases tab - Fixed #654211 - [TCMS]search run product is not same with run detai - Fixed #654967 - [TCMS]Fail to add Properties to environment group and show ... - Fixed #654955 - [TCMS]fail:Search Test Run by Manager - Fixed #654949 - [TCMS]Fail:Remove Case from Test Run - Fixed UI Bug #654213 - New: [TCMS][REF]Remove "Test" in TESTING--->Search ... - Fixed UI Bug #654505 - [TCMS][REF]Where is Description of bookmark. - Fixed UI Bug #654529 - [TCMS]Unify tips about Upload file format - Fixed #654922 - [TCMS]Fail:Remove test cases tag - Fixed #589633 - Not able to change author of plan - Fixed UI Bug #654553 - [TCMS]Default Component - Fixed UI Bug #627074 - Planning: Default components "update" removes ... - Fixed #656174 - Can't record Case or Case-Run Log v3.2-1 (Nov 9 2010) ------------------- Fixed UI Bug #635329 - [TCMS]a small spelling mistake - Fixed #635369 - Add a test case with tags will fail via tcms xmlrpc - Fixed #635931 - [TCMS]The blank row in Status' drop-down box of Search test Runs - Fixed UI Bug #637471 - [TCMS][REF]The style in the home page - Completed Feature #637271 - Provide an XMLRPC function for adding a test case run comment - Makes Django 1.2 compatible - Add csrf to templates/admin pages for Django 1.2 - Fixed #638639 Test run report "Finished at" field shows "Notes" content 96 Chapter 1. Contents nitrate Documentation, Release 3.8.17 - Fixed UI Bug #638019 -[REF]Test Runs in the home page Bug UI Bug #641252 - [TCMS][REF]"Testing Cases" to "Cases" in REPORTING Refined the js, split the case to confirmed cases and reviewing cases Fixed #637474 - [TCMS][REF]The sort of "Plan Type" data and the sort of "Environment Group" data in Fixed new admin URL Fixed #634218 - Text box "Comment" is erased when timestamp expires Fixed #634218 - clean_timestampe-->clean_timestamp Fixed #638808 - The calendar icon broken after upgrade to django 1.2.3 Completed feature #634157 - Preselect product when adding new build Fixed #637276 - TestCaseRun.attach_bug broken Fixed #637715 - TestCaseRun.update() should set tester to authenticated user Fixed UI Bug #643349 - Wrong product displayed on the test run execute page Fixed #638526 - [TCMS]Refresh Page fail after "Disable Plan" Fixed UI Bug #643324 - Provide a bit more space for the test run notes Completed refine the test case review workflow Fixed #644252 - error when modify the product name Fixed UI Bug #644356 - Allow to sort test case runs Fixed UI Bug #644354 - Displaying test case run details breaks layout Fixed #644748 - Nitrate XML-RPC Service: failed to create new TestRun using the 'TestRun.create' ve Completed basic info editing/viewing in profile Add the title/nav/footer to 404 & 500 error page Add NEED_UPDATE status to test case status Fixed UI Bug #629122 - [REF] Display test case notes when expanding a test case Fixed UI Bug #641790 - [TCMS]No warning after inputting "1.1" in the sort of case Fixed UI Bug #643303 - [RFE] test-run report - show bugs near corresponding test-cases Initial completed bookmark feature Completed reviewer for case and the mail notification when update reviewer Fixed #640756 - can't remove bugs from a test-case Fixed #646324 - service error display when cancel tag edit Fixed #638476 - Duplicated environment group name will cause error Fixed #601756 - Editing a test case erases "component" field Fixed #519029 - All URLs should be linkified Fixed UI Bug #648760 - The spelling mistake happened in Estimated time Arranged toolbar in the way mentioned Merged the index page to profile Fixed default url redirect after login Initial completed the clone mulitple run from plan function Refine Home page Initial refined the mass status/priority operation function Fixed add bookmark without content_type issue Fixed UI Bug #646340 - no warning is displayed when test plan is not selected Changed commit style, added order to comment Fixed #636813 - No direct link to comment of run Fixed #646399 - In case permission are not granted, you are asked for login credentials that are ne Fixed redirect to review cases after case creation Refined the delete comment feature Fixed log display in details page Fixed auto case expanding in run page Fixed #637870 - The sum of the percentage of the test status categories on the overall report for a Fixed toolbar style on Chrome and safari Fixed update assignee feature Completed password change feature Removed the execute run link Completed registration feature Completed password reset feature Refined the update case run text and re-order case run feature Completed paginatation for case/run/plan list Fixed #645631 - need item to type Test Plan id directly when clone test case 1.9. Changelog 97 nitrate Documentation, Release 3.8.17 - Fixed #648325 - When clone multiple, check 'update manager', it has an error - Linked the user linke to profile v3.1.1-3 (Sep 17 2010) ---------------------- Fixed global plan search issue. v3.1.1-2 (Sep 15 2010) ---------------------- Optimized the performance for pagination - Fixed #630604 - disabled test cases included in /plan/<XYZ>/printable/ - Fixed #564258 - [REF] Ability to export/print specified cases - Fixed UI Bug #626276 - [TCMS]reporting:link to failed test cases not working - Fixed UI Bug #633618 - Tree view - text changes - Fixed #633681 - JS error info in "search plan" and "search case" page ... - Fixed #634045 - Tag auto-completion failed to work. v3.1.1-1 (Sep 8 2010) --------------------- improve the run report - Fixed UI Bug #626720 - see all link does not work - Fixed UI Bug #625646 - Text changes for reporting UI - Fixed UI Bug #626237 - Text change for Test Plan UI - Fixed UI Bug #626719 - When expand case, the width is wrong by default - Fixed custom reporting search condition - Fixed UI Bug #624861 - Display related bugs in customization report - Fixed UI Bug #626276 - Reporting:link to failed test cases not working - Fixed UI Bug #625789 - Add Plan input field do not control its input and ... - Added highcharts for future reporting - Add pagination feature for TCMS test plans, test cases and test runs using ... - Fixed #628421 - Cannot remove test run tags. - Fixed UI Bug #625797 - test case run history should display test run summaries - Fixed #626638 - Product version is not copied from the original when ... - Fixed #627235 - Adding a build requires reloading page. - Fixed UI Bug #629977 - test-run report does not contain test-run name - Completed feature #542660 - TCMS: [FEAT] - allow to add sub test suite for test plan - Refined add plan to case feature - Completed add multiple plan to a case feature - Fixed UI Bug #629508 - [TCMS]Create button and Test Plan box are overlapping - Fixed UI Bug #629508 - [TCMS]Create button and Test Plan box are overlapping - Fixed #627236 - s/2009/2010/ in footer - Fixed #629617 - remove white spaces from beginnig and at the end of ... - Added parent modify feature to XML-RPC v3.1.0-2 (Aug 12 2010) ---------------------- Enhanced the reporting feature. v3.1.0-1 (Aug 12 2010) ---------------------- Fixed #612803 - add an export feature for test case runs, can export ... - Fixed #609777 - Tag autocomplete for "remove tag" shows all possible ... - Completed Feature #578887 - Clone all test runs for a particular build of ... - Fixed #618710 - Env value for test run permission checking - Completed feature #599313 - [REF] Mass edit test case components - Fixed #619247 - Cannot update test case status - Fixed #591823 - Sort by "completed" can work correctly. - Fixed #618183 and #619403 - Notification of case editing issue 98 Chapter 1. Contents nitrate Documentation, Release 3.8.17 - Fixed #599448 Fixed #621777 Fixed #598409 Completed new - add upload feature while editing a plan. - TCMS gives error message on screen after edit->save ... - "RFE: add plan creation date search criteria", add a ... report with customization v3.0.4-3 (Aug 2 2010) --------------------- Fixed #612797 - The Property in Environment can not be deleted - Fixed #616463 - Remove property doesn't work in TCMS v3.0.4-2 (Jul 30 2010) ---------------------- Fixed #619247 - Cannot update test case status v3.0.4-1 (Jul 21 2010) ---------------------- First open sourced version. - Added all of docs lacked for installation/upgrading/usage. - Fixed #604206 - TestCase.link_plan() does not report errors - Completed feature #609842 - [FEAT] provide buglist link in addition to ... - Fixed #611354 - [Text] Updates to automation options. - Fixed UI Bug #609760 - Add Tag text "Ok, I see" needs updating. - Fixed UI Bug #606730 - favicon.ico should use transparency - Fixed #612797 - Test run env value permission check issue - Fixed #612022 - Change Automation status window appears when no test ... - Fixed #609776 - Tag autocomplete is case sensitive. - Fixed #612881 - The filter for 'Automated' 'Manual' 'Autoproposed' is ... - Fixed #613480 - No way is provided to go back to the plan after cloning a ... - Fixed UI Bug #610127 - show/highlight test-case-runs assigned to me when executing ... - Fixed UI Bug #612880 - Need total number for filter out result - Completed feature #607844 - (RFE) Flag tests which require the IEEE Test ... - Completed Feature #587143 - [FEAT] Have a default component when creating ... - Move the compoent of the case to be a tab - Use the updateObject() function to reimplemented multiple operations. v3.0.3-2.svn2859 (Jun 28 2010) ------------------------------ Fixed bug #604860. Modify ComponentAdmin?'s search_fields from (('name',)) ... - Update the plan list & case list & run list - Update the case run list - Change from_config()'s return value from Nitrate to NitrateXmlrpc? - Fixed #606751 - grammar error on dashboard - Fixed #605918 - Submitting larger comments fails - Completed edit environment in run page - Use updateObject() function to modify the sortkey for caserun - Fixed create case failed issue - Completed feature #604860 - further improvement Add 'pk' for each item under ... - Fixed #608545 - [REF] Simplify the estimation time choosing - Fixed TestCase?.link_plan function returns - Fixed #603752 - Cannot reassign tests in this test run: ... - Fixed #603622 - TestCase?.add_component: adding already attached component ... - Optimized front page display v3.0.3-1.svn2841 (Jun 12 2010) ------------------------------ Fixed UI Bug #600198 - TCMS][3.0.2-1] - Buttons not Visible in Add New Test ... - Completed feature #588974 - Make edit work flow more efficient - Fixed remove case function in plan 1.9. Changelog 99 nitrate Documentation, Release 3.8.17 - Fixed #602183 - TestCase.create requires plan id Fixed #602292 - TestCase.create() does not save "estimated_time" Fixed #601836 - Unable to change test case category using XML-RPC Completed Feature #587143 - [FEAT] Have a default component when creating ... Fixed UI Bug 601693 - Test case field "arguments" not available in the web ... Completed Feature #597094 - Edit environment of existing test run is not ... Completed Feature #598882 - Changing status icon to 'start' or 'in ... Initial completed feature #595372 - Environment available through xml-rpc Fixed #603127 - Quick test case search broken Fixed UI Bug #591783 - The assigned run should be in my run page Fixed edit env property/value name to exist name caused 500 error v3.0.2-2.svn2819 (Jun 8 2010) ----------------------------- Fixed #598935 - strip whitespace when adding bug numbers - Fixed #598909 - Bugs filed from tcms contains HTML - Fixed UI Bug #599465 - Filtering test plans based on the author broken - Fixed #593091 - Programmatic access to TCMS via API requires user's Kerberos username/password - Fixed tags lacked after search issue. - Optimized batch automated operation form - Fixed some UI issues. v3.0.2-1.svn2805 (Jun 3 2010) ----------------------------- Use livepiple to replace scriptaculous and clean up the js codes. - Added initial data for syncdb. - Added unit test script. - Merged testplans.views.cases and testcases.views.all - Ability to mark test case as 'Manual', 'Automated' and 'Autopropsed' - Fixed TestRun.update() XML-RPC docs. - Fixed #593805 - xmlrpc Testcase.update fails when using certain arguments. - Fixed #593664 - Misinterpreted e-mail about test run. - Fixed UI Bug #591819 - Icons and links made mistakes in test review. - Fixed UI BUg #594623 - Test run CC can not be added. - Completed FEAT Bug #583118 - RFE: Attachments for test-runs. - Fixed #594432 - tags are not imported from xml. - Completed FEAT #586085 - Don't select ALL test case after changing status - Completed FEAT UI Bug #539077 - Provide an overall status on main test run page - Completed FEAT BUg #574172 - If you sort a column in a plan, the filter options ... - Fixed Bug #567495 - Sort by category for 898 test cases results in 'Request ... - Completed FEAT #597705 - TCMS: Unknown user: when user name have space before or ... - Fixed Bug #597132 - Cannot add environment properties to test run - Completed FEAT #578731 - Ability to view/manage all tags of case/plan. - Fixed Bug #595680 - TCMS: cannot disable a test plan - Fixed Bug #594566 - Get test case category by product is broken v3.0.1-3.svn2748 (May 19 2010) ------------------------------ Fixed #592212 - Search for test cases covering multiple bugs - Fixed #543985 - sort testplans on "clone test case" page alphabetically - Fixed #561234 - [feature request]should filter out “the space” key in all ... - Fixed UI Bug #577124 - [TCMS] - "Show comments" without number --remove ... - Fixed UI Bug 592974 - Adding a test case to a plan using plan id does not ... - Fixed report 500 service error - Fixed #592973 - Add cases from other plans fails with a service error - Fixed get_components XML-RPC typo mistake and added docs to new filter ... v3.0.1-2.svn2736 (May 13 2010) 100 Chapter 1. Contents nitrate Documentation, Release 3.8.17 ------------------------------ Completed signal handler for mailing by a standalone threading - Fixed test plan link for #591819 - Fixed 519029 - Optimized the menu style v3.0.1-1.svn2728 (May 11 2010) ------------------------------ Refined whole UI. - Optimized query count for performance. - Add examples to XML-RPC docs. - Completed following methods for XML-RPC: Product.filter(), - Product.filter_categories(), Product.filter_components(), Product.filter_versions(), - Product.get_component(), Product.get_tag(), Product.get_versions(), - Product.lookup_id_by_name(), TestCase.calculate_average_estimated_time(), - TestCase.calculate_total_estimated_time(), User.filter(), User.get(), - User.update(). - Fixed UI bugs: #590647, #583908, #570351, #588970, #588565, #578828, #562110, - #582958, #542664. - Fixed app bugs: #582517, #582910, #584838, #586684, #584342, #578828 - #577820, #583917, #562110, #580494, #570351, #589124, #577130, #561406, #586085, - #588595, #560791, #584459. v3.0-1b2.svn2665 (Apr 16 2010) ------------------------------ Fixed #582517 - remove tag doesn't work - Fixed #582910 - Automatic Display of Next Test Case Not working properly. - Fixed #574663 - Completed Ability to edit environment for existed test run - Completed change case run assignee feature - Completed get form ajax responder - Optimized get info responder v3.0-1b1.svn2650 (Apr 14 2010) ------------------------------ Initial completed most new features, extend database schema - Initial completed bookmark(watch list) feature(Models added) - Initial completed modify run environment value feature(Backend code) - Extend the schema for outside bug track system(Backend code) - Improve run mail feature - Optimized XML-RPC and the docs - Fixed 'Save and add another' crash when create new case - Fixed Assign case to run and create new run without default tester. - Fixed Build.create() bug - Fixed TestRun.get_test_case_runs() bug v2.3-5.svn2599 (Apr 1 2010) --------------------------- Fixed add tag to run cause to crash issue. v2.3-4.svn2594 (Mar 29 2010) ---------------------------- Completed create/update functions for XML-RPC. - Fixed web browser compatible issues. - Improve review case progress. v2.3-3.svn2577 (Mar 23 2010) ---------------------------- 1.9. Changelog 101 nitrate Documentation, Release 3.8.17 - Fixed Fixed Fixed Fixed Webkit based browser compatible issues TinyMCE in Webkit based browser compatible issues UI Bug: #570351 UI Bug: #553308 v2.3-2.svn2568 (Mar 22 2010) ---------------------------- Fixed search case without product issue(r2567) - Fixed create run foot UI issue(r2566) - Fixed update component in search case issue(r2565) v2.3-1.svn2564 (Mar 18 2010) ---------------------------- Complete most of XML-RPC functions. - Complete batch operation for case including setting priority, add/remove tag. - Fixed most of bugs. v2.2-4.svn2504 (Mar 17 2010) ----------------------------- Fixed version in web ui incorrect. v2.2-3.svn2504 (Mar 12 2010) ---------------------------- HOT BUG FIXING - #572487 v2.2-2.svn2504 (Mar 4 2010) --------------------------- Fixed UI bug: Execute link exceed the width issue - Fixed UI bug: CC for run page display issue v2.2-1.svn2500 (Mar 1 2010) --------------------------- Add a new serializer for XMLRPC serialization - Fixed KerbTransport authorization issue - Change deployment method to WSGI - A lot of bugs fixing for application. - Fixed a lot of UI bugs v2.1-4.svn2461 (Feb 11 2010) ---------------------------- Fixed application bug #561620 - Fixed web UI bug #529807 - Fixed web UI bug #561610 - Fixed web UI bug #552923 - Fixed web UI bug #561252 - Fixed web UI bug #553308 - Fixed web UI bug #558955 - Fixed web UI bug #560091 - Fixed web UI bug #560055 v2.1-3.svn2449 (Feb 2 2010) --------------------------- Remove product version from case search page. - Optimize search case form. v2.1-2.svn2446 (Feb 2 2010) --------------------------- Fixed the case display with the bug added directly in case page in run issue. 102 Chapter 1. Contents nitrate Documentation, Release 3.8.17 - Fixed edit case component selector issue. - Case product link to category now, disconnect from plan. v2.1-1.svn2443 (Feb 1 2010) --------------------------- Rewrite get case details to ajax code, for optimize performance - Add tag support for test run - Add bug to case directly now supported. v2.0-3.svn2403 (Jan 18 2010) ---------------------------- Fixed hot issue #556382 v2.0-2.svn2402 (Jan 18 2010) ---------------------------- Fixed auto blind down issue - Fixed #555702 - Fixed #555703 - Fixed #555707 and #554676 - Completed add tag to case/plan when create backend function v2.0-1.svn2394 (Jan 15 2010) ---------------------------- Fixed most of bugs - The component will add to new product specific in clone function - Use Cache backend to handle session - More optimization v2.0-1RC.svn2368 (Jan 11 2010) ------------------------------ Fixed a lot of bugs - Optimize new comment system - Completed new log system - Add new case fiter to plan - Improve new review workflow - Update setup.py v2.0-1beta.svn2318 (Dec 29 2009) -------------------------------- First public beta release of 2.0 - Rewrite most components - Add estimated time into run - Add test case review workflow - Add XML-RPC interface - Use a lot Ajax to instead of render whole page - Redesign the interface v1.3-3.svn2261 (Dec 18 2009) ---------------------------- Add case run changelog show in run details page feature v1.3-2.svn2229 (Dec 8 2009) --------------------------- Fixed #544951 - Fixed #544229 - Fixed #543985 - Fixed #544951 - Fixed reporing when plan count is null issue 1.9. Changelog 103 nitrate Documentation, Release 3.8.17 - Update overview report of product statistics SQL v1.3-1.svn2213 (Dec 4 2009) --------------------------- Fixed #541823 - Fixed #541829 - Optimize delete case/run ACL policy. - Initial completed Reporting feature. - Initial XML-RPC interface v1.2-3.svn2167 (Nov 25 2009) ---------------------------- Made a mistake in checkout the source, so rebuild it. v1.2-2.svn2167 (Nov 25 2009) ---------------------------- [2152] Fixed bug #530478 - Case run case_text_version is 0 cause to file bug crash - [2154] Fixed bug #538747 - [2156] Use QuerySet update function to batch modify the database - [2158] Fixed bug #540794 - [FEAT]It should stay in the same tab/page after refreshing - [2162] Restore search detect in plan all page - [2163] Fixed bug #538849 - Test case execute comment garbled - [2165] Fixed bug #540371 - Where are Cloned Tests v1.2-1.svn2143 (Nov 20 2009) ---------------------------- Fixed UI bug #530010 - clean float dialog - Fixed UI bug #531942 - Correct strings in system - Fixed UI bug #536996 - Fixed UI bug #533866 - sort case in test case searching - Optimize a lot of UI and frontend permission control - Fixed bug #536982 - Now the run must be required with a case - Remove manage case page - Enhanced sort case feature with drag and drop in plan and run - Completed change multiple case status at one time - Completed change run status feature - Completed clone multiple plan feature - Completed upload plan document with ODT format - Fixed bug #533869 - "Save and add another" case button results in a traceback - Completed case attachment feature v1.1-1.svn2097 (Nov 9 2009) --------------------------- Release 1.1 version TCMS - Completed clone case/run feature - Refined the UI structure - Add XML-RPC interface for ATP v1.0-9.svn2046 (Nov 9 2009) --------------------------- Add mod_auth_kerb.patch for authorize with apache kerberos module. v1.0-7.svn2046.RC (Oct 22 2009) ------------------------------- Improve templates v1.0-6.svn2046.RC (Oct 22 2009) ------------------------------- 104 Chapter 1. Contents nitrate Documentation, Release 3.8.17 - Imporove test plan clone feature - Fixed failed case run count in run details page - Add RELEASENOTES v1.0-5.svn2042.RC (Oct 21 2009) ------------------------------- Realign the version to 1.0 - Fixed most of bugs v2.0-4.svn2006.RC (Oct 16 2009) ------------------------------- Fixed other unimportant bugs, release RC. v2.0-3.svn1971 (Oct 14 2009) ---------------------------- Fixed most of bugs and get ready to GA. - KNOWN ISSUE: Search case to add to plan just complete the page design, is waiting for logic functio v2.0-2.svn1938 (Sep 30 2009) ---------------------------- Rewrite assign case page - Rewrite attachment implementation - Search with environment is available - Fixed app bugs: - Fixed #524578 - The Product version will display after finish searching plans - Fixed #524568 - Cannot reset the status of test cases when the status is "Passed" or "Failed" - Fixed #524534 - Can't add a new test case - UI Bugs: - Fixed #524530 - Please adjust the Next button in create new plan page0 - Fixed #525044 - The buttons are not aligned and missing some checkboxes when searching cases - Fixed #524568 - Cannot reset the status of test cases when the status is "Passed" or "Failed" - Fixed #524140 - Cannot create test plan when the uploaded plan document's type is HTML - Fixed #525614 - The label that counts the number should at the same place on every ADMIN's sub-tab - Fixed #524777 - [FEAT]It should have breadcrumbs on Admin tab have added breadcrumb to admin page - Fixed #525630 - The calendar and clock icon should be kept on the same line with date and time - Fixed #525830 - The same buttons aligned in different tabs should keep consistent - Fixed #525606 - "Is active" should be kept on the same line with its check-box v2.0-2.svn1898 (Sep 23 2009) ---------------------------- Feature: - Completed environment element modfiy/delete feature in admin - Fixed #525039 - [FEAT]It should let users add notes and set status of test cases even when the stat - UI Bugs: - Fixed #521327 - Test Plan Document translation not quite right - Fixed #524230 - can't change the "automated" field of a test case - Fixed #524536 - Suggest to adjust the add new test case page width and the button "Add case" - Fixed #524530 - Please adjust the Next button in create new plan page - Fixed #518652 - can't remove test case from a plan - Fixed #524774 - [FEAT]It should have a title on each of the add "Admin=>Management" webpage - Fixed #525044 - The buttons are not aligned and missing some checkboxes when searching cases - Fixed #524778 - [Admin]The add icons should be after the fields v2.0-1.svn1863 (Sep 15 2009) ---------------------------- Remove case from plan - Sort case in plan - Fixed edit case issue 1.9. Changelog 105 nitrate Documentation, Release 3.8.17 v2.0-1.svn1833 (Sep 1 2009) --------------------------- Fixed a lot of bug. - Redesign the interface. v2.0-1.svn1799 (Jul 22 2009) ---------------------------- Rewrite most of components - Add tables from Django - dump version to 2.0 (trunk development version) v0.16-6.svn1547 (Mar 19 2009) ----------------------------- require kerberos authentication - svn r1547 v0.16-5.svn1525 (Mar 17 2009) ----------------------------- mark tcms/product_settings.py as being a config file - add dependency on mod_ssl v0.16-4.svn1525 (Mar 17 2009) ----------------------------- substitute RPM metadata into the page footer so that it always shows the exact revision of the code - bump to svn revision 1525 v0.16-3.svn1487 (Mar 12 2009) ----------------------------- drop the dist tag v0.16-2.svn1487 (Mar 12 2009) ----------------------------- add build-requires on Django to try to get pylint to work (otherwise: tcms/urls.py:11: [E0602] Unde v0.16-1.svn1487 (Mar 12 2009) ----------------------------- 0.16 - add build-requires on python-setuptools v0.13-4 (Feb 24 2009) --------------------- fix regexp for pylint errors v0.13-3 (Feb 24 2009) --------------------- add code to invoke pylint. Stop building the rpm if pylint finds a problem. v0.13-2.svn1309 (Feb 18 2009) ----------------------------- add mod_python and python-memcached dependencies - move static content to below datadir - add apache config to correct location v0.13-1.svn1294 (Feb 12 2009) ----------------------------- initial packaging 106 Chapter 1. Contents nitrate Documentation, Release 3.8.17 1.10 Support 1.11 Authors 1.12 License 1.10. Support 107 nitrate Documentation, Release 3.8.17 108 Chapter 1. Contents CHAPTER 2 Indices and tables • genindex • modindex • search 109