Good Tests vs Bad Tests and why you shouldn’t repeat them

For my second Racket I ranted a bit on this concept of Good vs Bad Tests and whether a good test (case) is a repeatable one.

Here’s the imperfect transcript:

Hi everyone, Chris Kenst here.

So my topic today is I want to talk about the difference between a good test and a bad test.

There’re two reasons that I bring this up today:

  • One I saw yet another article talking about how to create effective test cases and then going on to say they should be repeatable, which is of course, wrong your test should not be repeatable.
  • Two I have been asking this question as I hire for my third software tester here at Promenade group.

I am hiring somebody that’s going to be a senior tester. And I think one thing that a senior-level person should be able to do is differentiate between what makes a good test good and a bad test bad.

But so far in the, I want to say 15 or so, maybe 20 at this point candidates that I have asked this over email, very few have been actually able to describe what makes a good test and what makes a bad test. Most candidates seem to fall into this trap of what I saw in this article which is just bad advice where every test is a scenario regardless of what it is that you’re doing.

And this strikes me as very odd because it’s deeply violates this understanding of providing value.

So if you were to hire somebody to do a job and regardless of how the job changed over time, they were to do it the exact same regardless of changing circumstances, you would think that’s a bad candidate. Somebody wouldn’t want to hire.

It’s the same thing with test design. A good test versus a bad test is about value and it’s about focusing on what that test is going to do: its Mission. And so you can’t have the same approach to every kind of test because that means you’re not providing value. You’re not actually aiming to achieve your mission with the testing.

So if you see advice, or you read advice about good test versus bad test and it’s like you should make sure that all your tests are repeatable that’s just not the case.

For example, with boundary analysis and equivalence class partitioning, you don’t want repeatable test because they’re not built to be repeatable. Sure you could repeat them but now that test is no longer very useful and it’s probably not worth running again.

So it’s really challenging.

I will probably write an article about this too but if you’re ever thinking about how to write good test versus bad test, think about the value and think about the mission of the test itself. Then, try and think of all the different types of attributes that might make something valuable now, and something less valuable.

And then focus, on those things that deliver value, whether their power, whether the repeatability, whether they’re easier for coverage, for understanding that, because the better that we get as a community and better, we become better at testing will see that there are lots of different ways we can run tests.

And the more we understand that the more skilled and knowledgeable about our craft would become and this other kind of cool thing is that you can really set yourself apart from other people who may be interviewing.

If you can easily tell someone what a good test isn’t a bad test. If you are looking at someone’s test and going these are all scenario test you built the same thing just over and over again. How come you’re not varying anything?

All of a sudden you are in a much better position, out of all the other candidates because you can easily differentiate your work from their work and you can tie it to value.

So, that’s my rant today about good test versus bad test.

Have a great day, everyone.

Testing Community of Practice (CoP) Experience Report #1

I published an audio experience report on Racket.com about running my first Testing Community of Practice (CoP) at work. tl;dr it was a really good exercise that I intend to run regularly.

Here’s an imperfect transcript:

Hello everyone, Chris Kenst here, I wanted to talk about running my first community of practice.

So for a little context, I work for a company called Promenade group.

We have 4 verticals or businesses basically that we support. And so as a QA engineering manager, I have testers across two of those verticals.

So I have a tester across our vertical called BloomNation which helps florists sell flowers online, individual small businesses sell online.

And then we have a business of vertical called Swigg where I also have a tester.

So we have built out this team. Only two people hiring my third And so, as a part of a growing team, what I wanted to do was bring my testers together and just talk about the things that we’re doing. Because as we scale up, as we add a third tester in, perhaps a fourth one, each person kind of works in their own isolated business, tackling the challenges for that particular business.

And, so I really wanted to get this kind of cross collaboration system going.

So I thought a community of practice would be the right thing for it.

And frankly after I set up a calendar time, last Friday, I told my people about it, two weeks in advance, I asked to present something.

So they would present something and I would present something. I set an agenda for it and kind of got their feedback and nobody really knew what to think about it because they have never really done one. I have never really done one.

So we kind of all agreed to it and then on Friday we had it, I set up two hours on the calendar, and we use that whole two hours for just three people.

And so this is kind of how it went:

  • The first thing we did was I had each of my testers present, what they were working on.
  • So what have they worked on recently?
  • What challenges have, they had what things have gone well and what things happened?

And even only having two testers that I, of course, have one-on-ones with what happened, is having them discuss the things that they work about and the specific problems unique to the businesses that they support, it was actually really eye-opening even for me,

One of my testers works on our BloomNation business and that’s a pretty stable mature business. So she works on all these different things, spanning all these different features that don’t exist on our Swigg vertical. And so part of her discussion about what she’s working on is actually, educating the other tester about, hey, these are the unique things that we do over here.

And it’s like, no we don’t and then it was the vice versa.

It was the tester I have on our Swig vertical showing going like, oh listen, you know, we’re changing our checkout flow, we’re cleaning this up.

We’re integrating with this new partner that can help us do deliveries and so just having the two distinct teams talk about what they worked on it actually highlighted a whole lot of things that I have taken for granted because I have worked on Both platforms and so just kind of allowed a bit more common sharing.

It was also really impressive to see them, put together like a little presentation. Some with slides, some not with sides but it was really on point. Everyone was able to kind of talk to the things that like went.

Well, it was a little bit harder to kind of dig up dig deep and understand things that didn’t work well.

But I like the idea of at least getting I am thinking about hey what isn’t working well, because, you know, are these things that we need to fix within the verticals self, or are there, are there lessons that we can pick up and address just ourselves.

So like one of the things that we can do ourselves that kind of came out of this was, you know, we just need more documentation around some of the things that we test that are across both platforms. So that make sense. like we can create some, some Asks, and write a bunch of documentation, like, that’s something I can do.

And, so I think my feedback might my thoughts after going through it was clearly, it has value to do to have a small community of practice.

It would probably only run it every few weeks. Sorry every few months. Once a month would be too frequent. So probably every other month is good, there are clearly lessons and ideas to be shared.

One of my testers, I noticed is doing much deeper work because they’re focused on say an EPIC at a time, or my other testers doing much more broad things. So, they’re very different in terms of, you know, even within the same company on different teams, just very different kinds of work.

You know, one of my testers is more likely to look into New Relic logs for the things that she’s doing. And my other testers more likely to look into the third party logs. Because that makes sense, it’s just all kinds of very interesting things that I pull.

I came away with the other thing I noticed is that, of course I like to use zoom because it has better pictures better? It’s just better visual like you can see people better but it just doesn’t work when you only have 43 minutes and you have a two-hour meeting. So that was a take away from me.

Yeah, and so overall I think things worked really well. I hope to be able to run this again.

Do something similar where we talk about the things that worked well and the things that don’t and I think just as we grow community of practice and getting each other talking to one another, about the things that were working on and struggling with I think well, We will definitely have more benefits.

So, I will update you when I do my second one. Thank you.

Better Tester Training Materials

Photo by Clark Tibbs on Unsplash

Last month the Association for Software Testing (AST) announced a new partnership with Altom, the owner of BBST®, that enables the AST to refresh our curriculum lineup with the new BBST® Community Track and help fund the future growth of the materials. This partnership and refresh are a huge milestone for the AST. 

For some perspective: Cem Kaner developed the BBST courses over a long period of time, starting with Hung Nguyen in the 90s. In the 2000s after Cem Kaner was recruited to Florida Institute of Technology he and Becky Fielder received grants from the National Science Foundation to adapt them into online courses. Some time later Cem began collaborating with the AST to teach and develop the courses further. Those courses became known as AST-BBST to differentiate the way they developed and were taught (by passionate volunteers). Eventually Cem formed his own company, developed BBST® further and sold it to Altom after he retired. 

BBST® classes are well known for their depth of core testing knowledge and focus on improving through peer review work. That’s great for students but frankly it’s a maintenance challenge. Long before I started with the AST the problem has been, how do we properly maintain and evolve the materials and classes?

(more…)

Not good enough

An Easy Place to Hide

A month ago someone on LinkedIn thanked a website and the person running it for helping them learn. They recommended others use the site. When people in my network commented on how the site wasn’t any good, I took notice. It reminded me of what Seth Godin said in ‘Not good enough’ is an easy place to hide:

The people who are paying attention are the ones who are trying. And shaming people who are trying because they’re not perfect is a terrific way to discourage them from trying. On the other hand, the core of every system is filled with the status quo, a status quo that isn’t even paying attention.

Seth Godin’s Blog

This is a really hard but important distinction to remember: It’s easy to criticize work in the name of peer review but end up on the bandwagon of not good enough. (There’s a fine line between effective peer review and unwanted comment).

One major lesson I’ve learned from interviewing testers is most aren’t paying attention. They aren’t looking around at how to improve. They don’t read blogs, books or take classes. So while it’s tempting to criticize the work people are putting out, it’s more impactful to reach out to those who are doing nothing and encourage them to try.

How to export environments from Postman

Postman can export data, including collections and environments, to be used outside of Postman. This is especially important when using Newman (their command-line collection runner).

With the release of Postman v8.2 it is easier to find and export Postman collections but harder to find and export environments, hence this article.

(more…)

Hiring a Software Tester, an Analysis

In May of 2020, back when Promenade Group was still called BloomNation, I opened a job posting for a Software Test Engineer. This was to be the first of many test positions we eventually hire for. After going through the whole process of hiring a software tester, I thought it would be useful to analyze the applicant data with the idea of learning something about how I hire and about the applicants who applied.

About the data

Some of this data was collected through our recruiting system and some was manually entered in by me. I spent a good deal of time crunching through raw data in Excel, then coming up with new questions and going back to find more data. Some of the data wasn’t captured at all and so I made guesses / assumptions. Specifically I did this for the applicants location and gender. I don’t hire based on gender, but I was curious to see how this might have effected the final outcome. Despite having 142 submissions, I ended up pulling data on only 107 resumes.

(more…)

2020 in Review

2020 was a year of starts and stops. Of more time but less mental energy. It was a year of developing patience and adapting to hard changes.

Patience

In early March my wife, an ICU nurse here in Los Angeles, saw the first signs of COVID coming in from travelers from Italy. Being ahead of the curve with little ability to do anything other than brace and watch it unfold forced us develop some humility.

In the AST we watched and guessed the trajectory of the virus as it spread country to country derailing our in person meeting. Then it shutdown major conference after major conference. All we could do was wait and see what are options were for our own conference, CAST. By the time it got canceled no one was surprised.

More Time

I spent more time at home with my family and less time on my commute. Despite these benefits I didn’t find more mental energy—quite the contrary. I had plans to attend many virtual conferences and I made it to none of them. Neither free nor paid. I had plans to write for other publications but couldn’t.

Writing became more consistent as I took to putting my frustrations down on paper instead. Yet I hardly published to my blog. I couldn’t get my mind to make space beyond the everyday challenges. There were / are so many things to say but no space available.

(more…)

Hosting a WordPress blog on Digital Ocean

I’ve been running Kenst.com since 2009. While the content has changed over time, the site has remained a blog. Kenst.com has gone from self-hosted on a Windows Home Server in my living room, to Blogger, and ultimately to WordPress. It’s been migrated to and from so many different hosting providers over time that I’ve lost count.

For a time all my sites were hosted on a single “shared” plan. This meant all the sites shared the quasi-dedicated resources of the plan. The problem came when Kenst.com would take the full allocation of memory and crash everything. Even with Cloudflare caching the top pages the traffic was too much. It was time to get a little more serious about hosting.

(more…)

November 2020 Updates

Somehow Thanksgiving is over but I’ve been buying Christmas presents for weeks. It’s amazing how quickly (but not quietly) 2020 is flying by now that it is nearly December. As with most of my updates, these are mostly for my own clarity on what has transpired but I hope they are of interest to bystanders and friends too.

About two months ago my company BloomNation announced it was rebranding itself to Promenade Group to better reflect how our business was now positioned to help 3 different verticals gain traction online: flower shops (BloomNation), liquor and wine stores (Swigg) and restaurants (Dig In). The company is growing rapidly and is in a strong position during Pandemic (thankfully). Most companies I’ve joined have been duds so working for a startup that is succeeding is a nice change of pace.

A few months prior to this, I hired my first direct report. I spent at least a full month recruiting and interviewing people for a mid-level Software Test Engineer. I’ll have more to say in the near future but suffice it to say over 100 people applied and only 1 got the job.

So many other things come to mind:

  • A little over 2 weeks ago was my first AST Board Meeting as President. I spent the past two years as Treasurer, et al. Not much has changed, but then again so much has.
  • There’s lots of cool stuff happening within the AST that I hope to be able to share in the next few months! So much good stuff. In the meantime I’ve got to bite my tongue.
  • I’m currently teaching the final AST-BBST course of the year, Test Design. One of the most under-rated courses we have. Lots to look forward to in 2021 with regard to courses!

While I’m not speaking at it, the original online testing conference (the aptly named) OnlineTestConf is coming in December is always worth checking out. The 2020 conference calendar isn’t over but has been filled with online conferences. If this is the way of the future, we’ll definitely need better ways to comb through the programs to find the specific things we want to learn. Information overload is real.

I’m Speaking at TestFlix

It’s true, I’m speaking at TestFlix on November 28th, 2020. You should sign up to join; it’s free to register!

I recorded and submitted my 7 minute talk on “Using Test Idea Catalogs for Better Testing”. The premise is:

Testers can develop a set of tests or test concepts for a specific object or risk and re-use them in similar projects or products. Catalogs come in many shapes and forms, they can be lists or more detailed. They can be public or private. They can be developed by individual testers or as teams within companies. But they all help you test better!

Slides

References

I plan to write more on the topic of Test Idea Catalogs in the near future but I mentioned a few in the presentation that I’d like to call out here: