Categories
Ramblings

What is quality?

This is my favourite question when meeting people for the first time.

For some people it is about the software doing what it is meant to do. It might be robustness & reliability or adherence to specifications. Other people spoke about the value and solving customer problems. Is it useful? Some people referred to the swishness & polish plus the experience of it.

I like to represent these as the three pillars of quality.

I think this is really interesting to share and convey because within software we often overly focus on correctness as a measure of quality.

Let’s consider this with an example other than software… food!

When I am going out for a meal, what I want is to be fed & getting nutritional value. If I come away from a meal out feeling hungry, I really won’t feel like my user needs have been met. It was lacking value. This has happened with a fine dining meal where sure, it was fancy but I got a snack as soon as I got home. The meal wasn’t quality.

However if I go to a fast food place, maybe it will fill me up, but it is hardly the greatest experience as there’s possibly screaming kids, the food is… fine… and . This is why despite being correctly cooked and filling me up, I wouldn’t describe it as quality.

Finally if I eat a meal but it hasn’t been correctly cooked then I am highly unlikely to regard it as quality. For example when a thai meal had way too much 5 spice, it wasn’t quality. When my dirty fries made my body crash (vomit), it wasn’t quality.

However it isn’t essential to achieve high levels in all of these.

I will still enjoy my fast food because it fills my needs and I can have confidence it won’t make me ill. I will sometimes eat food knowing it won’t meet my nutritional needs… but it will be gooooood too eat. However my red line would be correctness. Or at least aspects of it (don’t make me feel ill!).

It is important to know what matters to you and your customers. For the past 14+ years I’ve worked in an industry when we didn’t care about excellence. Our customers wanted value and correctness.

Similarly some customers will be happy with a lack of excellence and correctness because they are so happy that their problems are being solved.

However a word of caution. Building off one core pillar isn’t without risks. Even two pillars isn’t without risks. When a core pillar crumbles or the focus changes for the customer, suddenly your perceived quality will tumble.

You can build up quality with one pillar but this is not without its risks!

So in summary:

  • Quality is more than correctness. Excellence and Value are essential to think about.
  • Think about what matters most to your customers.
  • But don’t forget about the other pillars.

Side note: I originally started using this referring to it as Dan Ashby’s Three Pillars of Quality… but he never mentioned it. I’m now thinking that I took a concept from one of his (many amazing) talks and adjusted it into the pillars. If I stole this from someone, I’m sorry and please let me know!

Categories
Ramblings

Continuous testing or continually testing?

One of the first things I did when joining my previous organisation was pitch testing throughout the SDLC. I wanted to share the importance of testing everything that we do.

However not everyone shares that idea of continuous testing throughout the SDLC. For some continuous testing is continuously running the same tests over and over. If you don’t have them fully automated E2E, repeat them manually over and over.

Skipping over how expensive it is to focus on E2E tests, this really misses the entire point of continuous testing. Instead of continuously trying to discover more about our application and challenging everything that we are doing, all we are doing is repeating that same check… and getting the same answers.

Whilst there can definitely be value in repeating tests when you have fear of a risk of regressions (and automation makes that so much easier), the true value in testing is to be trying new things, new ideas and devising new tests.

This is partly why I think people wedded to writing traditional manual test cases are doomed to struggle with test cases. It is a slow, tedious and usually fruitless endeavour.

Testing is more than checking. We need to be continuously experimenting, learning and discovering behaviours. When looking to regression test, don’t ask “what test cases do we have?” but instead “what are the risks and concerns that I have?” Ask “what information do we need to uncover?”. Then devise tests, ideally exploratory or at least looser than rigid test cases in order to uncover the information that you need and the risks associated with that.

In a future post I intend to give a case study or two on some interesting approaches that I’ve looked at.

I originally meant to post something around this about 2 years ago – better late than never! What I won’t state is whether it was still an issue at time of writing…

Categories
Ramblings

Devs can test

I repeatedly hear the notion that developers can’t test. I’m not sure if this is because we’re protective of our role (testing has been a dying role for decades) or to excuse developers who can’t be bothered to test.

So let me be clear…

Devs can test.

In fact if I had a high risk feature that I needed someone to look at, there’s a few developers that I’d trust more than a tester I didn’t know (and some I do).

I worked as a developer for 5 years. I was alright at it. However, in that time I never forgot how to test. In fact I never stopped testing. Instead of functional test and system testing, I was unit testing and dev testing my code. I was writing documents where I’d identify edge cases and what the behaviour should be… then implementing it. When our tester was on holiday or overworked, we chipped in. The quality didn’t tumble. The world didn’t collapse.

In one of my testing roles, going back over a decade, I was bemoaning that our processes lent towards following test specs when the pass rate was ridiculously high. Instead I’d find the bugs when I wandered away from the defined test cases that I was meant to be executing and started performing what I called destructive testing (ad hoc). I was shocked to learn that the reason why these tests (nearly) always passed was because the devs try and test them first. There were possibly some automated tests in the mix as well.

What I’ve learnt is that when developers, or testers, say that devs can’t test, what they mean is developers would rather focus on writing code. Perhaps they’ve been tainted from only running the boring test specs that drive me mad. Perhaps they won’t invest time in learning about exploratory testing. However, they have to test. They will. They can.

In the coming weeks I’ll share some more detailed case studies on examples of how I’ve seen (& helped) developers perform excellent testing

As quality / testing specialists we should endeavor to include developers in the conversation. We can remain the specialists but with a little bit of support/encouragement, developers can do a solid job of testing. This all helps us build better software and for the dedicated testers, the opportunity to focus on areas where your elevated skillset can add value.

And the next time someone says developers can’t test, ask them if that means quality / testing specialists can’t write code?

Categories
Ramblings

A new era ahead

I’ve recently been made redundant after 14 years of service, the last 2 as a Quality Coach for Avigilon software (although the first 6 months was without a job title).

However I am not disappointed or upset. Quite the opposite. It has given me a new lease if anything. I am excited for what the future may bring. I am fortunate enough to be in a financial position where I can explore new opportunities at my own pace.

Assuming that I do take my time looking for the right new role, I hope to spend some of this time learning, soaking up knowledge and also articulating some of the things that I’ve learnt (both good and bad!) as well as reflecting upon my achievements. Where possible this will be done in the garden, hoping nice weather can add to my current positive attitude!

I look forward to renewing and sharing my passion for quality!

A view of a sunny garden full of colour
I’ll be taking my gardening leave literally!
Categories
Ramblings

2024: Glad That’s Over

It has been a trying year, both personally and professionally. However before I flesh that out, I thought I’d try and articulate everything that has happened for me within the world of testing & quality:

  • I got a new benefit at work: 10% time! This led to me taking time to learn more during working hours.
  • My teams started work on a web browser based product, having been pretty much only working on a thick client talking to devices for years and years.
  • Got to do my first 5Ws & 1H.
  • I created and abandoned a heuristics based app called Test Addict. We used it a couple of times at work.
  • I started a new role as a Quality Coach (which in truth is similar to what I was doing previously, but I cunningly added extra pressure and expectations on myself).
  • We did our first Risk Storming.
  • I attended TestBash UK – this was great!
  • Started creating something cool (but not available yet).
  • Was a guest on my first podcast (but not available yet).
  • Experimented with different ways of doing test strategies, retros & RCAs to get teams engaged.

Big Fat Failure

In my annual review I was quite scathing of myself.

I failed the teams

We started a new project that whilst not greenfield, was full of opportunity. However we’ve struggled with quality with the teams quite damning in their own assessment. Our automated tests are flakey, we don’t have confidence in how we test and the bug count is beyond anything I’ve worked on before (and that is without me doing the testing!). This is without even touching on technical challenges.

Whilst quality is a shared responsibility and there’s plenty mitigating factors (excuses or reasons?), as the Quality Coach you can hardly walk away feeling like you’ve done a good job when it feels like everything is on fire.

Defeated

Throughout the year I’ve tried bringing new ideas and approaches to the teams but I’m not sure how much has really stuck. The second I stopped being the one to run RCAs or write a test strategy, they largely stop. I did get the teams testing for one quality attribute (I won’t name) for the first time, but we were told to side line it. After resisting taking on the state of our lab & kit, I succumbed, did a load of work and 2 months later its a mess again. Our flakey tests are addressed by “oh just run it again”. We did exercises like using heuristics, risk storming and 5Ws & 1H and the feedback was “that was really useful”… but they won’t get repeated. Finally I had a goal around teaching teams exploratory testing and to date I don’t think anyone has written an Explore, With, To Discover charter.

This isn’t me griping. It is a failing on me. I’m meant to be helping the teams have good habits but they aren’t there.

As for why I called this section defeated, well in Q1 & the start of Q2 I was introducing new ideas for planning testing, thinking about testing and testing techniques. Then over the week or so following my late wife’s birthday I got a wave of requests to “back off” and not take up so much of the team’s time on testing/quality stuff. And I did. I gave up.

Broken

As I’d worried a little in last year’s reflection, I’ve been feeling burnt out and haven’t been able to “over achieve” my capacity as I perhaps did in 2023. With the exception of the odd podcast when gardening, I’ve stopped exploring testing & quality in my spare time. I think the fact that I’ve only written two posts during 2024, one about grief and one written one evening during a conference, is quite telling.

Hope

I’ve been pretty bad at acknowledging my successes this year but there have been a few:

  • Teams might not do exploratory testing as Elizabeth Hendrickson describes in “Explore It!” but they are going beyond the ACs and checklists.
  • Teams are engaged when I organise activities like collaborative test strategies, round tables & RCAs (in the past that has felt like a struggle).
    • In fact in Q1 2025 I’m switching teams that I support and the teams expressed disappointment (and concern!) that I wouldn’t be there to lead on quality discussions.
  • Testing is always a topic that we consider throughout the SDLC.
  • I pushed for us to adopt analytics and we did!
  • I’ve gotten better at being a coach as opposed to a teacher.
  • Whilst deprioritized (for now), I did get us looking at new types of testing in our day-to-day.

Generally speaking, I’ve felt like over the past few months I’ve been collaborating with the teams in a positive way. We’re working to solve challenges and started making in roads on the many challenges we’ve faced. When I was previously feeling “unwanted”, I’m now feeling like a valuable resource. Our group of Quality Coaches, spread across the world, are collaborating more too.

I may have felt like everything had fallen to pieces but I’ve been enjoying the collaboration on how we build back.

Perhaps most importantly, I will definitely get myself the counselling I need. I will recover from the neurological effects of spousal grief and hopefully my energy levels too. With that, perhaps we’ll see a Rich resembling something like what existed 740 days ago…

Categories
Experience Reports Ramblings

Sketchnoting Adventures

I’ve been meaning to write this for a while but after a really interesting conversation at TestBash, I decided to finally get something written down!

In June 2023 I attended Testing Atelier X and it included a workshop by Marianne Duijst on sketchnoting. I’ve seen some very attractive looking sketchnotes from many people, including the wonderful Louise Gibbs, however I didn’t get how people could take their notes, make them pretty and informative. I also didn’t entirely get the point. However I quite enjoyed the exercise and have since gone on to use this approach a lot when watching talks in my spare or personal development time.

The value that they bring is that you can provide a structure to your notes that makes them way more readable when you look back at them later. I rarely found my notes from talks to be worth looking back on in the past but since I’ve started sketchnoting, I’ve found myself picking them back up to remind me of the topics and key points. Importantly they are something that I could share whilst my previous scribbles in a notepad would be hidden (I used to intentionally write in such an illegible manner that only I could decipher the text).

I am no where near sharp enough to do them live but I’ve learnt some techniques:

  • For live talks, consider post it notes or just quickly writing things in a jotter. Then revisit them later.
    • Post it notes are great as you can reorganise them!
  • If you’re able to pause, try and avoid stopping too often. Listen, absorb then rewind to take the notes.
  • Avoid too much bloat to make it easy to parse.
  • Focus on the speaker’s words rather than “oh I could go do this”.
  • Don’t fret about being messy.
Several A4 pages are scattered on a table. They all contain notes taken from a talk in a sketchnoting format.

See more examples of people’s sketchnotes on the Ministry of Testing Club

Categories
Ramblings

Success & Grief

I know this isn’t related to testing or quality but I wanted to air it as it does affect my interactions with people and the community.

It has been a year since my wife passed away unexpectedly. Unsurprisingly it was a difficult year and I’ve really struggled. At the same time I’ve had what many might consider a successful year. So how do these conflicting matters combine?

Not great.

My lowest points (since those first few weeks) were coming back from successful conferences and I’ve felt similar after having a really great day with work.

When we succeed, as humans we want to share our achievements and what makes us excited. The natural person would be your closest friend or family member. Both of these were my wife. Consequently when I’ve succeeded, that natural want to share and celebrate has kicked in but I can’t do that with the one person who matters. They are gone. Forever. The high is met by an equal reality crash. It makes me want to run and hide after a good day. From a good day.

This leads to a dilemma. I want to succeed in work and I really enjoy being involved and attending conferences but ultimately they leave me in a darker place. How do I manage this? Other than holding back and not trying to succeed, I really don’t know.

Categories
Experience Reports Ramblings

2023 – A Reflection

It has been some year. I started in a dark place with lots of change underway. However it is, professionally speaking, been a bit of an immense year.

Speaking

Building upon my first time speaking at a testing conference in 2022, I’ve been fairly active. From running a threat modelling workshop for a small set of people at an Edinburgh MoT meetup to tackling a new topic within security at TestBash UK with a range of activities, it has been really positive. I’ve started feeling like I’ve gotten my name out there and importantly, people seem to like what I’m sharing.

Whilst it can be an exciting (yet nerve wracking) experience to speak and of course having positive feedback and comments makes you feel great, I think the biggest buzz is when people take something away. Speaking always seemed way out my comfort zone but my passion for the topics drove me to give it a go. Consequently when it goes well and you think people are learning and will try out things themselves, it makes it all worthwhile.

Awards

Building upon my speaking, I took my Threat Agents game to a cyber security event for my work. We used it in the threat modelling workshop and I spoke a little and got involved in helping people. I even got a special award within my work for contributions to threat modelling!

Somehow, despite only working part time for a chunk of the year, I’ve managed to achieve a few awards from work, given by peers. This obviously means a lot. However I think a lot of it comes down to…

An Interesting Role

This year I’ve taken on a new role. Whilst I originally dubbed it as a “Free Range Tester”, in reality it has been a senior test engineer who doesn’t test. I have tried to both lead and support.

It was a difficult start and a frustrating one. Quite quickly I learnt why we were struggling to ship a release. I was also distracted with extended leave, reduced hours and helping run our intern program (I even wrote some code!).

But the role has gone well.

My crowning achievement has been my work on analysing our quality for the first major release in a long time. We analysed bugs, reflected on our challenges and took actions. I brought all this together into a presentation (not given, just shared).

For example, whilst a large portion of bugs were attributed to internal mistakes when working on stories, several issues we found, raised and fixed were actually legacy behaviour. We made the software better through these bugs. That is good to know.

It has been quite interesting having this roaming role and getting involved with different teams. As we no longer have a scrum master, I’ve helped fill a little of that void. I’ve had the opportunity to learn how different teams are working and help them with their challenges.

I’ve also been there to help teams out when they are stuck on testing. Who would have thought that getting rid of testers would impact a team’s ability to plan their testing?

I’ve also had the opportunity to get myself involved with the wider organisation. Whilst I’m a shy & timid person most of the time, ask me for my opinion and I’ll give it. And even when I wasn’t asked, I sometimes offered it. Having a culture where anyone, either senior leaders or that weird new tester guy across the ocean, can speak up is wonderful and I definitely appreciate it.

Whilst I haven’t succeeded in getting the organisation to test better, I have raised awareness. I have got allies. This won’t happen overnight but I am confident that in time we’ll get there and what is exciting is that I think I’ll be involved and part of this.

It is a real step forward.

A step back

Unfortunately not everything has been coming up amazing.

I fear that I’ve lost my appetite for actually doing testing. Given how much I love the profession (I’ll post about that separately later), whenever I have some free time to do testing, I’ve often found myself not bothering. I’ll admit that I’ve often found myself reaching over to my Xbox controller when I could, and should be testing. I’ve found excuses not to do actual testing myself. Some of that is semi legit (“managing my energy levels”) but also I know that a bit of the hunger is gone.

Part of this is not having the domain knowledge of the past. Moving to a new, large area when outside a team has made on-boarding very hard. I’ve found it massively overwhelming to try and test a feature that I don’t know, which is part of a very complicated solution full of TLAs and systems named after random comic book characters… and my energy levels & brain capacity are both low.

Strongly held opinions that are easily changed

One other thing that I wanted to reflect upon my opinions and ideologies. I’ll write a separate post about it in due course, but I started the year feeling pretty certain about how things should work but have come to be more flexible over time this year. Maybe there is method in the madness?

Perhaps I was wrong to loathe test strategies so much. I wonder if those times when I was doing copy paste reports that no one really read or cared about tainted me too much?

Challenges ahead

Next year scares me a little. I feel like I’ve over achieved this year and despite knowing I’ve not worked and pushed as hard as I could have, there’s nothing left in the tank.

It has been a draining year.

Next year I think rather than trying to excel and push, I want to build stronger foundations. A wonderful new hire within my work means that I don’t need to push. Just be there to support and be involved.

I am hoping that I won’t need to push to get involved, to get the testing mindset involved, as before. I’ll be there by default. My challenge will be, how do I provide that coaching now that I’m present?

To achieve this I will need to learn how better to coach and help the teams develop their testing. Thankfully we now have 10% time at work so that will be my focus. Having a day each sprint that I can dedicate to the coaching side of things – either by getting time with devs to try new things or just researching & learning, it will help a lot.

However most importantly, I do want to test again. I love testing. I want to find that drive in me again to go try and find those hard to find bugs. To remind everyone what it means to be a tester.

Categories
Experience Reports

Running Workshops

A little while ago I was asked about my experience and learnings from running workshops and what advice I have. I thought I’d share my thoughts on here.

As a quick note up front, I am under no illusion that I’m not an expert and am still learning. I did also look into teaching as a career so some of this is influenced by what I picked up from that.

Expect to fail

Timing will be hard and when it comes to activities, people will be slower than you expect. For example when I first ran my threat modelling workshop it included an activity I assumed that an activity would be 2-3 minutes break from slides and brief re-enforcement of knowledge. Fill in this, bish bash bosh, done. I got Hannah, my wife who wasn’t from a software background, to try and it took much longer (5-7 mins). It turned out that the group needed that time and many people didn’t finish in the 5 minutes that I set aside or the 2 mins extra that I let it go on. I’d suggest finding a newbie and definitely make sure you have room to flex.

Exercises that don’t need a fixed end point (e.g. have a debate/discussion, write your reflection or practice writing these tests) can be handy when it comes to giving you that flexibility.

Not everyone will understand what you’ve just taught or appreciate the point. Don’t fret about that. Maybe have a resource that you can point them to, or get them working with someone. One of the key advantages of workshops is that you can support different learning styles so for those who struggled to understand your words, perhaps they will benefit from pairing and more collaborative learning.

Be wary about asking questions early. When I was teaching I learnt it was good to ask the group questions rather than just unloading information. However don’t expect a room full of shy geeks who don’t know each other to speak up before they’ve had a chance to interact with those around them. Nothing more awkward than the silence when no one raises their voice!

Finally some people will be visibly bored/disinterested (or even say something negative when they think you can’t hear). This isn’t a reflection of you, your delivery or the topic. The reality is that sometimes people get bored or dislike things they are doing. It happens. Just ignore that and avoid fixating on them.

If you’re not sure why everyone in the room isn’t amazingly enthusiastic and quick learners in your chosen area and style, put it down to being first thing / post coffee crash / craving lunch / tired after lunch / tired for end of day.

Anecdote

I am easily distracted when watching someone talk. A late comer arriving, someone on my periphery getting a drink out their bag or someone chatting and I might not get as much from a session. When I close my eyes and listen it can be transformational. However it was pointed out to me that a speaker thought I was dozing off, when I was just losing myself in the words!

The other week we had a visitor sharing some learnings and there were a couple of people who I was hoping would bring enthusiasm, only for them to have a pretty blank look on their face. Afterwards they told me how great it was.

My point with these anecdotes – don’t judge people by their faces.

Closing thoughts

Running an effective workshop isn’t something you can quickly bodge together but you don’t need to be a rock star in your field or devote your life to it. If you’re given the opportunity, go for it. Check out your local MoT group, or other meet ups in the area, and offer a bit of your time.

Categories
Ramblings

I’m not an expert

This topic could touch on many areas. I rate myself as an excellent tester, but I’m no expert in the field (I’m not “book smart”). I used to have great domain knowledge, but lately I’ve struggled after moving project and finding myself not understanding a word of what people are talking about (not fun when people look to you for answers).

This post is on security testing. I am not an expert.

I find the field very interesting and also the more I learn, the more I know how important it is. This is why I’ve spoken about security testing at TestBash UK, along with talks, a blog post and created a card game all on threat modelling (something I enjoy, even if I’m not that great at it!).

But I’m not an expert.

I recently attended a work cyber security conference. There we had people who have years, even decades, of experience in various aspects of security. They live and breathe it. Pen testers are doing incredibly clever and technical things to get into systems that I just wouldn’t have a clue on. I am years away from their level and even with the best will in the world, I may never reach that.

But that is fine. I don’t have to be an expert.

What I have wanted to stress to people through my posts, activities and talks is that even if we’re not experts, we can find security issues. Whether this is through threat modelling, asking the right questions in planning or adding some injection test data into our usual set of inputs, if we can find these problems earlier, we can fix them earlier and ultimately build better and more secure software.

The other side of me wanting to reject the expert label is that it makes it seem like the level I’ve reached is somehow further to achieve for the average tester. That isn’t the case. I’ve just been fortunate enough to get a small amount of training, maybe a few hours a month, for a couple of years (and much of that wasn’t relevant to testing).

So I want to end by saying, please don’t view me as an expert. I’ve just dabbled a little more than most folk. Join me on this journey into becoming security newbie – it is great fun!