05 Apr World Quality Report: 2017-18
There’s no doubt that everyone wants and expects quality in our IT systems and services. Currently there is no longer an acceptance that testing and quality take time. Today it’s all down to the three A’s:
- AUTOMATE – Gone are the days that manual testing is king. It used to be that you only automated the boring, repetitive tests (regression) and everything else was manually tested. The mindset that you only build automated tests once your test base was stable and consistent leads to doubling the amount of testing and costs and halving the value of the output and productivity. Today, if you don’t automate, you’re dead in the water. The only area where automation is playing catch up is in the realm of the End User Experience. That is still where tools can’t yet provide the same coverage as human intervention.
- AGILE – Agile & DevOps are the way of the future, not only for testing but the whole of the SDLC. It’s noticeable across New Zealand that, where an Agile way of working was originally only seen in small start-up organisations (where a handful of people got together), they wore several different hats and produced applications in half the time that larger organisations took. Today everyone – even large government departments – are embracing an AGILE way of working: fewer managers and more doers. Roles, such as Test Manager, Project Manager and so forth are on their way out, being replaced by SCRUM Masters and AGILE Coaches. Whilst we still don’t see a true Agile implementation within Government organisations, such as Continuous Integration followed by Continuous Deployment, it won’t be long before even these organisations relax the restrictions around deployment governance.
- ACCELERATE – The adage, “the best things are worth waiting for” or “quality takes time” are no longer acceptable in today’s world. “Do things quicker” is today’s expectation, prioritisation and anticipation are now the keys focus of teams within software development. So, there is a much greater focus on getting testing and testers involved early on within a project life cycle. If testing is not there at the start of a project, then we are constantly playing catch up and are immediately on the defensive back foot.
Test Environments and Test Data
However, if we are AGILE, AUTOMATED and ACCELERATED with our approach to testing and project delivery, the main stumbling blocks are still: Environments and Test Data (Realistic, Effective and Reusable).
On the whole, environments, and in particular test environments, still remain as a physical entity: there is still ONE Development Environment used by the developers for all their project work. With ONE system test environment, you may be lucky and have a non-functional testing environment for performance testing and so forth, but that usually also doubles as your pre-production environment (production + 1) and finally your production environment.
Now is the time for environments up to pre-production to be virtualised. Developers and Testers need to be masters of their own domains, with the ability to stand-up environments within 20 to 30 minutes. If there’s an issue, they “trash the existing environment” and re-virtualise it.
Test Data needs to be synthetic, and specific. Production data, whilst large and accurate from a business perspective, is not re-usable and reliable, especially when you are testing new functionality that the production data has not been exposed to. It is stated that between 50–80% of the time allocated to testing (whether agile or waterfall) is taken up with finding suitable test data, in a two-week sprint that leaves 3-5 days for actual test execution!
Future investment in testing
Investment currently in testing is down across the board, why is this? Possibly because in recent years companies have invested heavily on automation tools and contractors and have not seen any return on that investment.
Investment will pick up again in testing but this time it needs to be targeted investment, however it may be that investment in testing in isolation is a thing of the past and investment is more focused on the Agile Team (Developer, Architects, BAs, as well as Testers). Therefore, embrace open-sourced tools, which are usually cost-effective and have a huge online support structure. Most importantly, technical automation testers and developers love them because of their flexibility.
Invest in the virtualisation of your environments, break away from the control of the operations team and let them focus on maintaining the company’s operation and production environments.
Test Data is the lifeblood of accelerated agile testing, the ability to generated consistent and accurate test data repeatedly across a multitude of environments within an hour, means that the quality and value of your testing will increase exponentially.
The future for testing is an exciting one. More organisations realise the need for quality and consistency in their applications: the awareness of their brand and their direct connection to the end user(s) has increased.
However, organisations are also expecting more flexibility, adaptability and agility in the creation and distribution of new applications and functionality to the market.
Testers and Test Professionals need to adapt, embrace automation testing where it adds value. They need to be business aware and understand the business goals of their customers and structure their approach to testing to deliver the best quality, but without endangering their customers market share.
Testing and Quality are no longer considered separate from the development team, they are an integral component of a successful agile application delivery team.
Take a look at the latest World Quality Report.