JIRA – test case and project management tool

Yuriy 25/04/2017

In this article, you can find answers on main questions about JIRA and its add-ons. We will clarify for ourselves what kind of tool it is, how we can use it, and who the main users of JIRA are.

JIRA can be defined as issue tracking or project management tool. Usually, it is used for bug or issue tracking, and project management. JIRA has been developed by Australian company – Atlassian. The first release of JIRA was in 2002.

Title “JIRA” seems to be an acronym, but this is not true. In fact, JIRA is the truncated variant of Gojira, the Japanese pronunciation for Godzilla. Actually, it has a reference to Bugzilla, the main competitor of JIRA.

Conceptual foundational things of JIRA are Issue, Project, and Workflow. It could be illustrated in such way:

JIRA sheme

Let’s clarify the meaning of these basic things.

JIRA Issue

Actually, anything to be created and tracked via JIRA can be referred as an issue:

  • The software bug
  • The project task
  • The leave request form
  • A help-desk ticket

Creating issues

Now, we can consider how to create an issue in JIRA.

The user must have the Create Issue project permission for the issue’s relevant project, to create an issue.

Steps of creating issue process:

  1. Log in to JIRA account and get directed to the dashboard.
  2. Click “Create” button at the top of the screen to be navigated to the “Create Issue” dialog box.
  3. Fill in all required fields
  • Project. Here you should choose relevant project name.
  • Issue type. In this field, appropriate issue type is selected. There are different types of issue in JIRA: sub-task, new feature, bug, epic, improvement, story, task etc. We will consider them a little later.
  • A summary is a critical information about the issue, written in a summarized way.
  • A person, who reports the issue, is mentioned in the Reporter field
  • A person, to whom the task is assigned, is mentioned in the Assignee field
  • Description field contains the detailed information about the issue: Steps to reproduce this issue, Actual and Expected result etc.
  • The current build version is selected in the Affect Version field
  • If the work for the definite issue has been finished and the issue is fixed, developers choose appropriate version in the Fix version
  • Priority field shows which issue must be considered first to be fixed. You can assign such kind of priorities: highest, high, medium, low, and lowest.
  • Operating system and browser details are filled in the Environment
  • Screenshots or video concerned to the issue are being uploaded in the Attachment
  1. Click the “Create” button, if you are satisfied with the issue content.

There is an illustration of the “Create an Issue” dialog box:

JIRA. Creating an issue

Here are some useful tips to help you to create an issue:

  1. You can get access to new fields or hide existing fields in a next way. Click the “Configure Fields” button, then click the “Custom” and select the fields you need to show or hide. Also, you can click “All” to show all fields.
  2. Using “Create another check box” you can create a series of similar issues inside the same
  3. You can create issues via email with appropriate configuration by your administrator.
  4. It is possible to add issues to your backlog by using inline issue create if Agile Scrum board is used for planning.
  5. You can link to other issues, insert images, insert macros, in certain text fields for an issue

Issues main attributes

The main attributes of the issue are: Statuses, Resolutions, and Priorities.

Issue Status indicates the progress of a project. Possible issue statuses are illustrated below:

JIRA. Issue statuses

Resolutions show us the ways in which an issue can be closed.

JIRA. Issue resolutions

Priority determines issue’s importance in relation to other ones.

JIRA. Issue priorities

Issue Types

Opening Issue Types menu, you can see all types of items that can be created and tracked via JIRA.

JYRA. Issue type

JIRA applications come with default types of issue to enjoy the needs of your projects and teams. At the picture below you can see some specific issue types within each application:

JYRA. Issue types

Sub-tasks

Sometimes it is necessary to split up a parent issue into a number of smaller and simpler tasks. You can assign and track these tasks separately. Sub-task issues are used for this aim.

Two ways of sub-task creating:

  • Create sub-task under parent issue
  • Creating an issue into a sub-task

You should follow the next steps to create sub-task under parent issue:

  1. Open the required issue and choose the “Create sub-task” option from the “More” drop-down menu.

Subtask in JIRA

2. Fill all necessary information in the “Create Sub-task” dialog window and click on “Create”.  The sub-task link will appear in the “Sub-tasks” section of the parent issue as illustrated below:

JIRA sub-task-2

3. Click on the link of the created sub-task and verify its details.

JIRA sub-task-3

Steps for converting an issue into a sub-task:

  1. Find and issue you need by its ID, and open it.
  2. Choose the “Convert to the sub-task” option from the “More” drop-down menu.
  3. Select “Parent Issue and Sub-Task Type” screen, type or select the appropriate parent issue type and the new issue type (i.e. a sub-task issue type). Then click the “Next”
  4. “Select New Status” screen is displayed. So, select a new status and click the “Next”
  5. You will be offered to enter any additional fields, if it is required, on “Update Fields”. Alias, “All fields will be updated automatically” informational message is displayed. Then click the “Next” button.

JIRA subtask4

6. If you are satisfied with the new details for the issue, click the “Finish” button, after “Confirmation” screen is displayed.

JIRA sub-task-5

7. You will see that newly created issue is a sub-task with its parent issue number.

Here are some important things you should take care off while creating sub-task:

  • There is an ability to create as many sub-task as needed under an issue
  • If a sub-task is created under a parent, parent cannot be converted into a sub-task
  • However, a sub-task can be converted into a parent issue
  • You cannot create a sub-task for another sub-task
  • There is an ability to work on your sub-task without having navigating away from the parent issue

Sometimes, it would be better if many specialists have the ability to work on a single issue within a single project simultaneously. Cloning an Issue feature helps to solve this problem by creating a duplicate of the original issue, which contains the same information:

  • Summary
  • Description
  • Assignee
  • Environment
  • Priority
  • Issue Type
  • Security
  • Reporter
  • Components

Issue Security

The user has the ability to specify the issues security level while creating or editing them. Issue Security Schemes allows controlling person, who can view the issues.

Likewise, Default Permission Scheme helps to create a set of permissions and apply it to any project you need.

JIRA workflow

Workflow in JIRA is the suite of statuses and transitions that a bug/task/issue moves through during its lifecycle. In fact, it represents internal processes of your organization.

JIRA Workflow

Here are five main stages of the issue’s lifecycle:

  • Open Issue
  • Resolved Issue
  • InProgress Issue
  • ReOpened Issue
  • Close Issue

Workflow in JIRA consists of Statuses, Transitions, Assignee, Resolution, Conditions, Validators, Post functions and Properties.

Statuses determine the issues positions within a current workflow.

Transitions show the way an issue change the current status to another.

An assignee is a person responsible for the task execution.

Resolutions contain an explanation of issue’s transition from an open status to a closed one.

Conditions control an employee, who can perform a transition.

Validators check if input made to the transition is valid before the transition is performed.

Properties are used to implement restrictions on certain steps or transitions of a workflow.

Post functions allow you to carry out any additional processing required after a transition is executed, such as:

  • Generating change history for an issue
  • Generating an event to trigger email notifications
  • Updating an issue’s fields
  • Adding a comment to an issue

There are active and inactive workflows. If a workflow is currently being used by one or more projects, it is an active workflow, otherwise, it is an inactive workflow.

There is a special graphical tool that helps users to see the layout of the workflow and to create or edit a workflow’s steps and transitions. It is the workflow designer.

Workflow creating

There are 3 ways for starting a new workflow:

  • Creating a new workflow
  • Cloning an existing workflow
  • Importing a workflow

Follow the next steps to create a new workflow:

  1. Click the “Workflows” button in the left-hand navigation panel,
  2. Click the “Add Workflow” button at the top of the screen.
  3. Enter a workflow name and description, then click the “Add” button
  4. The new workflow will open in edit mode, and contain a step “Open” and an incoming transition called “Create”.
  5. You can continue to customize workflow, by adding and editing steps and transitions you need.

Cloning an existing workflow is another way of starting the new workflow:

  1. Choose “Issues” from the menu toolbar.
  2. Select “Workflows” to open the workflows page

Workflow creation JIRA

3. Use the “Copy” link in the “Operations” column to copy an existing workflow. Enter a name and description, and then press the “Copy”

4. You can add or edit steps and transitions to customize workflow as you need.

There are two ways of workflow import: importing from Atlassian Marketplace and importing from a local instance.

The steps for workflow importing from a local instance:

  1. Click on the “Workflows” section from the left-hand panel.
  2. Select Import > Import Workflow
  3. Choose a workflow you need to upload from the folder on your computer, and then click the “Next”
  4. JIRA will generate a workflow name automatically, but you can change it as you wish. Then click the “Next”
  5. A screen that details your workflow statuses will be displayed. Make changes you need to do at current workflow and click the “Next”
  6. A screen that presents a summary of the workflow changes, which you have done, will be displayed. If you want to accept these changes and import the workflow just click the “Import”
  7. Your workflow is imported, so click the “Done” button to finish and exit this process.

The steps for workflow importing from Atlassian Marketplace:

  1. Select “Issues” from the drop down menu
  2. Click on the “Workflows” section from the left-hand panel.
  3. Select “Import” > “Import Workflow”
  4. The “From Atlassian Marketplace” option is offered by default
  5. Find the workflow you need and then click the “Select”
  6. Follow steps from 5 to 7 from “Importing from a local instance”

Here are some workflow useful tips:

  • To see the relevant transition labels hover over a status or transition.
  • Nobody can clone transitions in the workflow designer.
  • Nobody can create annotations in the workflow designer.
  • Changing the status name on one workflow will change the status on all workflows use that status because Statuses are global objects in JIRA.
  • Nobody can edit the name of the active workflow (only the description could be edited).

JIRA project

A JIRA project is the issues collection.  The main attributes of the project are:

  • Name is selected by the administrator.
  • Key is an identifier that all the issue names under the project start with.
  • Project component is a logical grouping of issues within a project.
  • Often it is necessary a particular issue be associated with a project version. There are three states of versions: Released, Unreleased or Archived.

JIRA project 1

Look at the picture above. So, we can distinguish the project attributes:

  • Project name – Website Issues
  • Project key – WEB
  • Project components – Contact Us, Products

Project creation

You should be logged in the system as an administrator to create a new project.

Steps you should follow to create a project:

  1. Select “Create Project” from the “Projects” on top bar menu
  2. Choose JIRA Default Schemes
  3. Enter project name “JIRA Junior”. Leave the project key “JJ” as the default value.
  4. Select “Submit” to create your new project.

JIRA project2

Of course, you can customize your project as you need.

JIRA packages

Nowadays, the main packages offered by JIRA are:

  • JIRA Core
  • JIRA Software
  • JIRA Service Desk

JIRA Core is the basic package. It is an optimal combination of powerful opportunities for collective work with tasks in the process or project.

The main features of JIRA Core:

Out-of-the-box customized business project templates allow managing simple tasks as well as complex workflows.

jira core business project

The user can store task details with comments, attachments, and due dates in one place.

The user has the ability to be informed with detailed notifications and get the attention of specific team members by using @mentions.

jira core notifications

You can use the search tool to find answers to the specific questions: what a team member still needs to finish or a date when a task was last updated.

jira core power-search

If you really want to understand how your team is doing, you should use reports and dashboards to showcase the metrics that matter most.

jira core reports and dash boards

You can manage different areas and directions of your business with JIRA Core:

  • Finance
  • Marketing
  • Internal operations
  • Legal documentation
  • HR

JIRA Software is the project management tool for agile teams. Put it simply, JIRA Software is JIRA Core plus JIRA Agile plug-in.

Let’s consider its main features.

Scrum boards help to visualize all the work in a given sprint.

JIRA Scrum

JIRA Software Scrum Boards advantages:

  • Version management
  • Sprint planning
  • Easy backlog grooming
  • Story points
  • JQL, filters and custom dashboards for daily scrums or stand ups
  • Huge number of agile reports

Kanban board displays the statuses of work in columns and lanes. Continuous releases idea is the basis of the Kanban methodology.

JIRA Kanban

Here are the main features and advantages of JIRA Software Kanban board:

  • Story cards
  • Flexible workflows
  • WIP (Work in Progress) limit configuration
  • Swimlanes and columns
  • Informative agile reports

There are special mixed methodologies for supporting team working.

According to the Scrumban methodology team takes roles and fixed-length sprints from Scrum and the focus on cycle time and work in progress limits from Kanban.

Kanplan is the combination of Kanban and the backlog.

JIRA Service Desk is a powerful tool for effective customer communication.

There are 3 roles here:

  • Admins – service project administrators
  • Agents – team members who work on customer requests
  • Customers – the people you serve through your service desk

The simple scheme of the request resolving:

  1. The customer submits a request to service agents through a portal or via email.
  2. A service desk agent sees this request in JIRA Service Desk and looks into the issue.
  3. The customer and other participants can use the portal or email to discuss the request with service desk agent.
  4. Service desk agent completes the request and for customer’s satisfaction.

JIRA Service Desk features:

  • JIRA Service Desk helps to better understand customer needs
  • Repetitive tasks automation
  • JIRA Software integration
  • ITIL-certified service desk
  • Robust API for your service desk extension

JIRA add-ons

If you want to use the full potential of JIRA, you should also use its add-ons. Nowadays more than 2600 add-ons are offered by Atlassian. Let’s consider some of them.

Zephyr for JIRA

zephyr for jira

The Zephyr for JIRA allows users to organize, manage, search, author, plan, execute and report on testing activities for projects that are actively being managed in JIRA.

The main features and advantages of Zephyr:

  • Testing native to JIRA. Issues can be managed like any other JIRA issue.
  • Fully embedded within JIRA screen, that allows easy to start testing.
  • Powerful search abilities by using Zephyr Query Language and Execution Navigator.
  • Comprehensive set of test case management functions
  • Close integration with other JIRA systems.
  • Customized dashboards and metrics with individual configuration.
  • Test cases can be exported to word, excel formats.
  • Multiple test iterations with multiple cycles can be created.
  • Better traceability with the linkage between stories, test cases and bugs in the test cycles.
  • Test case review process possible through Agile board.
  • Customized filters.

Limitations and weak points of Zephyr:

  • Test result import not possible.
  • Export all the test cases and results in one file is impossible.
  • Importing existing test cases from excel is not easy and one has to use some external add-on for that.
  • Reporting can be done for only one particular cycle of iteration. A cumulative report cannot be generated for all the test cycles of the iteration.
  • Test cases have only 3 standard columns. Test case format cannot be customized.
  • Automation suite integration can be done with Selenium RC. Integration with Selenium Web Driver is not implemented.

Adaptavist ScriptRunner for JIRA

adaptavist script runner for jira

Adaptavist ScriptRunner for JIRA is an in-line editor for writing groovy scripts.

Features of Adaptavist ScriptRunner:

  • JIRA functionality extension
  • Enhancing users reports with extended JQL functions (hasLinks, hasComments, hasAttachments or subTasksof)
  • JIRA event handlers
  • Automatic acting with specified JQL queries

JIRA Toolkit Plugin

JIRA toolkit plugin

JIRA Toolkit Plugin is a unique set of JIRA extensions.

Some of its features:

  • It contains a big collection of useful custom fields
  • JIRA Toolkit Plugin helps to filter information that would otherwise be unavailable
  • It provides a simple workaround for current JIRA limitations or solutions to some specific problems.

JIRA Misc Workflow Extensions

JIRA Misc Workflow Extensions

JIRA Misc Workflow Extensions is used for implementation of complicated workflows in JIRA Server and JIRA Cloud.

JIRA Misc Workflow Extensions features:

  • Workflow validators
  • Workflow conditions
  • Workflow post-functions
  • Close integration with other Atlassian products
  • JIRA projects and host application administration

JIRA Charting Plugin

JIRA Charting Plugin

JIRA Charting Plugin provides different charts and reports for JIRA.

Its main features:

  • It provides additional options for the visual representation of a project in different contexts.
  • JIRA Charting Plugin includes the variety of gadgets and reports.
  • “Charting” View for Issue Navigator.
  • It allows getting additional custom fields (Resolution Date, First Response Date, and Time in Status).

Portfolio for JIRA

Portfolio for JIRA

Portfolio for JIRA is the complete Agile portfolio management tool.

It has the next features:

  • Seamless integration with other Atlassian tools
  • Team and project visibility tools
  • Export reports to CSV and sharing them with a link
  • It allows creating project-specific or cross-project releases
  • Release dates configuration
  • Assign issues to sprints
  • Progress and status tracking
  • Work items re-prioritization
  • Creation of multiple “what-if” scenario plans
  • Planning with both story points and time-based estimates

Tempo Timesheets

JIRA Tempo Timesheets

Tempo Timesheets is a special time tracker tool integrated with JIRA.

The main features of Tempo Timesheets:

  • It helps to track time for accounting, client billing, enhanced efficiency, payroll, and forecasting.
  • Tempo Timesheets provides less hassle and more accurate data in real-time.
  • It helps to manage cost centers across your business.
  • Tempo Timesheets provides the variety of internal time management tools.
  • It offers flexible reports on organizational resources and activities.

JIRA: Use or Not to use

Summarized, let’s consider the main pros and cons of JIRA using.

Pros:

  • Features that is not available elsewhere.
  • Users get the latest update on the progress of projects.
  • Fair and upfront licensing policy.
  • It could be run anywhere.
  • Many famous companies and institutions use JIRA (Nokia, LG, European Commission, European Parliament, Harvard and Stanford Universities etc.)
  • It is easily customizable and extensible.
  • JIRA interfaces are simple and convenience.
  • It is developed on the basis of modern web technologies.
  • World community of JIRA. A lot of companies around the world are constantly developing unique extensions and modules.
  • It is easy integrated with the most popular tools.
  • JIRA has a huge variety of add-ons that makes it the most powerful tool for developing, project management and test management.

Cons:

  • It is hard to set up.
  • JIRA requires a lot of time to learn and use effectively.
  • It misses a lot of features. This problem could be solved by using different plug-ins and add-ons, which is too expensive sometimes.
  • The mobile application of JIRA has limited functionality.
  • It is too complicated for small business and teams.

Finally, it will be interesting to know how you find JIRA. Maybe you have already implemented it in your company or just going to do it. Share your experience of using JIRA and any idea about it in the comments.