bzrmirror%bugzilla.org 10809b9921 Bug 1055223: Convert Testopia documentation to .rst format
r=LpSolit


git-svn-id: svn://10.0.0.236/trunk@265521 18797224-902f-48f8-a5cc-f745e15eee43
2014-08-26 17:45:17 +00:00

1718 lines
80 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. highlight:: console
.. _table-of-contents:
=========
Testopia
=========
Introduction
############
Testing, especially software testing, can be a tedious and overwhelming task.
Often there are many levels of testing requirements and many iterations during
a project life cycle. Keeping track of the results of tests is important both
to the customer, and the developer. Customers want to know that their
requirements are being met and developers want to know if there are bugs that
they missed. Testing is an important part of the software development process
since “Software should be predictable and consistent, offering no surprises
to users” (Meyers 2004, ch 1).
Testopia - Test Case Management
--------------------------------
Test case management is the process of tracking test outcomes on a set of test
cases for a given set of environments and development iterations. To do this
effectively, an organizational structure needs to be set in place to track
test cases and their outcomes in a given test scenario. Testopia was developed
to provide a central repository for the collaborative efforts of distributed
testers. It serves as both a test case repository and management system.
Testopia is designed to meet the needs of software testers from all sizes of
groups and organizations.
Though Testopia was designed primarily for software testing, it can be used to
track any type of test cases. Also, being open source, Testopia can be easily
adapted to fit just about any testing model.
Testopia and Bugzilla
----------------------
Mozilla's Bugzilla bug tracking system is one of the most popular open source
issue tracking systems available. Bugzilla “provides an easy to use, easy to
maintain and cost effective solution with a rich feature set that easily can
compete with its proprietary counterparts” (Lohmeyer).
Test cases are, and should be, closely tied to defects. As defects are found,
test cases should be written to verify that the defect is fixed in future
releases. To this end Testopia was designed as an add-on extension to
Bugzilla. This allows a single user experience and point of product management
for both defect tracking and test case management.
The Mozilla Foundation and the Testopia Project
------------------------------------------------
Testopia began life as Bugzilla Testrunner. It was written by Maciej Maczynski
in 2001 and later ownership passed to Ed Fuentetaja who passed development
duties to Greg Hendricks in 2006. It was renamed Testopia in March 2006 prior
to release of version 1.0 in May. It was adopted as a Mozilla project and now
resides at
`developer.mozilla.org <https://developer.mozilla.org/en-US/docs/Mozilla/Bugzilla/Testopia>`_.
Since May 2006, Testopia has been increasing in popularity among testers in
the open source community as well as in other organizations. In a recent blog
posting, Rosie Sherry, a respected software testing expert, states that “This
is probably the most comprehensive open source test management system and once
up and running provides everything needed of a test management system” (Sherry
2006)
Installation
#############
Requirements at a Glance
------------------------
+----------------+---------------------+------------------------------+
| | Recommended version | Where to get it |
| | | |
+================+=====================+==============================+
| Bugzilla | 4.4+ | http://bugzilla.org/download |
+----------------+---------------------+------------------------------+
| MySQL | 5.0+ | http://mysql.com |
+----------------+---------------------+------------------------------+
| JSON | | http://cpan.org |
+----------------+---------------------+------------------------------+
| Text::Diff | | http://cpan.org |
+----------------+---------------------+------------------------------+
| Ext JS toolkit | 3.0 | http://extjs.com |
+----------------+---------------------+------------------------------+
What You Need to Know
----------------------
As our development has moved forward, we have decided to try to keep abreast
of the latest stable release from Bugzilla (currently 4.4.x). This gives us a
stable code base to work from. Developing plugins or extensions for any
software is like trying to hit a moving target. This decision allows us to
focus our time more on releasing new features often and early rather than back
porting. However, this means that most major feature will not be back ported
to earlier versions unless and until we have time to do so. Anyone wishing to
help in this effort is more than welcome.
Though Bugzilla officially supports MySQL and Postgres databases, Testopia has
only been fully tested with MySQL. Patches are welcome to make Testopia more
Postgres compliant.
Likewise, Testopia has only been thoroughly tested using Firefox browsers.
This is not because we don't care about other browser platforms, but because
we lack the time and resources to attempt thorough testing in other browsers.
Testopia should run fine on most modern browsers.
If issues arise however, please log them at
`bugzilla.mozilla.org <http://bugzilla.mozilla.org>`_
Testopia makes use of some cutting edge AJAX technology provided by the Ext
Javascript toolkit. Our philosophy is that it is better to focus more
processing on the client than to tie up the server. Ext places some extra
weight on the client, but makes interactions with the server faster. This
increases the load on the client machine however, which means the need for
faster processing power and more memory. Trying to access Testopia on a
Pentium 2 with 128 MB of RAM will probably not be the best user experience.
Downloading and Installing
---------------------------
Testopia is an extension to Bugzilla. It goes without saying then that you
should have Bugzilla up and running first. Instructions for installing
Bugzilla can be found at http://bugzilla.org as well as in the package you
downloaded. Basically all you need is to unzip the package and run
checksetup.pl and follow any instructions that come up.
Once you have Bugzilla successfully installed you need to do the following to
get Testopia up and running:
1. Download the Testopia tarball from ftp://ftp.mozilla.org
2. Copy the Testopia tarball into your Bugzilla's root directory.
3. Untar
* ``tar xzvf testopia-<release>.tar.gz``
4. Apply the required patches (skip this step if upgrade from Bugzilla 4.2+):
* ``patch -p0 -i testopia/patch-<version>``
5. Run checksetup
* ``./checksetup.pl``
These instructions assume you are installing on a fresh Bugzilla on Linux/Unix
systems. For more detailed instructions, and instructions for other operating
systems such as Windows, please see the README file in the Testopia directory.
You should now be able to See the Testopia links in the Bugzilla footer after
logging into Bugzilla. Make sure you update the new Testers group to include
any users that are going to need access to test cases.
Upgrading
---------
To upgrade an existing release of Testopia, you can simply follow the steps
outlined above. after first reversing the current patch. For more, see the
README file.
Upgrading from Testrunner (v0.7 and prior) is not supported.
.. note:: Patching requirement removed in Testopia 2.5
Configuration
#############
Testopia adds a number of additional parameters to the Bugzilla Parameters
page. They are located under the Testopia tab. If you are installing Testopia
with a new installation of Bugzilla, you should be sure to set the **urlbase**
parameter. Following is a list of required Testopia parameters and their
explanations:
**allow-test-deletion:**
If this option is on, users can delete objects including plans and cases.
Delete rights are maintained by the plan access control lists.
**testopia-allow-group-member-deletes:**
If this option is on, members of the Testers group will be allowed to delete
test objects. This overrides settings for individuals in the Testers group.
**testopia-default-plan-testers-regexp:**
This is the default regular expression for granting access to new test plans.
**default-test-case-status:**
Default status for newly created test cases.
**testopia-max-allowed-plan-testers:**
Limit to how many users a plan access regular expression should match.
Using Testopia
##############
Why Test?
---------
The following example illustrates why software testing is so important:
Taken from http://techiecorner.blogspot.com:
*In March 1992, a man living in Newtown near Boston, Massachusetts, received
a bill for his as yet unused credit card stating that he owed $0.00. He
ignored it and threw it away.*
*In April, he received another and threw that one away too.*
*The following month, the credit card company sent him a very nasty note
stating they were going to cancel his card if he didn't send them $0.00 by
return of post. He called them and talked to them; they said it was a computer
error and told him they'd take care of it.*
*The following month, our hero decided that it was about time that he tried
out the troublesome credit card figuring that if there were purchases on his
account it would put an end to his ridiculous predicament. However, in the
first store that he produced his credit card in payment for his purchases, he
found that his card had been canceled.*
*He called the credit card company who apologized for the computer error
once again and said that they would take care of it. The next day he got a
bill for $0.00 stating that payment was now overdue. Assuming that, having
spoken to the credit card company only the previous day, the latest bill was
yet another mistake, he ignored it, trusting that the company would be as
good as their word and sort the problem out. The next month, he got a bill
for $0.00 stating that he had 10 days to pay his account or the company
would have to take steps to recover the debt.*
*Finally giving in, he thought he would play the company at their own game
and mailed them a cheque for $0.00. The computer duly processed his account
and returned a statement to the effect that he now owed the credit card
company nothing at all.*
*A week later, the man's bank called him asking him what he was doing
writing a cheque for $0.00. After a lengthy explanation, the bank replied
that the $0.00 cheque had caused their cheque processing software to fail.
The bank could now not process ANY cheques from ANY of their customers that
day because the cheque for $0.00 was causing the bank's computer to crash.*
*The following month, the man received a letter from the credit card company
claiming that his cheque had bounced and that he now owed them $0.00 and
unless he sent a cheque by return of post them would be taking steps to
recover the debt.*
Though never proven to be true, this rather humorous anecdote explains the
impact that untested software can have. In the case of both the credit card
company and the bank, this seemingly minor issue may have cost both
institutions significant sums of money in lost transactions and down time, to
say nothing of the frustration of the customer.
Many times software errors cause only minor inconveniences. Other times they
can have serious consequences. Think of the life support systems on the space
shuttle or the flight control systems on an airliner. Software has become such
an integral part of our lives that many times we don't realize how much we
depend on it until something goes wrong.
What Types of Testing can Testopia Help You With?
-------------------------------------------------
There are two general classifications of software testing: black box and white
box.
*Black box testing is a strategy in which testing is based solely on the
requirements and specifications. Unlike its complement, white box testing,
black box testing requires no knowledge of the internal paths, structure, or
implementation of the software under test (Copeland, 2004,Sec I).*
Black Box Testing
^^^^^^^^^^^^^^^^^
Testopia was designed primarily for this type of testing. Requirements are
translated directly into test cases to be applied by the testers to the
software being developed. If a requirement is not met, the test case fails; if
it is met, it passes.
White Box and Automated Testing
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Though not specifically designed to handle white box tests (which are often
automated), Testopia can still provide a repository for test results. Each
test case can have an associated script and test logs can be attached to a
test case to show the results of testing.
Getting Started
###############
The Big Picture
---------------
Since Testopia is an extension to Bugzilla, it relies on many of the same
objects that Bugzilla uses to track bugs. In order to use Testopia you first
need to set up products and versions using the Bugzilla product editor.
Testopia makes use of Bugzilla's target milestones feature as well so you may
want to turn this optional field on in the parameters.
Testopia is comprised of several objects that are interdependent. Together,
they make managing the testing procedure possible. Lets look at each of these
in turn.
Test Plans
----------
At the top of the Testopia hierarchy are test plans. Before you can do
anything else in Testopia,you need a test plan. Test plans are associated with
a single product in Bugzilla, though you can have multiple test plans for each
product. Your test plan will serve as the storage point for all related test
cases and test runs and it will act as the dashboard for your testing. It will
also serve to determine who will have access to update test cases.
Test Cases
----------
Test cases are the heart of all testing. Test cases spell out what steps to
take while running a test and what outcomes to expect. If a particular run
through the steps fails to produce the expected outcome, the test fails. Test
cases are semi-independent in Testopia. Each test case can be associated with
multiple test plans so care should be taken to ensure that updating a test
case does not interfere with testing in another test plan than your own. A
list of associated test plans is displayed with each test case though, so this
should not be too difficult.
Test cases can be divided into categories. You can define as many categories
for your product as you like from the test plan page. These should not be
confused with components however. Each product in Bugzilla is divided into
components and you can apply multiple components to each test case, however
each test case can only belong to one category at a time.
Test Runs
---------
Test runs are the focal point of the testing effort. Once you have defined a
set of test cases, you are ready to run through those tests in a test run.
Each run is associated with a single test plan and can consist of any number
of test cases from that plan. Before we can run any test however, we need to
have a couple more items first.
Test Run Environments
---------------------
If test cases are the 'what' of testing, then environments are the 'where'. No
test runs in a vacuum. Where you run your test is as important as how you run
it. Software often is designed to run on specific hardware under specific
conditions. These conditions are captured in the test environment.
Environments are applied to test runs directly, but can be applied to test
cases indirectly as we will see.
Builds
------
Software development is usually an iterative affair. Developers write code
which is then compiled and included in a system. As bugs and enhancement
requests come in, the developer rewrites portions over again to fix or enhance
a product. In Testopia, each iteration is called a build. Builds are often
associated with milestones of the project. This is reflected in the build's
relationship to Bugzilla's target milestones object. Regardless of whether you
use target milestones in Bugzilla, you need to define at least one build for
your product before you can begin a test run.
Test Case-Runs
--------------
A test case-run is the record of how a particular test case fared in a
particular run for a given build in a given environment. When you create a
test run, records for each test case in that run are created. By default these
take on the build and environment of the test run, however, it is possible to
change these attributes on a particular case-run, essentially creating a new
case-run for each combination. This is desirable in situations where most test
cases are fairly generic in environmental scope but single test cases might
require specific conditions. It also aids in iterative testing as each test
case then be updated in a single run rather than having to create new runs to
test the failed cases.
Testing In Testopia
###################
The Product Dashboard
---------------------
In Testopia 2.0 and later, the Product Dashboard is the launch point for
everything in Testopia. From here you can view your plans by product, view and
save reports, and manipulate builds and categories. The Product Dashboard has
tabs listing plans, cases, and runs, builds, environments, and categories.
These tabs contain lists that can be sorted. Individual list items can be
edited by clicking the edit icon in the toolbar above it, or double clicking
in the field. Changes are saved immediately.
Adding Categories and Builds
----------------------------
Categories are used to classify your test cases. Each product has a default
category and it is up to you want to use categories to divide up your test
cases. Since you can also apply product components to a test case, you may
find that this suffices. Before you can create a test run however, you have to
specify at least one build. To add a build or category you can click the
``add`` link found above each of these fields from the respective tab on the
Product Dashboard. The fields are fairly self explanatory. In the case of
builds however, you have the option of hiding the build by unchecking the
``Active`` box. This will hide it from the build list used when creating a run.
To edit categories and builds, double click the field in the list. From here
you can edit individual builds and categories or remove them in the case of
categories.
Start With a Plan
-----------------
All testing should start with a test plan. In most cases this will take the
form of a document that details the purpose, structure, and methods that will
be employed in testing. The IEEE has put together a standard document template
for test plans (IEEE Standard 829-1998 for Software Test Documentation).
Whether you decide to use a formal template such as this or not, having a
rough outline of what your purpose for testing is will help those who test
this in the future know what you were looking for in your testing.
To create a new test plan in Testopia:
#. Click the ``New Plan`` link in the Bugzilla footer
#. Enter a name for this test plan.
#. Select a product from the product drop-down list.
#. Select a type for this plan (descriptions of types below).
#. Select a product version. This will be the default version for new runs.
#. Type or paste your plan document into the Plan Document editor.
#. Click the ``Add`` button
Once you have done this, you will be taken to your newly created test plan.
Viewing A Test Plan
^^^^^^^^^^^^^^^^^^^
At the top of your new plan, you will see an overview section detailing much
of the information you entered on the new plan form. In addition to this
however, you will see such things as the plan author, when it was created, and
what version of the document you are viewing.
Attaching Files
^^^^^^^^^^^^^^^
Either during creation or once you have created your test plan, you can upload
attachments to it. To create an attachment, simply click the ``browse`` button
and locate the file you wish to attach, type a description in the Description
field and click the ``attach`` button.
Attachments are treated very much the same as they are in Bugzilla. The size
limit will be determined by the max-attachment-size parameter the same as it
is for Bugzilla.
To edit an attachment click the ``edit`` link. This allows you to set the
description, filename, and mime-type for the attachment You can view it by
clicking the ID link if it is a viewable type or download it otherwise.
Editing Plan Fields
^^^^^^^^^^^^^^^^^^^
In the overview section, fields that can be edited have a pencil icon next to
them or consist of a drop down field. Changes to the fields are saved
immediately.
Viewing Plan History
^^^^^^^^^^^^^^^^^^^^^
Any changes made to plan values are captured and a history is kept so that as
test circumstances change over the course of a development cycle, you can know
what applied for a given set of tests in time. This also serves to thwart
unintentional changes to your test plan since each change captures when it
happened and who performed it. To view this history click the ``History`` tab.
Changes to the plan document are handled a little differently. A full version
is kept for each change and it is possible to view the differences between
versions by selecting which versions you want to compare and clicking the
``View`` button on the plan history page.
Creating Test Cases
###################
Once you have a plan to store them in, you can start entering your test cases.
Click the ``New Case`` button on the plan list page or click the ``New Case``
link in the footer to begin. You can also right click on a test plan in a list
and select ``Add Test Case`` from the menu.
Shortcut - Creating a Test Case
-------------------------------
#. Click ``Create a New Test Case`` on plan page or ``New Case`` from the footer
#. Enter a short description of your test case in the **Summary** field
#. Select a **Category**
#. Add a default tester or select a component (assigns test case to QA Contact)
#. List the steps for testing in the **Action** field
#. Provide the expected outcomes in the **Expected Results** field
#. Click the ``Add`` button.
Because it is possible to have a single test case linked to multiple test
plans, you can select which plans you wish to link your new case to.
First you need to write a short summary of your test case in the summary
field. Notice the options for the other fields here as well. Descriptions of
each can be found at the end of this document. The only required field here is
the summary, however you may want to apply a default tester and a requirement
at this time. Selecting a component from the components tab will automatically
set the default tester based on the Bugzilla QA contact of that component.
Though not required at this point, you should supply your list of testing
steps in the **Action** field and the list of expected outcomes in the
**Expected Results** field. To do this, click the ``Edit Document`` link under
the appropriate field. This will display a WYSIWYG editing area where you can
type or paste your values. For tips on writing good test cases refer to D.L
Runnels'
`How to Write Better Test Cases <http://www.stickyminds.com/presentation/how-write-better-test-cases>`_
From here you are taken to your test case. You will notice a link at the top
giving you the option of creating another test case for this plan at this time.
Adding and Removing Components and Tags
---------------------------------------
Once again, you are offered an overview detailing the information for this
test case at a glance. Below that you have the option of adding additional
components to this test case. Because some testing is cross product, you have
the option to add components from any product in Bugzilla to your test case.
You can also remove a component by selecting it from the list and clicking the
``Remove`` button.
As with plans you also can apply tags to your test cases. This will be
described later.
Viewing Test Case-Run Results
-----------------------------
Clicking the CaseRun History tab will display a history of this test case in
all runs and their status as to whether they passed or failed in those runs.
Attaching Files
---------------
Just like test plans, you can attach files to your test cases. This works the
same as for test plans.
Attaching Bugs
--------------
Unlike test plans, you have the option of attaching Bugzilla bugs to your test
cases. Each test case can have multiple bugs attached. To attach a bug, enter
the bug number in the field and click the ``Add`` button. A table of attached
bugs is displayed.
Editing Case Fields
-------------------
As with test plans, you can update any of the values you entered while
creating the plan. A history of these changes is also kept which you can view
by clicking the ``History`` button near the top of the test case.
Test Case Dependencies
----------------------
Test cases have the concept of dependencies. Often when testing a set of test
cases, the order in which you test is determined by what tests came before. It
is also often the case that if a given test case fails, it prevents other test
cases from being run successfully at all. You can represent those
relationships here using the **blocks** and **depends on** fields. If this
test potentially blocks the execution of another test case, you would enter
that other test case's id in the **blocks** field. If this test case requires
some other test case be run first you can enter that other test case's id in
the **depends on** field. If a test case that blocks another test case fails,
and both of them are in a single run, the blocked test case will automatically
receive a status of **BLOCKED**.
Creating Environments
#####################
As mentioned above, environments are the where in testing. In software testing
in particular, this might include such things as which operating system and
what hardware platform a test was conducted on.. Environments can be as broad
or narrow as you define them. The most basic environment consists of an OS and
platform chosen from Bugzilla's lists of these objects. However it can be much
more complicated such as a suite of applications and other products. It could
be a browser or other client package.
Creating an environment in Testopia requires two steps. The first involves
defining a set of variables to be used in your environment. The second is to
create the environment from the set of possible elements.
Environment Administration
--------------------------
When you first install Testopia, you must first define the set of environment
variables that will be used to construct your environments. When editing an
environment, the environment variables are arranged in a hierarchy of objects
that is represented as a tree. There are four major levels: **Category**,
**Element**, **Property**, and **Property Values**.
Categories
^^^^^^^^^^
Environment Categories are similar to test case categories in that they
provide a sorting mechanism for your environment elements. Each category is
associated with a single product or in the special bucket labeled *ALL--*.
The *All--* denotes all products, meaning it holds categories of elements
that are not specific to any product.
When you first install Testopia you will see that the *ALL--* bucket
contains two Categories, **OS** and **Platform**. Expanding these you will see
that there are elements representing each of the OS and Platform values
defined in Bugzilla. This is list is generated at the time you first install
Testopia and is maintained separately from the Bugzilla lists thereafter.
To create a category, right click on the product or *ALL--* and choose
``Add Category``. You can then click on the newly create category in the tree
which will pop up a form that allows you to edit the category name or change
the product it is associated with.
Elements
^^^^^^^^
Once you have a category defined for your product or the *ALL--* bucket,
you can add elements to that category. Elements are the crux of what makes up
your environment. To create an element, right click on the category you wish
to add it to and choose ``Create Element``.
This will create an element labeled “New Element” which you can edit by
clicking on it in the tree, or right clicking and choosing ``Edit``.
Elements can be nested inside other elements. To create a sub element, right
click on the element and choose ``Add Element``. You can edit this child
element in the same manner as its parent. You can create as many levels of
elements as you need to represent the complexity of your environment.
Properties
^^^^^^^^^^
Properties describe your element. You can add properties to your elements by
right clicking the element and choosing ``Add Property``. You can add as many
properties to your elements as you need. Properties cannot be nested however.
To edit your property, click on it in the tree or right click on it and choose
``Edit``.
Property Values
^^^^^^^^^^^^^^^
Once you have defined a property for your element, you will need to provide a
list of values from which to select for you environment. Right click on your
property and choose ``Add Value`` to create a value for your property. You can
edit property values by right clicking and choosing ``Edit``, or by clicking
on one of the values under your property.
You can change the name or reorder the list of values from the form provided.
You must hit ``Save Changes`` in order for you changes to be committed.
Creating Your Environment
-------------------------
Once you have set up the elements that will be used in your environment, you
can now create environments with those elements.
From the product dashboard environments tab, Click the ``Add`` button in the
toolbar.
You are prompted to name your environment. The product is used only for
classification. It does not limit your choices of which elements can be placed
in your environment.
Once it is created, clicking it will take you to the environment editor. Here
you will see two trees, one representing your new environment and the other
containing the list of variables from which to choose. Your environment will
consist of elements you defined earlier. To add an element, find it in the
list and simply drag it onto your environment tree. The order does not matter.
You can grab child elements at any level, but dragging an element with
children will bring the children as well.
Once you have selected the elements for your environment, you can now select
which of the property values apply to your environment. Expand the element and
property and simply click the value you wish to use. It will have a star
placed next to it to show your selection.
To remove an element, right click on it and choose ``Remove``.
All changes to your tree are saved immediately.
Creating a Test Run
###################
Shortcut - Creating a Test Run
------------------------------
Once you have an environment to test in and some test cases to test, you are
now ready to begin testing. You do this by creating a test run. The easiest
way to do this is from within your test plan. Click the ``Create a New Test
Run`` link in the Test Runs section of your plan. You can also create a run by
clicking the ``New Run`` link in the footer and entering your plan number.
You will be presented with a list of **CONFIRMED** test cases from your test
plan. You can select only the ones you want included or all of them at once
using the select all link. If you want to limit the list to only include test
cases that meet certain criteria, you can use the filter to narrow down the
list. If you have a lot of test cases, you can use the paging features in the
table of test cases to view more than the default 25 at a time. This is
important as the only test cases that will be included are those that are
visible on the screen and have a check in the box next to the case ID. If you
do not know which test cases to apply, or do not wish to do so at this time,
you can always add test cases later.
Next you need to provide a summary and select a build. If you forgot to create
the build before, you can simply type the name of a new build in the **New**
box and it will be added to the product. You can then edit the build later to
add a milestone. Finally you need to select an environment. You do this by
typing the name of your environment in the **Environment** box. As you type, a
list of environments from your product that match will appear. You can also
click the drop down arrow to view a list of all environments in your product.
Once you have completed the form, click the ``Add`` button to be taken to your
new run.
Viewing Your Test Run
---------------------
As with the other objects, you will notice an overview section at the top of
your run. This contains similar information as found in the test case and test
plan with one notable exception: the progress bar. This will show you a
percentage of completed test cases with the colors representing statuses.
Below this section you will see the Test Case Run Logs. This table represents
the test cases you will be testing each row represents a single case-run. You
will notice the expander arrows next to each row in the table. Click on this
to expand the case-run form. Take note of the ``Filter`` and ``Report``
expanders as well. You can use the filter much like you did when choosing the
test cases to include in your run, except this provides more options for
narrowing the list of case runs visible at a time.
Adding Cases
------------
As mentioned earlier, you can add test cases to your run by clicking the ``Add
Cases`` button below the case-run table. This will take you back to the list
of test cases you saw when creating your test run excluding any test cases in
your plan that are already in this run.
Editing Test Run Fields
-----------------------
As with test cases and test plans, you can update any of the values you
applied when you created the test run in the form at the bottom of the page.
Note that changing the build and environment will not affect the case-runs
already in the run but it will apply to any test cases added after the change.
Changes to these fields are tracked and a history is kept much the same way as
with test plans and test cases. Clicking the ``History`` button will display
this history.
Running Your Tests
##################
As a tester, you will likely spend most of your time running tests and
recording the results from the test run page. When you first open a run the
test cases are represented in a table as case-runs. Your run may included only
those test cases that are required for a specific testing priority, or for a
given tester. Or, your test run may include a larger set of test cases that
represents an entire test cycle. On a given day, you may only want to test the
highest priority test cases and skip lower priorities for later in the
process. Or you may just want to run regression tests on the set of previously
failed test cases. You can do this using the filters.
Filtering Your Test Cases in a Run
----------------------------------
Expand the ``Filter`` by clicking the expander triangle next to the filter.
You will notice a number of options for filtering your test cases including:
* Status
* Category
* Build
* Environments
* Priorities
* Components
* Assignee
* Tags
* Case summary
Testopia can remember your filters so that the next time you view this run,
you can rerun a filter. To save a filter, enter a name and click the ``Save``
button. To clear the filter and return to the full list click the ``Reset``
button. Saved filters are available on the filters tab on the right.
Sorting Test Cases
------------------
You can sort the list of test cases by clicking on any of the table column
headings. You can also sort on the summary by clicking any of the **Summary**
field headers. If you wish to create a custom sort order for your test cases,
type a number to index on in the **Index** fields and click ``Change``.
Sorting on this field will then display your cases in ascending order of the
indexes you supplied.
Currently Testopia only supports ascending sorts. Support for descending sorts
are planned for future releases.
Passing and Failing Test Cases
------------------------------
Once you are ready to begin testing, expand the first test case in your list
and read the **Action** and **Expected Results** for this case. You can then
perform the test. If the expected outcome is achieved you can pass the test by
clicking the green check or ``PASSED`` button.
If the results were not expected or an error occurred, you can fail the test
by clicking the red X or ``FAILED`` button.
Explanations of the other statuses appear at the end of this document.
Adding Notes
------------
Updating the status will add a line to the notes field with the time of the
change and who made it. You can add additional notes by typing them in the
**Add Note** field and clicking ``Append Note``.
Attaching Bugs
--------------
If a test case has failed, or for any other reason, you may want to attach a
bug to this test. You can attach existing bugs or create new ones. To attach
an existing bug, type the bug number in the box and click ``Attach Bug``. The
bug will be displayed in the **Bugs Detected** field. If you wish to log a new
bug, click the ``New`` button. You will be taken to the enter bug page with
information about the test case already provided in the form. You can now
provide any additional details and submit the bug. This is done in a new
window so that you do not lose your place in testing. To return to your run,
close the new window.
Reassigning Tests
-----------------
The assignee field is used to help testers track their own test cases. If you
wish to change the assignee of a particular test case, you can do so by
entering their Bugzilla user name in the assignee field and clicking
``Assign``. Updating test cases is not limited by assignee. Anyone with rights
to edit the case-run can pass or fail the test. If a test case is closed
(**PASSED**, **FAILED**, or **BLOCKED**), the name of the person who performed
the action is captured in the **Tested By** field.
Changing Build or Environment on a Test Case
--------------------------------------------
Testopia is designed to be flexible. Testing organizations vary greatly on
modes and methodologies. For this purpose, test runs were designed to allow
the greatest flexibility possible as to how tests are run. Some groups will
create a single test run for each build and environment combination they
encounter. Others will want a monolithic test run that represents an entire
product release. In this case you can update the build and environments on
individual test cases in your run. Each time you do, the appropriate case-run
record is returned, if one exists, or is created if it does not. A note is
appended with the time of the change as well as who made the change. If a new
record is created, the status is set to **IDLE** and you are ready to test
with your new build or environment selection. For any given run, the case-runs
displayed are the last ones that were updated. In essence however, the
case-run table represents a two dimensional view of a three-dimensional
object. Changing the build or environment bring the corresponding record to
the forefront. This should be kept in mind when running reports on case runs
as what you see in a run is only the surface of what data may be included.
Deleting Case-Runs
------------------
Sometimes you might mistakingly add a test case to a run that does not belong
or you may select an invalid build and environment combination. In these cases
it is easiest to remove them by deleting the case-run all together. You must
have the proper permissions to do so and the administrator needs to allow this
in the parameters. To delete a single case run or a group of them, select it
from the list and click the ``Delete`` button in the toolbar. You will be
prompted to confirm the action before the record is removed.
Updating Multiple Cases at Once
-------------------------------
You can update a group of case-runs at once by selecting the group in the list
and either right-clicking to bring up the menu, or using the toolbar above the
list of cases. From here, you can change the status, attach bugs, update build
or environment attributes, and even delete a whole list at once.
Wrapping Up
-----------
Once all tests in a run are complete, you should set the status on the run to
**STOPPED**. This will prevent further updates to case-runs in the run.
Getting Around Testopia
#######################
Navigating Testopia is done using the links in the Bugzilla footer. You can
use the QuickSearch box to quickly jump to any case, run, plan or environment.
To do so simply type the object's ID number, or part of the name or summary,
prefixed by a type identifier. Following is the list of identifiers:
+--------------------------+------------------------------+
| Object | Prefix |
| | |
+==========================+==============================+
| **TEST CASE** | ``case``, ``TC``, ``c`` |
+--------------------------+------------------------------+
| **TEST PLAN** | ``plan``, ``TP``, ``p`` |
+--------------------------+------------------------------+
| **TEST RUN** | ``run``, ``TR``, ``r`` |
+--------------------------+------------------------------+
| **TEST RUN ENVIRONMENT** | ``env``, ``TE``, ``e`` |
+--------------------------+------------------------------+
| **TEST CASE-RUN** | ``caserun``, ``TCR``, ``cr`` |
+--------------------------+------------------------------+
| **TAGS** | ``tag`` |
+--------------------------+------------------------------+
So for example, to find test run 45, you could type ``r 45`` or ``TR 45`` or
``run 45``.
To find environments with 'Linux' in the name, you could type ``e:linux`` or
``TE Linux``
Searching
---------
Bugzilla has very powerful searching capabilities. Testopia has applied the
Bugzilla search engine to searching for test cases, plans, runs, environments,
and case-runs. Each of these has its own set of search parameters that can be
used to narrow the scope of a search. To perform a search, click the
``Search`` link in the footer and then click the tab representing the object
you wish to search from.. From here you select the parameters you wish to
query on and click the ``Submit`` button. This will take you to the
corresponding list page for that object.
Sorting Search Results
^^^^^^^^^^^^^^^^^^^^^^
Search results are paged and sortable. To sort, click the column header of the
corresponding field you wish to sort on. This will return the list in
ascending order. Click a second time for descending order.
Paging
^^^^^^
By default, Testopia will display 25 records at a time. You can use the links
at the bottom of the list to navigate from one page of search results to
another or use the **Jump To Page** box to jump directly to a page of results.
You change the number of records you view at a time by selecting an option
from the page size drop down. Lastly, if there are not too many records, you
can opt to view all of the records at once using the ``View All`` link.
Batch Processing
^^^^^^^^^^^^^^^^
From the search results page of cases, runs, plans, and case-runs, you can
update a batch of objects at once. Do this by selecting which objects to
update right clicking and choosing ``Edit``. For example, with test cases, you
can apply changes to virtually any fields as well as add these cases to test
runs or link them to a set of plans. You can also export test cases as *CSV*
or *XML*. More on this later.
Saved Searches
^^^^^^^^^^^^^^
Like Bugzilla, Testopia offers the user the opportunity to save a search for
later retrieval. You do this by clicking the ``Save`` button in the toolbar,
typing a name in the save search as field and clicking the ``Save`` button.
Saved searches appear below the other Testopia links in the footer and from
the searches tab on the product dashboard. You can remove a saved search by
selecting it in the searches tab and right clicking and choosing ``Delete
saved search``.
Reporting
---------
As with searching, Testopia has modified the Bugzilla reporting engine to
provide basic tabular reports based on a set of search criteria. These reports
can be run on test cases, runs, plans, and case-runs. To run a report, click
the **Reports** menu on the product dashboard and click the tab corresponding
to the object you wish to report on. Select the fields for the horizontal and
vertical axes of the report and then select your search criteria. The default
report is in the form of tabular data. You can then switch between bar and
line graph modes or export the data as a CSV (comma separated values) file
which can be opened in a spreadsheet.
In addition to these generic reports, certain objects have other reports
associated with them. These are accessed from the object pages directly.
Plan Reports
^^^^^^^^^^^^
Completion Reports
""""""""""""""""""
Right clicking a selection of runs from the run tab or builds from the build
tab in the product dashboard and going to the reports menu allows you to view
a report of case-runs by run or build. As with searches, these reports can be
saved. Click the tool icon in the dashboard portal above the report and select
``Save``.
Top Bugs
""""""""
This report displays the bugs found in test cases within the test plan ordered
by the bugs attached to the most test cases. In other words, which bugs are
failing the most test cases.
Bugs Found in This Plan
"""""""""""""""""""""""
This generates a bug list of all the bugs attached to any case in this plan.
Printable Percentage Report
"""""""""""""""""""""""""""
This report displays the pass/fail percentages of the plan by run, build, and
environment.
Test Case Reports
^^^^^^^^^^^^^^^^^
Estimated vs. Actual Time
"""""""""""""""""""""""""
Test cases can have a time estimate associated with them. This can then be
used in conjunction with the case-runs for that case to determine the actual
running time. To do this, test case-runs must be placed in the **RUNNING**
state when a test is started. This then starts the stopwatch so to speak for
that case in that run. When a case is passed or failed the difference of the
two times is calculated. The average of all case-runs in all runs for this
case is then used to calculate this report.
Historic Status Breakdown
"""""""""""""""""""""""""
This pie chart represents the percentage of all case-runs for this case
divided by status.
Cloning
-------
Often it is desirable to copy test information for use in a new development
cycle. Testopia allows you to clone test cases, test run, and whole test
plans, allowing you more efficiently move from one product release to another.
Cloning is performed by clicking the ``Clone`` button on the object you wish
to clone.
Cloning Test Plans
^^^^^^^^^^^^^^^^^^
To clone a test plan:
#. Navigate to the plan you wish to clone and click the ``Clone`` button.
#. Enter a name for the new plan or accept the default.
#. Choose a product and product version to clone to.
#. Select the clone options
#. Click ``Clone``.
When cloning a test plan, you have the option to copy attachments, the plan
document, any tags, and the plans access control list. You have the option of
either copying the test cases, or creating links to the existing test cases.
Copying the test cases will produce a new set of test cases with new Ids
whereas linking will allow you to make modifications to your test cases and
have then reflected everywhere.
If you choose to copy the test cases, you are also given the option to apply
yourself as the author of the new cases.
Cloning Test Cases
^^^^^^^^^^^^^^^^^^
To clone a test case:
1. Navigate to the test case you wish to clone and click the ``Clone`` button.
2. Select a clone method.
3. If copying, check the box to copy within the plans already associated
1. Enter the plan ids of any additional test plans you wish to copy to
2. Select clone options
4. If linking, enter the ids of any plans you with to link this case to.
As with cloning plans, you have the option of making yourself the author of
the copy. You can choose to copy the attachments, tags, components, and
document.
Cloning Test Runs
^^^^^^^^^^^^^^^^^
To clone a test run:
1. Navigate to the test run you wish to clone and click the ``Clone`` button.
2. Enter a summary for the copy.
3. Choose a plan within the product to clone to.
4. Choose a product version and build.
5. Select clone options.
6. Click the ``Clone`` button.
In addition to the options to copy the tags and making yourself the manager of
the cloned run, you have the option of copying over the test cases. You can
limit the clone to only include test cases of a certain status. For instance
you may want to only include cases that failed in the cloned run.
Deleting
--------
It is possible to delete test cases, plans, runs, and case-runs. To delete,
you must have the **allow-test-deletion** parameter turned on and have the
proper rights. Bugzilla admins (members of the **admin** group) can delete
regardless of the parameter settings and have rights to delete anything in the
Testopia system.
To delete an object, click the ``Delete`` button on that objects page. You
will be taken to a confirmation screen detailing what other objects will be
deleted, if any, as a result of deleting this object. To confirm, click the
``Delete This Test`` button. Deleting in Testopia is irreversible. If you wish
to simply hide an object instead you can do so using the methods outlined
below:
Test Cases
^^^^^^^^^^
To hide a test case from search results, place it in the **DISABLED** status.
Test Plans
^^^^^^^^^^
To hide test plans from search results, you can archive them by clicking the
``Archive`` button on the plan page.
Test Runs
^^^^^^^^^
To hide test runs, place them in the **STOPPED** state.
Importing and Exporting
#######################
Test cases can be exported as either XML or in Comma Separated Value formats.
To export a test cases, click the appropriate format button under the
``Export`` section found at the bottom of the test plan page, the test case
page, or the case search results page.
Exporting in CSV allows you to open you test cases in a spreadsheet where you
can manipulate the values and generate custom reports.
Exporting as XML allows you to import your test cases into other Testopia
installations or into custom database applications.
Importing Test Cases
--------------------
You can import test cases from other Testopia installations or from other test
case management systems using the **tr_importxml.pl** script. In order to be
eligible for import, your exported test cases must first comply with the
Testopia document type definition found in the **testopia.dtd** file. This can
be done by using XML stylesheets to transform the XML to match the DTD. This
is outside the scope of this manual, but information on this subject is
readily available via the web.
To import test cases, run the **tr_importxml.pl** script with the path to your
test case XML file. More details can be found on the
`project wiki <http://wiki.mozilla.org/Testopia:Documentation:XMLImport>`_.
Testopia Security
#################
Like Bugzilla, Testopia provides several methods for restricting access to
test data. Because test data is often more forward looking than bug reports,
Testopia requires that users log in to see any test objects. There are several
layers of security that a user must pass through to view those objects
however. These are determined in part by Bugzilla group membership, but mostly
by the test plan access control list.
The Testers Group
-----------------
When you first install Testopia, it will create a Bugzilla group called
*Testers*. Members of this group have access to view and update all test plans
and their associated objects such as cases and runs. Membership in this group
is required in order to create new test plans, clone test plans, and
administer environments. If the **testopia-allow-group-member-deletes**
parameter is on, members of this group will also have rights to delete any
object in Testopia. Membership in this group is checked first and supersedes
the access control lists for individual plans.
Test Plan Access Control Lists
------------------------------
In addition to the **Testers** group, each test plan maintains it's own access
control list which can be used to allow or deny access to test plans based on
email domain or explicit inclusion. Each test plan has its own access list.
For a user that is not in the Testers group to access a test plan or any
associated cases, runs, or case runs, he or she must be included on the list
either by matching a regular expression, or explicit inclusion. To edit the
access control list for a plan, navigate to the test plan and click the
**Permissions** tab.
User Regular Expression
^^^^^^^^^^^^^^^^^^^^^^^
Users with login names (email addresses) matching a supplied regular
expression can be given rights to a particular test plan. The regular
expression should be crafted with care to prevent unintentional access to the
test plan by outsiders. For example, to grant access to your test plan by all
users at acme.com you would supply the following regular expression:
``^.*@acme\.com$``
To provide access to all users at acme.com and foo.org, you would use:
``^.*@(acme\.com|foo\.org)$``
To provide public access (all users) you would use:
``.*``
An empty regular expression does not match anything meaning leaving this field
blank will mean the test plan will rely solely on explicit membership.
Once you have supplied the regular expression, you must select the access level.
Explicit Inclusion
^^^^^^^^^^^^^^^^^^
If you do not wish to grant access to a whole group at once, you can add
individual users by entering their Bugzilla login in the field provided and
clicking the ``Add User`` button. This allows the most fine grained control as
to who can do what within your test plan. However, if you add a user that
matches the regular expression they will have the greater of the two rights.
Access Rights
-------------
Users on the test plan access control lists can be granted rights to read,
write, delete, and admin test plans and their associated objects.
**Read**
Allows viewing rights to the plan and all test cases, test runs, and test
case-runs associated with it. Test cases linked to more than one plan will
be visible to users in both plans.
**Write**
Implies Read. Allows rights to modify the plan and associated cases, runs,
and case-runs. Test cases linked to more than one plan will not be writable
unless the user has write rights in all plans.
**Delete**
Implies Read and Write. Allows rights to delete the plan and associated
cases, runs, and case-runs. Test cases linked to more than one plan will not
be deletable unless the user has delete rights in all plans.
**Admin**
Implies Read, Write, and Delete. Allows rights to modify the plan's access
controls.
Tags
####
Testopia utilizes a tagging mechanism to help organize test objects. Unlike
the traditional method of placing things into virtual folders, tags allow a
many-to-many relationship by allowing multiple objects to have the same tag
while allowing each object to have multiple tags.
Tags are a novel approach to categorizing objects. They have become very
popular with numerous popular web 2.0 tools and have met with much success.
Tags are similar to keywords in Bugzilla but do not require an administrator
to create. The act of tagging an object creates the tag which can then be used
anywhere.
The idea behind tags is that each user can categorize each item to his or her
own liking without destroying other users' categorizations. Test cases, plans,
and runs can all have tags associated with them. Though tags are not directly
associated with a product, Testopia uses a smart typing approach to recommend
tags based on relationships to other objects within the same product.
Tags have a knowledge of who added them to a particular object as well,
allowing users to manage the tags that they have created.
Adding Tags to an Object
------------------------
To add a tag to a test case, run, or plan, begin typing in the **Tag** field
in the tag tab on the right. If what you type matches any other tags that
others have applied within the product associated with this object, it will
appear up in the drop down list. You can then either select a tag that matches
or type your own new tag. Clicking the ``Add`` button will then attach your
tag to the object.
Viewing Tags
------------
To see a list of your tags, click the ``Tags`` link in the header above the
tags section in any object. From this screen you have the option to look up
tags based on product or entered by another user.
Using Testopia With Automated Test Scripts
##########################################
Testopia provides a web service XML-RPC that utilizes the SOAP protocol to
interact with Testopia objects via an automated script. Documentation for this
feature is available on the
`Testopia wiki <http://wiki.mozilla.org/Testopia:Documentation:XMLRPC>`_.
Field Descriptions
##################
Test Plans
----------
**Name**
Short descriptor for a test plan. Does not need to be unique.
**Product**
Bugzilla product that this plan is associated with.
**Product Version**
The Bugzilla product version. Used as the default for new runs.
**Type**
The testing type for this test plan. Possible values include *System*,
*Integration*, *Unit*, *Functional* and *Acceptance*. This list is
modifiable by the Bugzilla admins from the Testopia ``Admin`` link.
**Archive**
If this bit is set to true, the plan will be archived and not display in
searches by default. To archive a plan, click the ``Archive`` button. To
unarchive, click ``Unarchive``.
**Plan Document**
This is the document that spells out the type of testing and testing methods
used for this plan.
**Tags**
See tags description above.
Test Cases
----------
**Summary**
A short description of the test case.
**Default Tester**
The person who will be assigned to this test case when a new run is created
in which this case is included.
**Alias**
A unique string that can be used to identify this test case. This can be
used in place of the test case ID, but must be globally unique to the
database.
**Requirement**
The requirement number or URL to a document containing the requirement this
test case is designed to test.
**Status**
Test case status determines whether this case can be included in new test
runs.
* *PROPOSED* - A work-in-progress that has not been reviewed for accuracy.
* *CONFIRMED* - Ready to be included in future test runs.
* *DISABLED* - No longer applicable to current testing.
Only test cases with a *CONFIRMED* status can be used on new test runs.
**Priority**
This denotes the level of testing. Higher priority test cases should be run
first and more often than lower priorities.
**Category**
The product category that this test case belongs to. Each product has a
default category. Additional categories can be added which can be used to
further classify your test cases. Because this is a product attribute, this
list will be the same for all plans in a given product.
**Estimated Time**
The estimated time (in ``HH::MM::SS`` format) that this test case should
take to complete.
**Add to Runs**
Entering a run ID here will include this test case in a test run if it is
not already included. You can also enter a comma separated list of run
numbers to add to multiple runs at once.
**Automatic**
Test cases can be either *Automatic* or *Manual*. Automatic test cases are
run by a script, while manual test cases are performed by a tester.
**Script**
If this is an *Automatic* test case, you can enter the name of the script
that runs this test case. *TESTOPIA DOES NOT RUN YOUR SCRIPT FOR YOU*. You
must run your script and capture the results to send to Testopia. You can
use the XML-RPC interface to have your script update the test case-run
results automatically.
**Arguments**
If there are specific arguments sent to the script that apply to this test
case, they can be stored here. *TESTOPIA DOES NOT RUN YOUR SCRIPTS FOR YOU*.
This field is only used to store the information. The XML-RPC can be used by
your script to capture this from the test case.
**Attach Bugs**
You can attach bugs to your test cases. This field accepts a comma-separated
list of bug numbers.
**Depends on**
If this test case requires other test cases be run before this one, their
case numbers should appear here. Enter a list of comma-separated case
numbers to add dependencies.
**Blocks**
If this test case prevents others from being run their ID numbers will
appear here. This field accepts a comma-separated list of case numbers.
**Set Up**
This field details the steps that are necessary to prepare to run a test.
**Break Down**
This field details the steps required to reset the test case to a known
state in preparation for the next run.
**Action**
This field lists the steps of testing.
**Expected Results**
This details the expected outcomes of a test.
**Component**
You can associate Bugzilla components to your test cases. Because testing
might be across multiple components and products, you can add multiple
components from any product. Selecting the product from the drop down list
displays the components available. Click ``Add`` to associate the selected
component with the test case.
**Tags**
See above for a description
Test Runs
---------
**Product Version**
This is the Bugzilla product version that this test run is testing.
**Plan Version**
This is the version of the plan document that this test run is using.
**Manager**
The user in charge of this test run
**Build**
The default product build. This is applied to test cases added to the run.
**Status**
Determines if this test run is active.
* *RUNNING* This test run is still active. Test cases can be updated.
* *STOPPED* Test cases in a stopped run cannot be modified.
**Environment**
This is the environment in use for this test run. Test cases added to this
run will receive this environment. Environments must be created using the
Environment editor before a test run can be created.
**Summary**
A short description of this test run.
**Notes**
This field is a place to make notes and observations about this run.
Test Case-Runs
--------------
**Status**
The status of a case-run determined by whether it passed or failed or is in
some other state.
* *IDLE*: This is the default status. Case has not yet been examined.
* *PASSED*: This test case met the requirement or ran as expected.
* *FAILED*: This test case did not run as expected.
* *RUNNING*: This test case is currently being examined.
* *PAUSED*: A problem with the test case prevents its completion.
* *BLOCKED*: This test case has a dependency that failed.
**Index**
A user defined sort index. This can be used to place your test cases in a
specific order.
**Add Notes**
This is a place to append notes to the case-run.
**Notes**
This field combines the notes from all case-runs records for this case in
this run as well as status change history.
**Update bug status**
With this box checked, bugs that are attached to this test case in the
RESOLVED FIXED state will be automatically placed in the REOPENED state if
the test case fails or into the VERIFIED FIXED state if it passes.
**Attach Bugs**
This field allows you to attach bugs to this test case. Enter a comma
separated list of bug numbers to attach more than one bug at a time.
**Assignee**
This is the person assigned to run this test case.
**Tested By**
This is the person that actually ran the test. This is updated when a test
case is placed into the PASSED, FAILED, or BLOCKED status.
**Close Date**
The time this test case was closed (PASSED, FAILED, or BLOCKED)
**Build**
The product build used for this test case-run.
**Environment**
The product environment used for this test case run.
Glossary
########
+------------------+---------------+------------------------------------------+
| Term | Object | Description |
| | | |
+==================+===============+==========================================+
| Action | Test Case | The list of steps that a test case must |
| | | complete. |
+------------------+---------------+------------------------------------------+
| Alias | Test Case | A globally unique string that identifies |
| | | a test case in conjunction with the test |
| | | case ID. |
+------------------+---------------+------------------------------------------+
| Archive | Test Plan | Test plans may be archived and hidden |
| | | from regular searches |
+------------------+---------------+------------------------------------------+
| Arguments | Test Case | A list of parameters to send to an |
| | | automatic test script |
+------------------+---------------+------------------------------------------+
| Assignee | Test Case-Run | The person responsible for applying a |
| | | status to a test case-run. |
+------------------+---------------+------------------------------------------+
| Blocks | Test Case | A test case that blocks another test |
| | | case. |
+------------------+---------------+------------------------------------------+
| BLOCKED | Test Case-Run | A status of a test case-run indicating |
| | | the prerequisite test case failed. |
+------------------+---------------+------------------------------------------+
| Build | Test Run | In software testing, a string denoting |
| | | the compiled results of a period of |
| | | development |
+------------------+---------------+------------------------------------------+
| Category | Test Case | A property of a product that is used to |
| | | classify test cases. |
+------------------+---------------+------------------------------------------+
| Clone | Multiple | An exact replica of data between two |
| | | objects. In Testopia you can clone |
| | | plans, runs, and cases. |
+------------------+---------------+------------------------------------------+
| Component | Test Case | A Bugzilla component. An attribute of a |
| | | product |
+------------------+---------------+------------------------------------------+
| CONFIRMED | Test Case | A status of a case. Confirmed test cases |
| | | have been approved for use in test runs. |
+------------------+---------------+------------------------------------------+
| Default Tester | Test Case | The default person responsible for apply |
| | | a status to the test case-run for a |
| | | given test case. |
+------------------+---------------+------------------------------------------+
| Dependency | Test Case | Test cases can be dependent on other |
| | | test cases. There are two types of |
| | | relationships, depends on and blocks. A |
| | | test case that is blocked by another |
| | | should not be examined before the |
| | | prerequisite test case as success is |
| | | determined part by the outcome of the |
| | | predecessor. |
+------------------+---------------+------------------------------------------+
| Depends on | Test Case | Sets up a dependency between test cases. |
| | | Depends on lists the test cases that a |
| | | particular test case requires to be |
| | | completed before this case. |
+------------------+---------------+------------------------------------------+
| DISABLED | Test Case | A status of a test case denoting it is |
| | | no longer used for active testing. |
| | | Similar to archival for a plan. |
+------------------+---------------+------------------------------------------+
| Expected Results | Test Case | The expected results upon completing the |
| | | action of a test case. |
+------------------+---------------+------------------------------------------+
| Environment | Test Run | A list of the surrounding conditions |
| | | that a test run is performed in. |
+------------------+---------------+------------------------------------------+
| FAILED | Test Case-Run | A status of a test case-run. Denotes the |
| | | test case failed in the given run. |
+------------------+---------------+------------------------------------------+
| IDLE | Test Case-Run | A status of a test case-run. Denotes |
| | | that the test case has not been examined |
| | | in the given run. |
+------------------+---------------+------------------------------------------+
| Manager | Test Run | The person in charge of a given run. |
+------------------+---------------+------------------------------------------+
| Milestone | Builds | A Bugzilla object. A property of a |
| | | product that implies when a given bug or |
| | | feature will be fixed or included. |
| | | Testopia builds are associated with |
| | | milestones. |
+------------------+---------------+------------------------------------------+
| PASSED | Test Case-Run | A status of a test case-run. Denotes the |
| | | test case has met the conditions of |
| | | success detailed in the |
| | | *Expected Results* of the test case in |
| | | the given run. |
+------------------+---------------+------------------------------------------+
| PAUSED | Test Case-Run | A status of a test case-run. Denotes the |
| | | test case has been under examination in |
| | | the given run and is on hold. Used |
| | | primarily for performance tests that may |
| | | span long time periods. |
+------------------+---------------+------------------------------------------+
| Plan Document | Test Plan | The information of a test plan detailing |
| | | what the test plan will cover for what |
| | | by when. Depending on the level of |
| | | scrutiny required, it can be very |
| | | verbose. |
+------------------+---------------+------------------------------------------+
| Plan Version | Test Run | The version of the plan document used |
| | | for a particular run. |
+------------------+---------------+------------------------------------------+
| Priority | Test Case | The Bugzilla priority. Test cases can be |
| | | assigned a priority similar to bugs. |
+------------------+---------------+------------------------------------------+
| PROPOSED | Test Case | A status of a test case that denotes it |
| | | has not yet been approved for use in |
| | | test runs. |
+------------------+---------------+------------------------------------------+
| Requirement | Test Case | A field of a test case provided to |
| | | capture information about a requirement. |
| | | Typically an ID of a requirement in a |
| | | separate requirement tracking system. |
+------------------+---------------+------------------------------------------+
| RUNNING | Test Case-Run | A status of a test case-run. Denotes the |
| | | test case is in the process of being |
| | | examined in the given run. |
+------------------+---------------+------------------------------------------+
| Running | Test Run | A status of a test run. Running test |
| | | runs can have case-runs updated and |
| | | implies that there is further test to be |
| | | done in the run. |
+------------------+---------------+------------------------------------------+
| Script | Test Case | A path to an external automated test |
| | | script for a given test case. Testopia |
| | | does not run this script, the field is |
| | | only provided as a way of informing the |
| | | user where to find it. |
+------------------+---------------+------------------------------------------+
| Stopped | Test Run | A status of a test run. Stopped test |
| | | runs can not have case-runs updated. |
| | | This status denotes the run is complete. |
+------------------+---------------+------------------------------------------+
| Tag | Multiple | A user defined string used to classify |
| | | test plans, cases, and runs. |
+------------------+---------------+------------------------------------------+
| Test Case | --- | A list of conditions and expected |
| | | results for success for a particular |
| | | feature or object under scrutiny. Test |
| | | cases are associated with one or more |
| | | test plans and with zero or more test |
| | | runs. |
+------------------+---------------+------------------------------------------+
| Test Case-Run | --- | The union of a test case and a test run. |
| | | Each time a test case is included in a |
| | | new test run, an entry is made for it in |
| | | the test case-runs table. This captures |
| | | whether the test case passed or failed |
| | | in the given run. Each case-run should |
| | | be associated with only one build for a |
| | | given status. |
+------------------+---------------+------------------------------------------+
| Test Plan | --- | The defining object in Testopia. |
| | | Organizes the other objects in Testopia. |
+------------------+---------------+------------------------------------------+
| Test Run | --- | The instance of performance in Testopia. |
| | | Each run is associated with a single |
| | | plan and environment. It contains a list |
| | | of test cases to be examined and stores |
| | | the results in the case-runs table. |
+------------------+---------------+------------------------------------------+
| Tested By | Test Case-Run | The person who examined and applied a |
| | | status to a given case-run. |
+------------------+---------------+------------------------------------------+
| Type | Test Plan | The plan type. Plan types might include |
| | | System, Unit, Integration, etc. Each |
| | | plan can be of only one type. |
+------------------+---------------+------------------------------------------+
Getting Help
############
There are a number of resources for getting help in Testopia. You should first
check out the `FAQ on the wiki <https://wiki.mozilla.org/Testopia:FAQ>`_ for
additional pointers not included in this manual. If your problem is not there,
asking your question on the mailing lists or in the chat room are your next
best options. Please do not email the developers directly with support
questions. They are busy people like you who have other commitments and cannot
expect to be available at all times. Besides, asking your questions in a
public forum allows more people the chance to respond and might get you a
solution promptly.
**Mailing Lists**
* support-webtools@lists.mozilla.org
* dev-apps-webtools@lists.mozilla.org
**IRC Chatroom**
irc://irc.mozilla.org/testopia
**Wiki**
http://wiki.mozilla.org/Testopia
**Project Home Page**
https://developer.mozilla.org/en-US/docs/Mozilla/Bugzilla/Testopia
Reporting Bugs
##############
Testopia is still a work in progress. As such, it still has a lot of bugs to
be worked out. If you encounter a bug or find some way to make Testopia
better, please log it at:
http://bugzilla.mozilla.org/enter_bug.cgi?product=Testopia
Be sure to include steps to reproduce the problem and what browser you are
using to access Testopia.
Bibliography
############
Copeland, L. (2004). A Practitioner's Guide to Software Test Design
Norwood, MA: Artech House
IEEE Std 829-1998 IEEE Standard for Software Test Documentation (n.d).
Retrieved February 28, 2007 from
http://standards.ieee.org/reading/ieee/std_public/description/se/829-1998_desc.html
Lohmeyer, J. (2004, April 27). Open-Source Bug Tracking with Bugzilla. Linux
Journal.
Retrieved February 27, 2007, from http://www.linuxjournal.com/article/7216
Meyers, G.J. (2004). The Art of Software Testing, Second Edition
Hoboken, NJ: John Wiley & Sons.
Runnels, D.L. (1999). How to Write Better Test Cases
Retrieved September, 2006 from
http://www.stickyminds.com/getfile.asp?ot=XML&id=2136&fn=XDD2136filelistfilename1%2Epdf
Sherry, R.(2006, August).Testopia
Retrieved 2 December 2007 from
http://blog.drivenqa.com/2006/08/the-hunt-for-a-.html
Why Software Testing is Important ??? - Good one! (June 6, 2006).
Retrieved January 23, 2007 from
http://techiecorner.blogspot.com/2006/06/why-softwaretesting-is-important-good.html