As software development shifts from the traditional waterfall methodology to rapid and collaborative models such as Agile, software testers too, must build and acquire additional competencies. Testing roles now extend far beyond mere test case creation and execution, to assuring the complete software development value chain. This extended responsibility requires sophisticated programming and development skills. In addition to providing valuable insights into SDLC processes, testers are also developing complex test scripts for test automation, and are involved in the selection and implementation of test automation suites. The tester must ensure that quality is weaved into a product, right from the initiation phase, by working closely with product owners and development teams. It is very evident that in the next-generation Agile paradigm, the demarcation between development and testing is blurring.
Waterfall and Agile models have a fundamental difference: in Agile, the product lifecycle is not compartmentalized into sequential watertight phases anymore, but follows a holistic, incremental model. Thus, in the Agile world, testing is not simply a ‘phase’ with the objective of logging defects.
To drive and live up to its USP of continuous integration, continuous delivery, and accelerated turnaround, the Agile model focuses on balanced automation – a combination, or the right mix of tools, techniques and technologies.
As a result, automated test scripts have become an integral part of testing strategies. Developing automated test scripts requires sophisticated programming knowledge a competency that testers must develop, to play strategic and important roles in the product development lifecycle. In the words of Lisa Crispin, Agile testing coach, expert and author, “In the Agile world, now the focus is on competency, not roles.” Today, testers must not just test, but also develop, package, migrate, implement, and support.
With ever changing market demands and the need for faster time to market, almost every industry is looking to apply the Agile approach and methodologies, and establish continuous integration and continuous delivery.
So, what does the future hold for software testers? Modern development teams require tech-savvy testers. Not to supplement the programming needs of the development cycle, or just to create automated test scripts, but because the entire outlook towards the role of testing is changing. Testers have the added responsibility of acting as the product guardian, establishing the quality and efficiency of the product, through continuous guidance and feedback from the end user’s perspective.
Testers are the constant liaison between business needs and technical implementation, thus ensuring the alignment of product functionality and features with business vision. For instance, to ensure everyone has a broad horizon and can see the big picture, testers can nurture a testing mindset in customer service and product development teams.
The much-needed attitudinal change for a testing career
How then, should the software development teams of tomorrow be structured? First, product owners must foster a collaborative environment between development and testing teams often cutting down the feedback loop by co-locating them, if required. I discussed this in my earlier blog on ensuring success with Agile.
Testing is a team responsibility, and this needs the creation of enterprise-wide testing capability, which results in long term business value. Agile puts collaboration – people and interactions, above processes and tools. Therefore, testers must continuously communicate, coordinate, and collaborate. Communication is an important skill for testers to develop. In fact, it's a core competency for new age testing.
Finally, new age testers must constantly pursue their passion for quality, and take ownership and responsibility of product safety and quality. The evolution of the new-age tester begins with a change in the attitude towards testing – shifting from a reactive verifier to a proactive guardian, who not only certifies functionality, but also creates enterprise-wide assurance capability. You can also read this post on the urgent need for quality assurance and testing professionals to apply big picture thinking to Assurance.