Test early. Test often.
Added Monday 22 April 2019 by DeeperThanBlue
When is the right time to test software? It’s a question that should be asked by anyone involved in software development or indeed by anyone commissioning new software for their business.
Rather than regarding testing as something to be scheduled for later in the project plan, Phil Facey, Director at DeeperThanBlue Unify, puts a strong case for regarding testing as a thread that runs throughout the software delivery pipeline.
Putting requirements under the microscope
Traditionally, software testing is done towards the end of the development process and will often include testing by users. But the downside of this is that bugs will have had time to become embedded deep down in the software.
Unearthing issues at this point and putting them right can be expensive and difficult, with a knock-on impact on project budgets, resourcing and timelines. If the software is for public consumption, customer dissatisfaction in encountering multiple bugs will damage the brand.
That’s why our mantra at DeeperThanBlue Unify is: Test early. Test often. It’s an approach that all software delivery implementations should be using, and more development teams should be adopting it.
This means we believe in testing before a single line of code is written, when requirements for the software are being defined.
It starts by having an experienced tester with an analytical mindset and capable of great attention to detail sanity-check the requirements definition. They will interrogate your business processes, question the way you do things, identify opportunities for streamlining and shine the spotlight on issues that could cause a problem further down the line.
Nip problems in the bud
This static testing helps to build a strong foundation for a successful development. But it’s only the first step.
In our experience, testing throughout the development process makes it easier and cheaper to resolve issues, rather than trying to unpick a heavy code base. Project teams quickly become aware of emerging risks, can make informed decisions and adapt what they’re doing in the light of these decisions.
We like to think of our approach as ‘wellbeing for software’. We compare it to someone taking preventative action to safeguard their physical health. Problems spotted and reported early are easier to rectify.
Everyone is on the same page, avoiding surprises further down the line. As a result, business owners and others who commission software can have greater confidence that it will be fit for purpose, and that their new website, eCommerce solution or other software-based initiative will wow their customers and users – and be on time and to budget into the bargain.
Quicker, cheaper, better software development is an attractive proposition! Engaging in testing throughout the software development pipeline certainly helps achieve this.
The right tools for the job
We use a test maturity matrix to provide an objective view of the quality of the test process throughout the software delivery pipeline. This can be used to highlight quick wins and strategy changes to improve the test process where required – such as introducing or improving automated testing where appropriate.
We can recommend the right test tools to use. This could involve getting previously purchased products down off the shelf and putting them into action, or improving how they are used to optimise quality.
As a seasoned implementer of IBM technologies, we offer IBM tools that support organisations wanting to make testing an integral part of the entire software delivery pipeline. These include:
- At the requirements definition stage: IBM Rational DOORS has been shown to accelerate time to market up to 20% by helping to visualise and prioritise needs.
- In planning and managing test efforts: IBM Rational Team Concert aids collaboration and lifecycle management, helping to manage dependencies across development projects.
- During development: among its extensive capabilities, IBM UrbanCode automates testing.
- To maintain and manage test cases: IBM Rational Quality Manager helps in creating test packs to the scope of the release.
- To optimise performance: IBM Rational Performance Tester identifies both the presence and cause of system performance bottlenecks.
If you'd like to start the conversation on making testing an integral part of your software development projects, call the DeeperThanBlue Unify team on 0114 399 2820.
Alternatively, visit https://www.deeperthanblue.co.uk/what-we-do/continuous-development-testing/ for more information on our approach to testing.