Zephyr Plugin is the solution for Agile Testing if you are already using JIRA in your Agile Software Management as a tool for issue tracking and project management, and want to integrate test management into the same system. It adds many new features to JIRA:
- Collaboration Test Cases Writing, Reviewing, Executing, Verify Test Results.
- Formal Execution for a Software Version and Test Cycle, or in-formal Ad-hoc Test Execution
- Traceability between Test Execution to each feature (epics and issues)
- REST APIs are available for Test Automation: retrieve latest test to run, and post test results back to Zephyr
Collaboration
Zephyr is a plugin for JIRA with additional features. It retains all features that JIRA has and includes the tracking progress of the Test Case in various stages of Workflow: Writing Test Case, Reviewing Test Case, Test Case Ready for Execution, Test Case is Done. Each of the stages of the Workflow can be assigned to a different user to get another pair of fresh eyes. The activity of the Test Case is being recorded under the History Tab of the Work Log. A Zephyr Test Case is basically a JIRA issue with the issue type “Test”. It has all the features that a normal JIRA issue has, with additional features add-on from Zephyr.
Workflow for Zephyr is default to be off. To turn Workflow on, do the following:
- As a JIRA Administrator, open the Administration section, select “Plugins” and “Zephyr for JIRA”.
- Click on the “General Configuration” tab on the left and click on the check box for Display workflow toolbar for Issues of type “Test”.
- Add/Edit/Remove each stage of the Workflow to fit your team project needs.
Execution
As a feature added by Zephyr, a JIRA issue of type “Test” has additional sections uniquely for Testing:
- Test Details: This is the Test Steps described by 3 fields: Test Step, Test Data and Expected Result.
- Test Executions: This section list all executions ever done for this Test Case with important information such as
- Test Cycle
- Software Version that the Test performed on
- Status of the Test Execution: PASS, FAIL, UNEXECUTED
- Who performed the execution
- When the execution was performed
Formal Test Executions are uniquely identified using both Software Version and Test Cycle. If another execution is performed using the same Software Version and Test Cycle, the execution will be updated using the latest Execution information.
Informal Test Executions are Test Execution using Software Version “Unscheduled” and Test Cycle “Ad hoc”. These executions are not unique. Each Test Case can have many Ad-hoc Test Executions.
Traceability
Zephyr Test Case can be linked to other JIRA stories or epics for traceability. When viewing a JIRA story, “Issue Links” section shows all the linked issues associated with the current story.
REST API
The REST API adds a lot of flexibility with Agile Testing, specifically with Automated Test. With the REST API, interaction with Zephyr can be platform-independent. Any language with HTTP Request/Response support can interact with Zephyr to:
- Access Test Case information
- Execute a Test Case within a Automated Test, and update the Test Execution status and each of the Test Step Result.
- Create new Test Cycle, and add new Test Execution to the Test Cycle
The possibilities of using the REST API are endless. It allows your project’s automated test to be recorded with Zephyr which is traceable back to your JIRA story. It can even be integrated with a Behavior-Driven Development (BDD) framework. In my next post I will discuss writing tests in Behave (a Python based BDD framework), and how those tests can be managed and tracked via Zephyr. Stay tuned for another future post where I discuss how to sync automated test executions via Jenkins back into Zephyr, using the REST APIs.