Looking At Software Architecture

When you analyze a software for testing, how many of you ask for the Software architecture from the developers? How do you build your model of what to test, the components, the interactions between the components, the data stores, etc.?

Especially with CI/CD, it could be difficult to get the architecture upfront, as the design/code changes on the fly based on customer requirements. How do you handle this?

What tools do you use to visualize software architecture?

6 Likes

It’s been pretty helpful for me to analyze the architecture design in order to create a best test strategy for my context. Generally, I try to ask the architect or the developers a architecture design models where I can evaluate the different components included in the application and how they interact. Based on that, I can start to think in the kinds of tests that would be necessary.
When this architecture evolve or changes, I also reevaluate my test strategy. I believe that it is a continuous process.

4 Likes

Always is needed…How would I know how to test the product if I don´t know anything about the product architecture?

1 Like

Of course. How do you do it? What kind of model do you use to build your map/architecture?

1 Like

In a “past life” many moons ago when I worked for Citrix. We used a test modeling process developed in house called “Graphical Test Planning” aka “Design Driven Development”.

We built Structured Relationship Diagrams (not FLOW) that broke down the product in terms of expected behaviour. From “Big rocks” down to “single observable behaviours”.

You can read more about it here:

Although I appologise, some of the links on the site appear broken now. It’s been a while since it’s been updated.

But the main energy was that we took all the available inputs (Requirements Docs, Notes, Conversations with Developers, Observations of the System) and went through a cyclical process (Capture, Review, Update) to build models of the expected behaviour.

This had loads of advantages, but did take a fair amount of training and skill to do, and investment in time to build and maintain.

2 Likes

In the past I have used classic system architecture diagrams of various frameworks. but recently I have come to use Wardley maps to understand both the system architecture and trends in the same. An IT solution is always moving somewhere and a Wardley map helps me understand what is moving and why. As you hint Venkat, there’s more to the system under test than the software package :slight_smile:

2 Likes

Thanks for sharing, Jesper. Will take a look at Wardley maps.

2 Likes

Agree that it takes a lot of time and energy to build and maintain. Will take a look.

1 Like