Practice Inclusive Assurance
To cope with fiercely competitive markets and ever-evolving customer requirements, businesses need to demonstrate renewed levels of business agility and release acceleration. To meet this challenge, most businesses have turned to digital adopting newer, accelerated methodologies such as Agile and DevOps. As a result, social media, mobility, analytics, Big Data, and cloud have made rapid inroads into enterprise IT landscapes. Markets too, are engulfed with new digital products from multiple manufacturers, specifically smart phones and tablets with different operating systems, specifications and capabilities.
While this digital proliferation positively impacts businesses through accelerated releases, real-time customer connects, and brand loyalty, it also introduces new demands on the software testing fraternity. For instance, the diverse device landscape demands rigorous testing across platforms, browsers, and device sizes testing that goes way beyond functional testing, encompassing usability, UI and responsiveness, security and performance – not only in test environments, but also in real-world business contexts.
In the Agile world, with recurrent, constant, and rapid changes being applied to systems, test engineers too, must move away from traditional waterfall testing to drive a paradigm shift in thinking, and start visualizing testing solutions for Agile. In line with DevOps thinking, test engineers must recognize the reality of shortened delivery cycles, and appreciate the need for Dev-Test integration – working with smaller teams, and adapting to frequent regression and continuous integration testing. As software development moves to Agile and DevOps, inclusive and all-encompassing assurance becomes essential. All this requires test engineers to be agile too always ready to accept new challenges, adjust accordingly, and respond well to changing situations.
Let me cite a personal instance to explain. During a recent assignment, the lead business analyst had to leave mid-way, and the testing team was asked to fill the gap and complete the design of the user story. We rose to the occasion, completing the design in the stipulated two-week period, and earning accolades and recognition from stakeholders. This brings me to an important requirement for being an extraordinary test engineer – domain knowledge. In this instance, we were able to complete the design, because we had developed the domain knowledge, facilitated by sound understanding of business workflows and scenarios, and user requirements from the customer perspective. This enabled the test team to effectively convert business requirements into user stories and design documents that were utilized by the development team too.
To write appropriate and effective test cases for Agile projects, in addition to domain knowledge, test engineers must also understand inner intricacies of the technology – specifically, its capabilities and limitations. There is no point in articulating acceptance criteria that a technology platform cannot support. Take white box testing, for instance. To articulate test cases with effective statement, branch, and path coverage, test engineers must understand the underlying technologies and programming language syntax.
Simply put, inclusive testing involving domain knowledge and technology expertise – is important to succeed as a software test engineer. In current times when digital is at the forefront of business, inclusive testing is not only a demand, but also our responsibility because we need to contribute to enterprise digital investments. To make the best of Agile, we too must first imbibe and practice the principles of Agility internally. Only then will we become extraordinary software test engineers.