As testers, we are on the frontline of new technology adoption. But it isn’t just technology that is evolving and advancing – so too are concepts, processes and techniques. As is the case with new technologies, project team members must understand and embrace new concepts to ensure their skills can be effectively applied in any potential project.
Three key concepts that are quickly becoming mainstream are Agile Development, DevOps and Continuous Integration and Delivery – each of which we are now encountering on a regular basis in our work with Clients.
Agile Development is a methodology which strives to bring the values of the Agile Manifesto to organisational and project working practices, maximising team collaboration, accelerating realisation of value and improving quality of development.
DevOps (an amalgamation of Development and Operations) is a movement which strives to remove the silos of separate creation and maintenance functions, improving quality and efficiency of projects.
Continuous Integration and Delivery is a framework that adopts many of the principles of Agile and DevOps, utilising tools and automation for many processes to increase speed of development.
With the popularisation of these movements among many others, practices are evolving, significantly changing the role of the testing professional.
Testers are increasingly expected to take on hybrid (or cross-functional) roles, communicating and working alongside Business Analysts and Developers.
- Within Agile models, testers commonly work with Business Analysts in order to advise on the creation of good quality requirements/user stories, while also working alongside Developers in performing/advising on code reviews, component testing strategies and test techniques.
- There is a marked reduction in siloing between technical and functional testing as automation skills becoming a key requirement when following Agile methods.
- Previous barriers and KPI’s that testers have normally been measured against will no longer apply as their sphere of influence and responsibilities expand, often working towards team targets rather than individual targets.
As soft skills increase in value, particularly in proportion with the use of Agile, testers need to be able to collaborate and be a ‘team player’.
- Testers need to become an integral part of the team from the beginning of the project. They should be involved in all the planning meetings and have the confidence to argue their case for what testing should be undertaken, particularly during estimation where the whole team needs to commit to the team estimate.
- If testers have questions about what they are testing they need to be able to articulate this in a way that can be understood by the business and/or developers, choosing the right vocabulary in each circumstance.
- In Agile, the whole team is responsible for quality. As such, testers must be conscious that they are no longer the sole arbiter of quality, rather coaching and mentoring the team to build quality in.
Testers are required to have more technical skills as the focus of manual testing is shifting towards exploratory testing and away from completed functionality.
- Testers now have to understand code, sitting alongside Developers and getting involved in BDD (Behavioural Driven Development) and TDD (Test Driven Development).
- Testing has to be more innovative, able to cope with Continuous Integration and Continuous Delivery.
- Testing has been working in increasingly complex integrated environments, as more companies embrace Service-Orientated Architecture. Mobile Technology and the digital age are now demanding innovation, pushing testing into a different sphere. However it’s the ability to combine this technical mind-set with the understanding of the bigger picture (business process and industry) that is truly useful.
Testers are using more tools than ever.
- Automation tools are key in Continuous Delivery projects, being leveraged heavily from early in the software lifecycle.
- Tools are being increasingly used to assist testers with developer and business analysis focused activities.
- Project delivery is becoming reliant on test management tools, automation tools, data generation tools and performance management tools.
- Even Agile, which places individuals and interactions over tools and process, does not exclude tools, instead focusing on their utilisation for very defined objectives.
Testers’ training needs are increasing and changing as demand for specific skillsets increases, outstripping local supply.
- With many projects adopting Agile practices, testers are needing to adapt to this new paradigm and learn new practices – a process that is being supported by Agile training. In the Planit Auckland Branch, the ISTQB Foundation Certificate is no longer the minimum acceptable training level for our staff, as we look to train our entire team in Certified Agile Essentials with additional Scrum Master training on the agenda for our senior team members.
- As more tools are being adopted, there is a natural upswing in the need for training in these tools. At Planit, we are addressing this through planned systematic training of our staff in market leading automation tools including Tricentis Tosca and Silk Mobile Tool.
- There is an increasing demand for testers to have an understanding of basic coding/programming, with SQL and XML training becoming more common for use with Automation and Data Generation tools.
It’s certainly an exciting time for the testing community, as roles are rapidly evolving to meet increasing skill requirements and cover a broader scope of responsibilities. On one hand, this puts pressure on the individual tester where they must adapt or be left behind. On the other hand, the growing requirements and responsibilities place upon testing professionals seem to be positively impacting organisational perception of software testing, which recorded a significant boost over the past few years (Planit Testing Index). Proactive testers, it’s your time to shine!