The Blog

Benefits of Agile for Testers

Posted by Adam Bardell on 23/04/2018

Aging principles
Within any software development team, testing involves investigation and analysis to identify product risks. Testers also provide information to stakeholders about the quality and complexity of testing so confidence levels are well understood. Depending on the methodology used, the success of a release may be largely based on the effectiveness of the test role.

In traditional methodologies, testers mainly contribute to delivery at the end of the process. If the testing phase only begins after analysis, design and implementation phases have been carried out, adapting to change becomes more difficult. Major issues found during this phase are usually so embedded, they are too risky to rework. If budgets and time pressures are a factor, it is always testing that suffers. Producing a high standard of testing becomes more and more challenging, and the blame culture starts to set in.

Working in this way can cause communication issues between business analysts, developers, and testers where requirements are often misinterpreted. Siloed working in these phases can lead to an over the fence attitude, wasted effort and a lack of involvement in decision making. These cause motivation and frustration issues for the testers involved.

Why Agile?
The idea of delivering software in small, prioritised work items is to maximize value to the customer as early as possible. But things change. Customer expectations, difficulties with technology, new requirements, and changing priorities are all real complications that must be tackled on a regular basis.

Short feedback cycles are vital so testers can react to ever-changing demands. Collaborating with business analysts, developers and stakeholders is the best way to make sure any re-planning is turned around quickly and efficiently, reducing waste. With better visibility of progress, gives time to plan for the feasibility of automation, non-functional requirements and test harnesses. This adds robust quality attributes, prioritised depending on their business value.

In an Agile team, the tester role is utilised across the whole software life-cycle. Testing starts from day one of the project, and provides a platform to drive quality and influence team members to think likewise. Thinking from a customer point of view during refinement, the test focus includes asking questions, thinking about UX, personas, risks, impacts, workflows and testability early on when there is still time to change things. Being part of requirements analysis from conception ensures test planning is based on a concrete understanding of specifications, dealing with any ambiguity to avoid future rework.

What makes Agile work?
One of the benefits of Agile is that it is easy to adopt, in principle, if you were to implement the rituals and follow the rules. Frameworks like Scrum or Kanban have been provided. However, product maturity, dependencies on other teams, or even company politics means a templated approach does not suit all.

Of all the Agile manifesto points, the key to making it work well is people over process. Each team has different personalities, skillsets, and specialists, which is why no two projects should be run or compared the same way. Agile gives the flexibility to create a working atmosphere where everyone adds value. It is the people that make Agile successful, not the rituals and processes.

The goal is to build a culture that centres on collaboration and teamwork where everyone is responsible for quality. It takes away feelings of blame, pressure, and isolation that testers have frequently been the victim of in older methodologies. The experience of working together in synergy, creates an extremely slick and efficient team and testers thrive in a situation where there is respect and can contribute as equals. This results in the team analysing business value rather than testers trying to gain confidence in a squeezed time frame.

For an Agile team to evolve requires trust. Things always go wrong during the project and people make mistakes. The important lesson is in how issues are dealt with. Empowering the team to learn from their own mistakes is rewarding, allows individuals to encourage each other and improve on estimates through experience. It is possible in a self-organising team, and works well when there is no micromanagement or multi layered hierarchy.

Better Productivity
Good testers love to learn. It is the basis of why we have a passion for testing. A self-managing and helpful team where everyone is working towards the same goal is a great motivator. Investigating and learning together with developers, and bouncing ideas against business analysts and other testers ultimately help to mitigate risks and reduces the overall cost of defects because they are captured and fixed much earlier during the development life-cycle.

Modern Agile teams are focused on continuous integration and continuous delivery models. Multiple changes and quick turnaround of defects require testers to be at the centre of decisions. Testers are best placed in a project to understand overall changes and impacts, so reporting risks and test coverage to the business is a benefit for both testers and stakeholders.

Business value in an Agile environment does not just include customer requirements. Creating a lean and efficient team helps to release within budget, allowing time to plan in knowledge transfer, self-learning and training. This investment improves knowledge that can be applied to future projects, and provides a longer-term benefit to the company without compromising delivery.

This is good news for testers developing a T-shaped skill set - the capacity to work across multiple disciplines while specialising in one core skill. Since Agile working is fluid, testers need to be flexible enough to switch between a logical and creative mindset. Product knowledge gained through rapid test feedback and continuous self-development ultimately increases software quality. Exactly what Agile and Testing both aim to achieve.

Read More

Topics: Software Testing, Benefits of Agile

Regression Testing - What Is It?

Posted by Matthew Fullwood on 17/04/2018

Regression testing is something that sounds so simple, so logical and an activity that should be obvious to what it entails. Yet time and time again, it is something that can cause problems for projects and software delivery. Usually in the time it takes to run the tests, inappropriate tests being used for regression or the very fact that there may be no regression suite to even execute.

Read More

Topics: Software Testing, Regression Testing

A Questionnaire To Help You Gather Your Non-Functional Requirements

Posted by Scott Summers on 10/04/2018

A functional requirement specifies a function that a system or system component must be able to perform. Probably the easiest way to explain ‘non-functional’ requirements is that they specify all the remaining requirements not covered by the functional requirements. Non-functional requirements specify the system’s ‘quality characteristics’ or ‘quality attributes’. Two products could have the same functions, but their attributes can make them entirely different products. A Rolls Royce has more or less the same functionality as a Lada but many different attributes!

Read More

Topics: Software Testing, Non-Functional Requirements

GDPR - Six Top Tips for the Software Delivery Team

Posted by Ryan James on 29/03/2018

With such a deluge of content available right now on the introduction of the General Data Protection Regulation, this article has been written for anyone involved in the development, testing and implementation of software within the UK.

First up, I’m going to assume by reading this article you’re aware of the basics. I’m assuming you are aware that from May 25th 2018 the General Data Protection Regulation comes into force and will dramatically change how organisations process and store personal data within the UK. I’m also going to assume you’re aware of the significant fines that will be handed out by the ICO should you fail to comply. Often overlooked are the powers the ICO have to impose a range of corrective powers and sanctions to enforce the GDPR. These include issuing warnings and reprimands; imposing a temporary or permanent ban on data processing; ordering the rectification, restriction or erasure of data; and suspending data transfers to third countries. Obviously this is an important aspect and could very well leads to a significant loss of revenue. 

Read More

Topics: GDPR, Test Data

Three Things To Consider When Creating Your Agile Test Strategy

Posted by Phil Edwards on 22/03/2018

The Agile manifesto states that you should value working software over comprehensive documentation, but as we all know, this does not mean no documentation. If you’re following an Agile approach for your programme of work or project then we would always recommend considering and documenting your Agile Test Strategy. Here are three things to consider when creating yours.

Read More

Topics: Software Testing, Agile Test Strategy

How To Do A Software Test Plan For Waterfall, Agile and DevOps

Posted by Phil Edwards on 13/03/2018

Within every organisation there are a number of documents that have a hieratical order. When it comes to testing you would expect to find the Test Policy document at the top of the tree; this document is only a couple of pages long but does at executive level spell out the quality needs of the organisation and gives the vision of what is expected of every project. This document is owned by the CIO or IT Director and should be mandated to ensure every programme and project works to the same expected standards every time.

Read More

Topics: Software Testing, Software Test Plan

Test Automation Approach In A DevOps World

Posted by Phil Edwards on 6/03/2018

Ever heard the expression ‘More speed, less haste’? Acting too quickly and without due diligence, focus and attention to detail will result in avoidable mistakes and thus require even more time to complete the task satisfactorily.

Read More

Topics: Software Testing, Test Automation Approach

Performance Testing Entry and Exit Criteria

Posted by Scott Summers on 27/02/2018

What if Entry Criteria for Load and Performance Testing are not met?
A little while ago I wrote a blog called ‘What are the entry criteria for Load Testing?’.

Read More

Topics: Software Testing, Performance Testing Entry and Exit Criteria

Test Automation Benefits - Spring In To Action

Posted by Jane Kelly on 19/02/2018

As we rapidly approach the new spring season with vigour, there's never a better time to revisit areas in our work/home lives and look at applying a fresh approach to make improvements.

The same can be said for software testing and exploring fresh ways of being innovative in the use of processes, tools and methodologies applied. The new financial year can bring new opportunities to invest in improvement initiatives and the fresh new spring season can often give rise to renewed energy, open mindsets, renewed commitment to try and apply new strategies and look to reduce none value-add activities.

Read More

Topics: Software Testing, TEST AUTOMATION BENEFITS

Regression Testing Checklist - Right Every Time

Posted by Phil Edwards on 7/02/2018

Even with the best will in the world, we all forget to do something at some point in time. Whether that be something trivial like putting out the bins to forgetting to pick up the kids after school…. Yep, that has happened…

Read More

Topics: Software Testing, Regression Testing Checklist

nFocus Blog

Welcome to the nFocus software testing blog. As thought leaders and technical innovators, we created this blog to distil our thoughts, ideas and musings on improving software quality.

Fill out the form below to receive future communications from nFocus including our latest:

  • Blog articles
  • White Papers
  • and plenty more!

Follow us

Follow us on LinkedIn to see our latest content!

Recent Posts