Achieving Software Testing Nirvana in a CI/CD environment with a sprinkling of Agile – Part I

Last year I did a presentation to the wider tech team at Bookatable to help us all gain a common ground and understanding on what are the levels of testing we should be covering when gaining confidence in our software releases to production and how being Agile can help us on this journey. The presentation was so well received that I have decided to turn the content I covered on the day into a 6 part series. So let’s begin!

Why did I feel the need to create this presentation? Well, it was an attempt to explain the process of the good, the bad and the ugly that surrounds trying to implement an effective fully automated CI/CD process when concerned with delivering confidence through software testing and the various levels of testing, with a little bit of Agile thrown in for good measure, because being Agile is about responding to change, having a fully automated successful CI/CD process allows us to effectively respond to the kind of feedback and resultant change that comes about as we deliver new features.

A Little Psychology to Begin

Flow

Flow is the mental state of when someone has the feeling of being fully immersed in the activity that they are acting upon. It is a complete absorption of what one does. Emotions are not just contained, but are positive, energized and aligned with the task at hand. Without software testing in a fully automated CI/CD process, a developer has to think about a lot of things outside of the task at hand when getting a feature from development to production, which will result in disruptions to potential flows, so starting, stopping and picking up a task again can prove difficult at times. Taking away those concerns with a CI/CD process, will allow a developer to focus solely on the task at hand to completion and the potential for flow to be achieved.

Flow

Psychic Ram

Psychic ram is a neuro-cognitive limitation of the brain and the unconscious mind. This limitation becomes evident when we agree to do a task; your brain will consider this a binding contract even if you are not consciously aware of it. This task will eat away at you as it is stored in psychic ram. It will bother you until it is done, every task will be stored until it is done. This build up can lead to stress and burnout. Having a fully automated and tested CI/CD process takes away a lot of the tasks and pain that can build up for a developer, allowing the developer to focus on what they should be doing, developing great quality software. Let the CI/CD process tell you if this is not the case.

 

Thanks for reading and keep building awesome.

Until next time!

Ian B

P.S. You can also find me on Twitter: @ianaldo21

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s