Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Anchor
TopOfPage
TopOfPage

Center
Table of Contents
outlinetrue
maxlevel3
indent5px
stylenone
separatornewline

General Introduction

This page is meant to provide a general overview of how the OLE and OLETS Jira Projects are used in the OLE QA Testing process. Wherever possible, this page will include links to both other pages in this wiki and external resources for more detailed information on a given subject.

Return to Top

What is Jira?

Issue Tracking Software

Jira is a web-based Issue-Tracking Software application. Issue Tracking Software (ITS) is primarily used in software development to track the progress of issues related to the software's function. The issues tracked could be tasks to complete in order to establish a given function, requests to repair bugs in existing functions, requests from users to add new features, and a number of other development related tasks.

Jira is highly configurable, and can be customized to track a number of issue types in each installation. All of the above issue types are used in Kuali's Jira installation, as well as a number of others, largely tailored to the type of development process used by a given software project.

Jira Projects

In a single installation, Jira can host a number of projects. Each project roughly represents a single software development effort, with a myriad of issues being tracked independently, divided by type. Each Kuali application has its own Jira project, and some applications have multiple Jira projects. Issues can be interrelated across Jira projects, which is helpful for a community like Kuali, where our software often depends on other Kuali components, like Rice (for document routing and workflow control) or Kuali Financial System (for purchasing and invoicing functionality).

...

Key Terms

OLE (Jira Project)

The OLE Jira project is the main project for tracking the tasks we've marked out that define how the OLE application should function. The core team uses the OLE project to track functional specifications, and the development team uses the project to track coding progress.

When a task, called an "issue" in general Jira terms, is ready for testing by functional users, it enters "Testing" status in OLE, and is linked to one or more issues in the OLE Testing Scenarios (OLETS) projects. Because there is a difference in workflow between development and testing, we track the progress of testing issues separately.

Return to Section
Return to Top

OLETS (Jira Project)

The OLE Test Scenarios (OLETS) Jira project is used for tracking issues from the main Jira project which have been designated as ready for testing. Software testing is tracked both for progress and posterity: we run reports on the completeness of overall software testing, and we keep testing materials in the OLETS project so that we can access them again later.

Return to Section
Return to Top

Story

The Story is the OLE Jira issue type that serves as the master task for a given piece of functionality. Th Kuali design philosophy means that any major function requested in our software, like the ability to create a purchase order, starts out as a story that a user has told us; for example, "I work in acquisitions, and I need the software to enable me to place an order with a vendor." The sum of the Story issues in the OLE Jira project describe the full functionality that we want to offer with OLE.

Return to Section
Return to Top

Task

The Task is an OLE Jira issue type that serves as a "to do" item in developing a piece of functionality. The development team reviews the Stories and the functional specifications attached to them, and then determines what Tasks need to be accomplished in order to establish the requested functionality. Breaking up Stories into Tasks allows for faster and more incremental development

Return to Section
Return to Top

Bug/Defect

Like the Task, the Bug/Defect issue type also serves as a "to do" for developers. In this case, the "to do" is to notify programmers that an already-established, previously tested piece of functionality is no longer working.

Return to Section
Return to Top

Test Case

The Test Case is the basic OLETS issue type. Test Cases tend to represent one item from the Acceptance Criteria of a Functional Specification document. Alternately, a Test Case can represent one Bug/Defect item which is ready for testing.

At the time of testing, a Test Case should include a descriptive statement of what is to be tested (purpose statement), as well as a set of general instructions (steps) for how the test should run. By the time the Test Case is ready for review by the QA team, it should also include a Selenium script recording all the steps undertaken during testing of the issue.

Test Cases will relate to the Story containing the relevant functional specifications, and to either a Task or a Bug/Defect establishing the functionality to be tested.

Return to Section
Return to Top

Review of Issue Types

...

Linking in Jira

Jira is able to link issues both within the same project and across different projects. The link referred to here is essentially a normal Internet hyperlink, with an added custom field, "link type," to explain the logical relationship between the linked issues. Any time a Jira issue ID is entered into a text field or a comment on a Jira issue, a link will automatically be generated.

Generally only two link types are used in the OLE testing process: the "Parent Jira" link and the "Tests/Tested By" link, explained below in more detail.

Parent Jira

The link used between Stories and Test Cases is the "Parent Jira" link. This is a one-way link declaring that the Story is the parent to the Test Case. The link will only be shown on the Test Case, not the Story. One Story may be the parent to many Test Cases, but a Test Case will not have more than one parent.

The Parent Jira link is declared when the OLE Test Case is written, or while it is open for editing. For more information on how to declare a Parent Jira link on an OLE Test Case, please refer to the wiki page "Creating Test Case Content."

HTML Comment

PROVIDE LINK to SPECIFIC SECTION of this document once available.

Return to Section
Return to Top

Tests/Tested By

The link type used between Tasks (or Bug/Defects) and Test Cases is the "Tests/Tested By" link. This is a two-way link, declaring that the Test Case tests the Task. On the OLE Jira project, the Task will show a "Tested By" link to the Test Case, and on the OLETS Jira project, the Test Case will show a "Tests" link to the Task. This two-way link is automatically generated on both issues when it is created on one, so there is no need to duplicate the link on the Task if it has been declared on the Test Case. Generally, one Test Case will test one Task or Bug/Defect.

The "Tests/Tested By" link is usually declared after a Test Case has been written, and cannot be added while the Test Case is open for editing. For more on the relationship between Tasks and Test Cases, please refer to the wiki page "Creating Test Case Content." For specific instructions on how to create a link of this type, please refer to the "Linking Tasks" section of the "Creating Test Case Content" page.

HTML Comment

LINKS NOT YET AVAILABLE, PLEASE UPDATE.

Return to Section
Return to Top

...

Review of Jira Link Types

...

Return to Section
Return to Top

The Testing Process in Jira

Outlined below is a brief overview of the OLE testing process. The outline below is more of a summary than a detailed exploration, and is meant to help give a general picture of the OLE testing workflow, and how it fits into the larger scheme of the OLE development cycle.

Story Development

  • A Story issue is handed off for testing, with the Functional Specification document attached and complete Acceptance Criteria in place.
  • The Story is broken down into Tasks by the development team.
  • Code is written and submitted one Task at a time by the developers.
  • The code for each Task is checked individually by the development team.
  • Completed Tasks are moved to "Testing" status, and the related code is imported into the OLE Test Environment in bi-weekly updates.
  • The testers review the Release Documentation on the Kuali wiki to determine if a Task belonging to one of their Stories is ready for testing.
    • OLE Releases are divided first into Milestones. A Milestone Release is the release of a new numbered version of the OLE software package, and represents the implementation of a large bundle of new functions and features.
      • The Demo Environment and official download link are updated only on Milestone releases.
      • The current Milestone Release is OLE-0.8.0.
    • OLE Milestone Releases are subdivided into Iterations. Iterations are marked with a letter, and are bi-weekly, internal updates to the OLE application for testing purposes. Each Iteration marks the implementation of a large grouping of Tasks and newly resolved Bug/Defect issues.
      • The Test Environment is updated with each Iteration.
      • The current Iteration is OLE 0.8.0-H. (8/20/2012)
  • The testers revisit the OLETS Test Cases relevant to the promoted Tasks or Bug/Defects. The Test Case may need to be revised at this point, especially for Task testing.
    • If the functionality to be tested was not previously available, this is the best time for testers to review the process necessary to accomplish the main function described by the Test Case.
    • The Test Case must have the following information to be ready for testing:
      • A description stating the purpose of the Test Case
      • Steps describing the method for executing the test
    • A Selenium test script is recorded while the test is being executed.
  • Results are gathered from testing, and a determination is made as to whether the Test Case should pass or fail.
    • Pass
      • If the tester is able to successfully execute all testing steps necessary to fulfill the purpose of the Test Case, the test can be considered passed.
    • Fail
      • If the tester is unable to successfully execute all testing steps required by the Test Case, the test can be considered failed.
      • If the tester is able to execute all necessary steps, but the outcome does not satisfy the Acceptance Criteria statement on which the Test Case is based, then the test can be considered failed.
  • If the test passes, it is automatically assigned to the QA Analyst (Jain).
  • If the test fails, it is automatically assigned to the QA Manager (Rich).
    • In case of failure, the Task or Bug/Defect associated with the Test Case will be returned to an "in development" status.

Return to Section
Return to Top

User Testing

Testing Outcome

...

Documenting Your Testing Results

User Testing vs. Selenium Testing

Return to Section
Return to Top

Determining Success or Failure

Return to Section
Return to Top

Recording Your Results

Return to Section
Return to Top

How to Contact the QA Team

...

How to Contact the QA Team

Section
Column
width40%

Rich Slabach, QA Manager

Column
width10%

Column
width40%

Jain Waldrip, QA Analyst

Return to Top

Center