executing test cases and raising defects 2
February 05, 2019

How Agile Testing can increase your release efficiency

CC
Cristiano Caetano 5 minute read

Delivering software projects on time, on budget and with high-quality standards on fast-moving business environment is quite challenging.

Over the last 15 years, many teams have adopted a version of the agile methodologies which offer an iterative approach for software design and development to help teams to overcome these constraints. In fact, according to VersionOne’s State of Agile Report - 2018, 75% of the organisations adopted agile to accelerate software delivery and 46% to enhance software quality.

image 2019 01 18 13 16 23 469

Reasons for adopting agile

In a nutshell, agile methodologies recognises that testing is not a separate stage, but an integral part of the software development lifecycle. Agile teams work as a single team towards a common objective of achieving software quality, however, traditional testing approaches, such as logging bugs, keeping track of metrics, test planning and writing detailed test cases, might not seem like a good fit in an agile methodology. In order to bridge this gap in traditional testing approaches, agile testing has emerged and takes a different mindset: testing needs to happen early and often. Instead of waiting for development to be finished before testing begins, testing happens continuously as stories are developed. Instead of waiting until development freezes code, testers are constantly testing stories, integration of features and sub-systems.

Testing early and often

The ultimate goals of an agile team is to sustainably deliver new features with quality, at frequent intervals, working at a sustainable pace. In order to achieve these challenging goals, agile testing applies the principles of agile development to the practice of testing, meaning agile teams embraces a whole-team approach to baking quality in to the software product. Agile testing combines test and development teams around the principles of collaboration, transparency and flexibility which foster teams to achieve higher quality in software products within shorter releases cycles. The main goal is to ensure quality becomes everyone's responsibility and prevent issues by introducing testing as early as possible in the development lifecycle.

Test automation is wildly popular in agile testing since it has the ability to speed up software testing, making it more efficient. Automated testing provides a safety net to prevent refactoring and the introduction of new code from causing unexpected results, regressions and defects. In addition to that, test automation unlocks continuous testing throughout the release cycles reducing the feedback loop and costs associated with manual testing approaches. An effective test automation strategy calls for automation at many different levels. As a matter of fact, tests from the code level to the UI level (and all types of tests in-between) enable teams to learn how a product should work, and what the true definition of "done" is within a story or feature. The agile testing automation pyramid made popular by Mike Cohn provides good insights for driving agile teams with both automated and manual testing. Automated user interface testing, manual and exploratory testing are placed at the top of the test automation pyramid because we want to do as little of it as possible and it becomes somewhat of a bottleneck for agile teams as they attempt to move faster.

image 2019 01 18 13 15 57 075

 

Try Test Management for Jira

 

Agile testing quadrants

With agile methodologies, it’s not only the testers or a quality assurance team who feel responsible for quality. Lines between roles on an agile team are blurred. So, testers and developers need to work closely together and decide how best to improve their product. Since agile teams don't use heavy documentation to communicate what testers need to do, testers rely on agile testing quadrants to guide the testing strategy. Agile Test Quadrants (introduced by Brian Marick and further worked upon by Lisa Crispin and Janet Gregory) provide a thorough and helpful taxonomy to help teams identify and plan the type of tests needed. The four testing quadrants serve as guidelines and checklist to ensure all the types of testing are covered (or at least considered by the team) during the development cycles. Another benefit of the quadrants is that they can explain the whole testing strategy in common language that is easy to understand. In a nutshell, the quadrants on the left cover tests that support the team as it develops the product (tests are used to evaluate whether the application delivers the behaviours the team intended). These tests guide the development of functionality and help driving internal code quality as well as verify that the business logic and the UI behave according to the stories and acceptance tests. Quadrants on the right, focus on manual tests (or tests supported by tools) to validate the behaviour of the whole application by emulating the way real users will use it as well as whether the application meets non-functional requirements (performance, security, usability, etc).

image 2019 01 18 13 16 08 289

Agile testing with Jira

Jira supports any agile project management methodology for software development. You can prioritise and organise your backlog into sprints, run scrum ceremonies and more, all within Jira, but at the end it was not designed to serve as an agile test management tool. In order to benefit from agile testing features on top of Jira, you need to install the app Adaptavist Test Management for JIRA (TM4J) available on the Atlassian Marketplace. TM4J is an enterprise test management solution with a modern user interface seamlessly integrated with Jira to boost productivity and collaboration between development and testing teams for both manual and automated tests. TM4J is tightly integrated with Agile and Kanban boards in Jira.

sprint1

TM4J offers out-of-the-box rich APIs for integration with automation tools, CI/CD tools and frameworks you already use to save time and effort. In addition to that, it supports behaviour driven development with Cucumber or your chosen Gherkin compatible tool to promote collaboration and shared understanding between developers, testers and domain experts.

create test case2 

Agile methodology focuses on collaboration and open ended interaction between software development teams who work in short sprints, enabling them to focus on completing a small set of features. The fast pace of software development requires a new approach to test management. TM4J allows teams to coordinate all their testing activities, including test planning, authoring, execution, tracking and reporting in one place. It's native to Jira and enables you to measure progress and the quality of your product, whilst stimulating collaboration and improving visibility within both agile and traditional teams.

Start your free trial:

If you haven’t tried using Test Management for Jira yet, get a 30-day free trial here: