Managing Agile Testing in PractiTest

Managing your Agile Artifacts in PractiTest

More and more teams are switching to Agile development to increase their efficiency and meet the competitive requirements of the field and their users. We at PractiTest believe that Agile is a more logical development approach, and one that allows us to provide better and faster response to the dynamic demands of our users. Regardless of the reason why you are working Agile, PractiTest helps manage your Agile Testing Process with the help of our unique approach based on dynamic filters instead of rigid folders, the flexibility of our customization settings, and the graphical information displayed in the Dashboard.

Managing your Agile Testing process is as important (or even more!) than managing any of the “more traditional” testing approaches. When you work Agile, your tasks can become more “fluid”, and critical things such as testing coverage can become hard to track without the proper process in place.

The main artifacts you will want to manage as part of your Agile Testing process are:

User Stories

Acceptance & Additional Tests (that cover the User Story)

Issues (tasks, bugs, etc)

Graphs & Reports

Coordinating the work around these artifacts when working with PractiTest is straightforward and easy.

1. Capture User Stories within the Requirement’s module.

When working Agile you basically replace your Requirements with User Stories.

You can then organize your User Stories using Custom Filters. Start by creating an organized Backlog for all your future User Stories, and then catalog your active Stories based on the Sprint you are working on. To do this, simply add a field defining the Sprint for each Story and create filters that group them based by Sprints.

You can even create deeper levels of analysis (e.g. Risk Analysis, Functional Analysis, Market Analysis, etc) by organizing your User Stories in parallel filters based on any fields you choose to add to your User Story customizations.

2. Create and Share Acceptance Tests in the Test Library

Acceptance Tests help you make User Stories unambiguous, letting the team get synchronized regarding the functionality and behavior of each one of your features.

In PractiTest you can write and manage your Acceptance Tests within the Test Library, linking them back to the User Story where they originated.

You can then use the history, comments and notifications features to allow everyone to add their inputs into these tests and still make sure you remain on top of any changes to these tests.

* An additional TIP is for you to ask your developers to provide you and the rest of your testing team with feedback and guidelines on how to test their features. For example they can point to risks and areas to check that may not be trivial, or on the need to run stress or load test specifically for changes or fixes they made, etc.
You can do this simply by creating a test for each User Story where developers can provide their inputs to testers as they come up with ideas during the design or coding process.

We recommend to create Test Sets for each User Story Independently. Centralize in these Sets your acceptance tests, functional tests, and any other testing operations around your User Story. This way you can get a better sense of coverage and completion for each User Story individually.

You should also have individual Test Sets for Hardening or Integration, as well as for your Pre-Release or Pre-Launch cycle, or for any other specific testing operation taking place as part of your Sprint.

You can also use Hierarchical Filters organize your Test Sets!

4. Group issues based on their Target Sprint and User Story

When you report an issue make sure you do it directly from your test runs or that they are linked back to the User Story that it relates to. You should also assign them the Sprint when they should be solved.

Use filters in order to organize your issues based on Sprints, Users Stories, Modules, etc.

A good practice is to use the Issues Module not only to report bugs, but also to manage all the tasks of your User Stories and Sprint. Create tasks to keep track of the activities of your project and their individual statuses.

5. Provide visibility using a Summary Dashboard and additional Dashboards per User Story

You can use the Dashboard to keep your team up to date with the status of the Sprint in General and of each User Stories in particular.

With the help of the filters you have in each of your modules, create one dashboard centralizing all the information for your Sprint, and then create additional dashboard tabs with information for each User Story independently.

Setting up your Agile Testing Process

In order to support your Agile Testing & Development process we suggest you perform the following quick and easy customizations:

1. Create Custom Fields for you Target Sprint and User Stories

Go to Settings > Project Fields and create a new field of type LIST to define the Sprints of your Project. Add to this list field all your Sprints. Add to the field also the value “Backlog”, and set this value as the default.

Similarly create a Text Field for your User Story ID.

Add these fields to your Requirements, Test Sets and Issues modules.

Use these fields to catalog your User Stories (using the Requirements module), your Test-Runs (in the Test Sets & Runs module), and Issues based on the Sprint when your team is planning to develop and test the user story and related artifacts.

2. Generate Filters in your Requirements for each Sprint and also for your Backlog

Using the Target Sprint field and any other fields for your specific project, create filters in your Requirement’s module to catalogue your tests and display them based on the Sprint when they should be developed.

Remember to create also a filter or tree for your Backlog.

You can create sub filters or parallel trees to display your User Stories also based on the module, feature or any other logical distribution within your application.