top button

The Changing Paradigm of Application Testing – from testing to assurance

+4 votes

The old order changeth yielding place to the new ..” – this saying is a universal truism in the world of software application development and testing is no exception.

The world of testing is today turning topsy turvy ... the rules of the game are changing and testing professionals need to adapt to this new normal. The testing discipline which was very rule based (entry exit criteria, well documented requirements …) is evolving very fast and undergoing a massive transformation. The reality on the ground that I see fast emerging is one where testers are no longer limited to testing in the testing phase of the SDLC but equally accountable for the quality of applications that go into production.

Based on years of experience in handling testing programs of varying sizes and complexity across industries and geographies, I see a perceptible shift in expectations. No longer can testing professionals take shelter in citing dependencies which are external and not in their control when defects get reported in production. The message in the enterprise is loud and clear – testers need to answer for application failures; it’s perhaps only the degree of ownership which can be debated. Also the “structured” testing approach while still required now needs to be flexible enough to cater to a workplace that is growing increasing chaotic or creatively chaotic as some would like us to accept.

In this post, I draw on experience in handling testing in an environment which does not support what a testing professional normally deems as necessary factors for working and succeeding.  How does one suddenly cope with a work environment where the rules of testing are breached more than followed; for testing to be successful and for testers to survive a new paradigm is required which is based on a  #Assurance  mindset and not just a testing mindset.

I will this article focus on the softer skills that need to be imbibed by testing professionals in this new age and time. Later will get into other aspects.

Testers today should inculcate a very high sense of ownership for quality – character traits  that aid are “extreme” pro activeness – finding ways of getting to know the requirements even when you are not formally invited for requirements elicitation workshops , “extreme” flexibility of adapting to changing priorities and crunched timelines ; “extreme” doggedness in tracing defects to closure and an “extreme” sense of end user centricity which means the ability to see beyond the written  specifications (if it does exist at all) to use experience and usability of the application. In other words it is the age of "extremes” in which testing needs to happen. 

While the above might appear as a compromise to the testing purists, let me clarify that  that I am an ardent supporter of structured and disciplined ways to test but realistic enough to understand the need to adapt testers  and testing approaches to an increasingly agile (some feel it borders on being unstructured in reality) and fast paced  world of software application development.

Signing off for now … would love to hear our comments & your experiences of assuring  quality of large scale enterprise applications  in a world where application development & project lifecycle do  not to follow the rule book  in most cases.


posted Nov 7, 2018 by Javed K

  Promote This Article
Facebook Share Button Twitter Share Button Google+ Share Button LinkedIn Share Button Multiple Social Share Button
I really understand your point of view, and, adopting the practice you are  pitching will lead to the development of well structured app, because in case there is a glitch in in app so tested not only the Developer but the Tester also bear the brunt as well.

Related Articles
+1 vote

If it has not crossed your desk or Inbox yet, you can catch up on tiny details at the next lunch break with your Project Managers or CTO; but for now, just glance at the World Quality Report 2018-19 that surveyed 1700 CIOs and other senior technology professionals (10 sectors and 32 countries)

The report unravels how ‘user satisfaction’ is coming on the top of the stack of most Quality Assurance (QA) and testing strategies. The advent of customer-centered innovation, digital transformations, agile approaches, DevOps, Internet of Things (IoT), Cloud, etc. is fuelling this change. But above everything else, what stands out is a list of recommendations that make you reconsider the very role of QA.

The report urges professionals and managers to:
– Amplify the level of smart test automation
– Transform QA and test function to support agile development and DevOps teams
– Invest in smart QA and Test platforms, and
– Define a test platform strategy and QA strategy on an enterprise level

But these are no surprises. When the report noted that 99 percent of respondents are using DevOps in at least one of their projects and that automation is emerging as the biggest bottleneck that is holding back QA and testing today – is it not just iterating what you see in your office and scrum-huddles every now and then?

The Big Burst – Choices, Challenges, and Complexities

We are in a time where devices are proliferating at a never-before speed, where 97 percent of respondents (in the report) show some kind of IoT presence in their products and where Cloud, DevOps, and Agile have ceased to be mere powerpoint enhancers. They are now stark realities that software and application teams encounter and leverage every day. No wonder, there is a pressing need to bring Software Development/Design Engineer in Test (SDETs) into the team; and to inject skills in security, nonfunctional testing, test environments, and data management among testers. The challenges and context of this modern software/application world have created a seismic shake. It is a post-Uber planet where only the best will survive. And relying on QA alone is not going to make the cut here.

Why QA needs an intervention?

Quality Assurance (QA) only entails activities for ensuring quality, spotting flaws early enough, code review, analysis, and refactoring. But the users need a stronger and broader variant of this approach. One that goes beyond testing cycles, one that percolates into the culture and the very way developers and designers think about software. Yes, get set for the arrival of Quality Engineering (QE).

Quality Engineering transcends quality control, quality assurance, and testing. It is proactive, strategic, forward-looking, intuitive and is way bigger in scope than QA. It is not limited to processes and procedures. It expands into the realm of the way these processes come up – right at the nucleus of ideation and user-empathy. It straddles across all areas of QA and testing and lifts quality to an altogether new level.

You will notice that QA is inclined towards some earlier stages of the software development, and had a postcode-writing role wherein QA teams checked what developers had written. But QE is not the fag end of a software cycle. It is a radical way that starts way ahead of where the code begins. It permeates the entire development flow. QE helps organizations and developer-tester teams to come together against the onslaught of the diversity as well as the exponential rise of too many devices, platforms, applications, and content needs.

QA alone would not suffice to match the speed, persistence, and thoroughness that the Agile development and Shift-Left world demands today. Quality Engineering ensures that quality is embraced early on and is enhanced at every step and desk – and not just at the exit door doormat of software code. It undertakes end-to-end and architectural approaches for comprehensive software quality.

But – How to evolve from QA to QE?

Organizations have to embrace this new culture and mindset to embark on this massive shift.

This is where a continuous integration model between developers and testers would come into play. Testing becomes consistent, embedded into code design and gets easy to integrate into the entire chain. Development becomes iterative, collaborative and adaptive. It also entails localization of problems and fixing of individual parts so that all red flags are addressed before the whole software adds up. Organizations will have to usher in a new way of looking at and designing the software development lifecycle. This has to be fortified with sustainable automation frameworks and methodologies, as well as Continuous Integration endeavors. Resources and bandwidth would have to be furnished so that a test infrastructure can flourish and integrate without any scalability or latency hiccups. Test environments and production environments would also need to be conjoined in a way that quality becomes a precursor rather than an afterthought. Automation of tests might be called for. QA folks might be asked to think and code like a user.

This is where the culture and habit parts would face a makeover. Helping and empowering others – beyond organizational silos, dependencies and software hierarchies – will be the new norm for Quality Engineering to get into action. Even the delivery aspects would change- get set for a scenario of multiple releases and entire-system-checks. QE teams are involved and impactful in software design at a new degree and depth; so that core functionality tests can be planned for with a proactive edge.

In short, the move to QE reflects but is not limited to, the switch-over from the waterfall era to the Shift-Left era of software. With QE in place, quality travels right up to the north-most point of any software.QE is about thinking of quality all the time, at every level and by everyone around.

QE – More than a Vowel Change

Businesses in the current era of impatient customers cannot afford to have even a small disruption in their business-uptime. That gives a different gravity to quality. That is where QE shines. And a QE professional is much more than a coder or a tester.

Project managers and CEOs are gearing up to tap this new face and fuel of quality. It’s time for a new regimen – one that does more than simply measure.