Tutorial F

Roll the Marbles! Learn How Good Architecture Helps us to Test Better

Alexandru Cusmaru

Ard Kramer

09:00-12:30 CEST Tuesday 13th June

Improving quality is much more than simply exploring the software, as we testers sometimes do. It is also about having a solid architecture so that we can avoid product risks, rather than merely mitigate them. But how aware are we of the impact of architecture?

When thinking about testing and architecture, we should consider:

  • the limitations and opportunities of different software and hardware architectures
  • how software and hardware components are connected into systems
  • how architecture is set up and created
  • the consequences of architectural decisions and changes

 

Unfortunately, opportunities to improve our architectural decision-making are rare, as such decisions are often a one-off event at the start of an endeavour, with limited opportunities to either review the consequences of our decisions or explore how different architectural selections may have resulted in different outcomes which impact quality.

Is there a way we can learn by experimenting with architecture, to experience its effects and value? Can we discover whether our architectural decisions are sound? Or whether our architecture helps testability? Or how does architecture work in the process of Agile software development?

In our tutorial, we have developed a great metaphor for architecture, using a toy for (big) children! With this toy, we ask you to design and build a marble run track, whilst applying the SCRUM way of working. You have to plan, think, talk, cooperate, build and test in order to get it done. You might also want to think a few sprints ahead in order to anticipate future problems or risks.

In addition to the fun factor of working within a team, by the end of the tutorial you will discover how important good architecture is for:

  • resilience
  • adaptability
  • performance
  • testability
  • stability

 

You will also explore and discuss how:

  • limited resources and changes impact architecture and test-related decisions.
  • you can deal with the restrictions that architecture causes
  • you should communicate and cooperate with a solution architect and product owner, to improve the quality of our system and the quality of testing.

 

Join our half day tutorial to experiment with architecture, understand what the consequences are for testing and quality in your team, and last but not least, have fun together playing with marbles!