Coping with a Chain Reaction – Software Application Layers

A chain reaction is a sequence of reactions where a reactive product or by-product causes additional reactions to take place.

As the dawn sets on another year, it will be three years since COVID hit the world with one massive bang. Lots changed as a result of that first outbreak in Wuhan in December 2019. Apart from life as we know it, did software and the quality of our software change that much? Maybe not, as some companies were already working remotely, and some companies were continually looking at better and faster ways to improve software. It was more that people changed.

One thing though that has come to the forefront since COVID is, “digital transformation.” According to Wikipedia, “Digital transformation is the process of adoption and implementation of digital technology by an organization in order to create new or modify existing products, services, and operations by the means of translating business processes into a digital format.”

So basically, it’s a reset, and what better timing than when in fact the world was basically resetting during COVID. Companies have emerged re-invigorated and confident in their abilities to provide consumers and users of their software with quality.

Info

How are they doing that?

  1. Process Transformation – reviewing existing processes and how they can be improved for example integrating new tools/software.
  2. Business Model Transformation – companies looking at AI/ML, looking at data and analytics on how to better improve offerings.
  3. Domain Transformation – Companies during COVID branched out into online retail for example or branched out into automation of software.
  4. Organizational Digital Transformation – Companies small, medium, and large had to adapt to how to communicate efficiently during COVID times.

Most companies are doing at least three out of the four above. Every company now has testers, developers, and UX professionals collaborating frequently with each other. They are all aligned toward one goal and that’s to make each release even better than the last. However, to achieve this goal, companies are going back to the platform/hub approach where they identify one vendor that can achieve results in multiple layers of an application.

For this article, I asked ChatGPT, “How many layers does a software application have?” Anyone hazard a guess?

If you answered 12, you would be right. 😊

  1. Presentation Layer (UI)
  2. Application Logic Layer
  3. Data Access Layer
  4. Infrastructure Layer
  5. External Services Layer
  6. Integration Layer
  7. Testing Layer
  8. Presentation Layer for APIs
  9. Caching Layer
  10. Load balancing/Scaling Layer
  11. Security Layer
  12. Monitoring and Analytics Layer

That’s a lot of layers; more than is in an onion. My point is if we had individual tools and processes for each of those layers, testers and developers would need resetting every day or they would go crazy.

With a negative impact that can be felt across the board when it comes to software testing with different layers, groups and goals involved, how do we minimize this?

  1. Lots of testing: Have that testing strategy airtight, and cover as much testing as possible.
  2. Automate: Expectation is that everything can be automated, but that’s not the case. Look at areas where you can automate quickly and efficiently.
  3. Documentation: Any changes to code, testing processes, and reporting of bugs  need to have a trail.

Of course, there are more but implementing the above three will help reduce the negative impact on software quality.

Companies are now looking to consolidate not just processes and procedures but also tooling. This makes sense if they want to succeed in what is fast becoming the trend (or already is) for digital transformation. Companies and individuals who I talk to in some way, shape, or form bring digital transformation up daily.

It’s as if on that fateful day in Wuhan in December 2019 that everything from one test in one country shaped how the next three years and beyond would be influenced. That chain reaction is going to continue for years to come. Whether that is for the better remains to be seen.

Change is the law of life and those who look only to the past or present are certain to miss the future.” – John F. Kennedy

EuroSTAR Huddle shares articles from our community. Check out our library of online talks from test experts and come together with the community in-person at the annual EuroSTAR Software Testing Conference. The EuroSTAR Conference has been running since 1993 and is the largest testing event in Europe, welcoming 1000+ software testers and QA professionals every year.

About the Author

Damien

Damien Walsh is Director of Solutions Engineering for International at SmartBear, focusing on ensuring software customers achieve their requirements. He has 20+ years of experience in IT from support to consulting working across EMEA and APAC, continuously finding the next challenge. He loves helping teams and companies grow and ensuring the end user is happy at the end of the day.
Find out more about @damwalsh

Related Content