Co-Author: Vishal Raj: Senior Management Trainee | Sales Transformation Office
The World Quality Report 2018-19 states that “Agile, DevOps, automation and artificial intelligence not only require newer skill sets, but also make it necessary for QA professionals to have multiple technical competencies”. This continuous introduction of new methodologies and technologies necessitates a corresponding change in QA strategy by the SQA (Software Quality Assurance) organizations.
To meet the demands of a new IT world order, global SQA organizations are transforming to adapt to the industry changes, which include:
- Digital Transformation (Mobility, Cloud, Big Data, Data Analytics, Customer Experience, etc.)
- Faster time to Market by attaining shorter testing cycles (STLC Automation, In Sprint Automation, Business Process Automation, TDD / BDD, Continuous Testing, etc.)
- Increasing agile and DevOps practices where dynamic collaboration between multiple teams is the key rather than adhering to predefined static quality gate processes
- Acquiring capabilities on emerging technologies (AI, ML, Blockchain, RPA, AR, VR, IoT and others)
The current testing roles are designed to function in silos where manual testers only focus on black box testing, automation testers are effective only on certain automation tools, and so on.
However, industry evolution and its changing needs have created the need for skills that can support transformation and drive organizations to the highest level of maturity. As a result, the QA resources in the market need to be equipped with multiple skill sets to adapt to the modern approaches of testing. Let’s look at this from a more detailed perspective.
Multi-skilled roles in demand
The race to embrace emerging trends has also necessitated SQA organizations to watch out for skills that could help them align with the changes described above. As a result, SQA organizations have started investing in the development and upgrade of their resource skillsets. This enables the resources to adapt to rapidly shifting roles and makes them relevant to the demands of the new roles. The global IT industry is conversant with the role of full-stack developers, where a developer equips each layer of the application from back-end to front-end and has broader knowledge of all stages of software development. Now, the industrywide trend is to look out for multi-skilled testing roles that have the potential to change the status quo and which can bring resource optimization and efficiencies.
Evolution of QA roles over the years
But before that, let’s understand how the testing roles have evolved over the years. In earlier days, when there were no independent SQA organizations/teams to handle quality requests, developers themselves performed unit testing and high-level testing after completing coding in the SDLC (Software Development Life Cycle) phase. Over time, quality expectations started growing due to the complexity and size of applications that were being developed to sustain the market needs.
To meet the increased expectations on application quality, organizations started focusing on different aspects of testing (functional, non-functional, etc.) and the industry started seeing software testing roles as a separate profession. This need separated the fundamental development activities (like debugging) from verification and validation. Large organizations started transitioning themselves by setting up an independent QA team rather than having few testing resources working alongside development, to ensure that quality goals were met without any bias. Moving to an independent QA setup led SQA organizations to ensure diversity of testing skillsets within the QA team for handling all types of testing requests.
Given industry imperatives, the role of testing in SDLC is more important than ever to reduce time to market while ensuring compliance to quality standards and regulatory guidelines. The role of the SQA organization has transitioned from a “gatekeeper” at the end of SDLC to a “quality driver” across the SDLC, from the moment a change request or user story is conceptualized. However, there is a perception that QA engineers are from a non-technical background and that they primarily engage in Black Box Testing, which doesn’t have a future. The assumption is that they are predominantly reactive, looking for defects once developers promote the code to a QA environment. In the transformed SQA organization, the testers adopt a proactive approach to finding defects throughout the SDLC.
Delivering value for the World of Tomorrow
The new role that has emerged to deal with the accelerating needs of the QA world is Full Stack Quality Engineer (Full Stack QE). Unlike traditional manual testers (who typically focus only on black box testing and have very minimal knowledge of technical and coding skills), the Full Stack QE generates value for the SQA organization by supporting all aspects of quality – Manual Testing, Test Automation using disparate tools, and a combination of next-gen skills like digital assurance, performance engineering, customer experience testing, and so on. Since they specialize in different automation tools and methodologies, a basic knowledge of trending programming languages is a prerequisite for their role. This role is unique to the conventional SQA industry and could easily adapt to fit into the fast-paced and evolving agile industry.
One critical point to be noted is that a Full Stack QE role need not be synonymous with a Software Development Engineer in Test (SDET) role. Today, there is an inclination towards adoption of latest technologies and innovative practices among global technology giants and, therefore, roles like SDET are gaining wider acceptance due to the change in QA practices and ways of working associated with Agile-DevOps, CI/CD, and E2E Automation.
The SDET role was devised for those professionals who can participate in both the development and the testing of the software product. These roles are essentially prevalent where the organizations demand developers to support testing through pair/peer testing. However, the Full Stack QE role has originated for testing professionals who completely own end-to-end testing aspects and also embraces coding knowledge. The Full Stack QE resource possesses a rich mix of testing expertise, technical skills, and domain knowledge from the end user’s perspective. The SDET roles may not be suitable for some of the QA requirements on analytics, security, non-functional testing, IoT, AI, test data, environment management, and other trending quality engineering skills.
Infusing Full Stack QE into the team could help SQA organizations to achieve higher testing maturity and bring in engineering rigor. To achieve this objective, Advanced practices like AI driven, Cognitive Approach, Machine learning and Robotic Process Automation are implemented. These multi-skilled QA resources, such as Full Stack QE, follow a holistic approach to bring a radical change to the current ways of working and push the organizations to attain the status of Intelligent Quality Engineering.
Know what SQAs are doing to achieve Intelligent Quality Engineering.
Now, as it has transpired that there’s a high demand for multi-skilled resources in current SQA organizations, there is also a need to understand how these organizations are internally building this skillset. To build tacit knowledge and internal capability, the SQA organizations have started investing in reskilling their resources through training and skills development programs to help them update their skills. Organizations are now placing more emphasis on upskilling and cross-skilling their testing resources across diverse QA areas to help them become a multi-skilled Full Stack QE.
Erstwhile single competencies that are converging in a Full Stack QE competency
- Environment provisioning for testing
- Test Data Management
- Service Virtualization
- API, Microservices testing
- Testing for DevOps and Continuous Integration
- Test Automation
- TDD (Test Driven Development)/BDD (Behavior Driven Development) testing
- Test Management and Defect Management
- Performance Engineering
- Security Testing
- Usability/Accessibility Testing
SQA enterprises build skill sets and change strategy for a push towards Intelligent Quality Engineering. Learn more.
By developing manifold testing competencies and transforming its resources to become Full Stack QE, SQA organizations ensure that they can create differentiation and keep pace with the rapid paradigm shifts within the global IT industry.