Skip to main content
 
au

  • Increase Speed to Market
    Deliver quality quicker by optimising your delivery pipeline, removing bottlenecks, getting faster feedback from customers and iterating quickly.

  • Enhance Customer Experience
    Delight your customers in every digital interaction by optimising system quality and performance to provide a smooth, speedy and seamless user experience.

  • Maximise Your Investment
    Realise a positive ROI sooner and maximise your investment by focusing your energy on high-value features, reducing waste, and finding and fixing defects early.
  • The Wellington City Council (WCC) wanted to deliver quality outcomes without breaking the bank. Find out how Planit’s fast and flexible resources helped WCC achieve this goal.

this is a test Who We Are Landing Page


INSIGHTS / Articles

Accelerating Test Preparation with Session-Based Testing

 18 Jun 2020 
Accelerating Test Preparation with Session-Based Testing Accelerating Test Preparation with Session-Based Testing
Accelerating Test Preparation with Session-Based Testing
INSIGHTS / Articles

Accelerating Test Preparation with Session-Based Testing

 18 Jun 2020 

Agile teams often consult me about less time-consuming alternatives to test cases.

Their request is often well founded - testing is all too often blamed for user stories not completing within an iteration. Or even more worrying, that testing is being conducted in n+1 iteration, which is, in effect, Waterfall testing.

As I highlighted in a recent webinar, one of the reasons for this is that test case design and test preparation is taking too long. For example, if code is delivered on day 2 of the iteration, which is when testing should commence, test cases will not yet be written and ready to execute for this code. If the testers are not ready to execute as the code is continuously delivered to them, then test debt is being accumulated.

The bad news is that Agile test cases are very similar to their traditional counterparts. The good news is that it is possible to save time and effort by moving some testing away from test cases to session-based testing.

Consider that writing a traditional test case may take 30 minutes or more. Conversely, a test session will take approximately 5 minutes to plan and prepare, which is a time saving of 80% and translates into significant cost savings.

For this reason, you should identify when it makes sense to use test cases, and when to use test sessions. Here are some guidelines I follow to determine which to use:

  1. Reduce product risk (of course, you need to have identified the risks and prioritised them first)
  2. Identify residual risk
  3. Provide confidence in the system, rather than finding defects (quality should be built in, not tested out.)
  4. And a lagging metric – reduce defects leaking to production

Why use session-based testing?

When consulting with clients, I am always curious to know how many teams are practising session-based testing as a means to optimise test preparation, whilst ensuring the same levels of coverage.

To get some insights into this, I recently carried out a poll to the question, “are you currently using session-based testing?”, during the aforementioned webinar. The results were very much in line with what I am seeing across our clients:

  • For all tests – 9.5%
  • For high risk/business critical tests only – 0%
  • For low/medium risk business tests only – 19%
  • Continuing with traditional test cases – 42.9%
  • Some teams are using it, but not all – 28.6%

There is currently a split between teams using session-based testing, and those continuing with traditional test cases, which was shown in the poll and based on my experiences reflective of Agile teams. If your testing is blocking user story completion within the iteration, then I would encourage you to experiment with session-based testing.

So, what is session-based testing?  Here is my definition:

Session-based testing is a software test method that aims to combine accountability and exploratory testing to provide rapid confidence in the product or defect discovery, creative evolutionary design as you learn more about the product, quality control and metrics reporting.

Not only is it a way to fully document your testing, it also encourages exploration and provides flexibility to add information as you learn. The session has a charter or test objective, as well as a set of test ideas related to that charter.

Session-based testing is definitely not ad hoc testing and should start with a plan of what you think you are going to test. As you continue throughout the session, you add more details and update your results.

This also cuts down on test case maintenance. Rather than the need to write step by step actions and expected results, the tester will have a greater understanding of what has been delivered, as they have been included in requirements and design discussions.

This means they only need to document their test ideas, what they are planning to test and what they did test. Not the how to test it, which is often what requires maintenance as the product develops or changes. Particularly in an Agile delivery cycle, as teams welcome change through rapid feedback loops and customer collaboration.

Track and measure sessions

I would recommend a simple session sheet be adopted to start, but then add to this as you discover what additional details would help you. Remember to continuously reflect to ensure you are only recording information that helps deliver the best value to your customer, and no more. This may include pre/post conditions and some simple quality metrics.

I work with teams to store the session sheets within whatever tool the team choses as a configured session sheet. This allows the team to gain metrics and visibility across the sheets through dashboards.

If you do not have access to such a configurable tool, you can use a template within Word and attach it to a task. However, understand the constraints of this approach, as it will not give you as much flexibility to view the data. And therefore for the teams to make decisions based on this data.

As with any test, these should be based on product risk. This could be one of the key metrics you decide to capture in the form of risk coverage and/or residual risk.

Test techniques should be used to build the test ideas as would be expected by any good test design process. After all, the test techniques are the only way to identify test coverage.

Using a risk-based approach, you then decide, given your context, how many to create/execute to give the required coverage. Remember create tests you are actually going to use, just-in-time. One of the biggest areas of waste I often see is tests that have been documented, but never get executed.

You can then use the gathered metrics from the current session to adjust your planning as you execute and learn more, and as feedback for your session debrief. This will then allow you to decide on the next most important feature/functionality to test.

Test sessions should be timeboxed and I would recommend about an hour of uninterrupted time. This enables rapid feedback loops, keeps you focused on the charter and the test ideas.

If you do not complete in an hour use the debrief time to decide if it is worth spending more time on this charter or if another will give you more benefit in gaining confidence in the product.

Start scheduling sessions

Session-based testing is not only an innovative way to ensure quality – it’s also an effective way to deliver faster results. Of course, as with many Agile-based methodologies, the true value of this approach is typically realised by the ones who properly implement it.

If you are a highly motivated individual who wants to demonstrate additional value to an Agile team, getting certified provides a solid foundation to build your session-based testing skills. If you are an organisation that is looking to unlock further efficiencies in delivery and quality, then the right Agile expertise will help put you on the right track to realise benefits sooner.

Leanne Howard

Business Agility Practice Director

Embed Quality in your Agile Delivery

No matter where you are on your Agile transformation journey, we offer a broad range of consultation, assessment, training, and coaching services that enable your teams to deliver better outcomes faster, embed quality in every iteration, and adopt 'shift left' practices.
 
Find out how our Agile Quality experts can help you understand your Agile maturity and fast-track your journey to Agile success with quality embedded throughout. .

 

Find out more

Get updates

Get the latest articles, reports, and job alerts.