Workflow from development to testing and merge

aqib khan July 27, 2021

I am trying to formalize the development workflow and here's the first draft. Welcome suggestions on the process and any tweaks for optimization. I am pretty new when it comes to setting up the processes and would be great to have feedback on it. P.S: We are working on an AWS Serverless application.

Create an issue link in JIRA - is tested by. The link 'is tested by' has no relevance apart from correcting displaying the relation while viewing the story.

Create a new issue type in JIRA - Testcase. This issue type should have some custom fields to fully describe the test case.

For every user story, there will be a set of test cases that are linked to the user story using the Jira linking function. The test cases will be defined by the QA.

The integration/e2e test cases will be written in the same branch as the developer. E2E test cases will be written in a separate branch as it's a separate repository (Open for discussion).

The Test case issue type should also be associated with a workflow that moves from states New => Under Testing => Success/Failure

Additionally, we could consider adding capability in the CI system to automatically move the Test case to Success when the test case passes in the CI. (This should be possible by using JIRA API ). This is completely optional and we will most probably be doing it manually.

When all the Test cases related to a user story to success, The user story can then be moved to Done.

A few points to note:

We will also be using https://marketplace.atlassian.com/apps/1222843/aio-tests-test-management-for-jira for test management and linking.

The QA should be working on the feature branch from day 1 for adding the test cases. Working in the same branch will enable the QA and developer to be always in Sync. This should ensure that the developer is not blocked waiting for the test cases to be completed for the branch to be merged into development.

The feature branch will be reviewed when the pull request is created by the developer. This is to ensure that the review is not pending until the test cases have been developed/passed. This should help with quick feedback.

The focus here is on the "feature-oriented QA" process to ensure the develop branch is always release-ready and that only well-tested code is merged into the develop branch.

2 answers

0 votes
Freetrial Legend August 9, 2021

Most of your proposed workflow looks ok, but there is one thing that will bite you.

The Test case issue type should also be associated with a workflow that moves from states New => Under Testing => Success/Failure

No. A Testcase should have a workflow like New => Being Written => Ready for Execution.

Next to that, you should use an additional issue type "Testcase Execution" with the workflow you proposed. The Testcase Execution issues record the results of executing one or more associated Testcases. The advantage is that when you have the CI system run regression tests, you can just create new Testcase Execution tickets for recording the results of each run, without losing the history of previous times you executed the test.

The rule for closing a story would then that it has a Testcase Execution that shows all tests passing.

Also, before you start manually adding new test-related issue types, check what issue types AIO Tests adds for you to Jira.

0 votes
Niharika _AIO Tests_ August 1, 2021

Thanks for choosing AIO Tests for your test management needs. AIO Tests, unlike other test management systems, does not clutter Jira, by creating tests as issues.

So, you need not create an issue type at all. With our zero setup time, you can simply start creating tests against stories.  Cases have a workflow from Draft to Published (essentially equaling Ready for Testing). The AIO Tests jira panel shows the cases associated with the stories and their last execution status to get a glimpse of the testing progress of the story as shown below.  It allows everyone from the Product to the Developer to get a glimpse of the testing status.

image.pngYou can also create testing tasks and get a glimpse of the entire execution cycle in the AIO Tests panel.

image.png

AIO Tests also has a Jenkins plugin + REST APIs to make it part of your CI/CD process.

Please feel free to Book a demo with us and we would be happy to discuss your testing workflow. 

Suggest an answer

Log in or Sign up to answer