The Danger of the Muddy Thinker

I talked before about tradition and dogma and not too long ago, on LinkedIn, I saw someone post yet another one of those bits of dogma in our industry without considering the context. The discussion that ensued showcased exactly the problem with simply regurgitating the “received wisdom” of others. So let’s talk about this.

Continue reading The Danger of the Muddy Thinker →

Pacumen – Exploring Search Algorithms

For this post I’m going to be giving you all the commands you need to run algorithms through Pacumen. But I will note that the readme file of the Pacumen project does provide some context for you should you choose to play around with the project. You can also reference my exploring testing and AI post for more details on how to use Pacumen.

Continue reading Pacumen – Exploring Search Algorithms →

Testing Algorithmic Searching, Part 2

This post follows on from the first part. That post, and this one, are building up your understanding of the algorithms that you have to consider when you are a tester in a machine learning or AI environment, particularly when dealing with search problems.

Continue reading Testing Algorithmic Searching, Part 2 →

Testing Algorithmic Searching, Part 1

The next two posts are follow-ons from the previous. The goal here is to get you set up thinking as a tester in a machine learning environment and specifically in the context of search problems. This post, and the next, will focus on making sure you have the basics of the algorithms.

Continue reading Testing Algorithmic Searching, Part 1 →

Pacumen – Exploring Testing and AI

In this post I want to set the stage for some future posts regarding thinking about how you might work, as a specialist tester, within the context of an environment that is using machine learning and various artificial intelligence techniques. This is an area that I’m finding many testers are not ready for. To that end, I’m going to show you how to get my Pacumen code repository up and working. Then I’ll take you through a few exercises to put it through its paces.

Continue reading Pacumen – Exploring Testing and AI →

Testing and AI

What’s been interesting in the testing world — at least the part of it that I hang out in — is the application of different AI-based learning algorithms to the act of exploring an application and seeing what (if anything) that tells us regarding the algorithmic and non-algorithmic parts of the testing discipline. Let’s talk about this because I think is fertile ground for testers to be exploring.

Continue reading Testing and AI →

Solution Development in Python, Part 1

It’s been awhile since I tackled anything too traditionally “technical.” Lately I’ve encountered many testers who are interested in using Python as their ecosystem of choice for test solutions, particularly in data science or machine learning environments. So here I’ll talk about being a test solution developer in a Python context and what it means to create solutions in this ecosystem.

Continue reading Solution Development in Python, Part 1 →

Testing As Experiments Around Project Forces

A lot of people writing about testing draw the correlation between testing and experimenting. You’ll often hear something like “testing is evaluation through experimentation.” But, as advice to testers, this falls far short of helpful if the notion of what being a good experimenter entails is not covered. So let’s talk about that.

Continue reading Testing As Experiments Around Project Forces →

Testing and Model Building

In his book The Black Swan, Nassim Taleb talks about “Platonicity,” which is defined as the desire to cut reality into crisp shapes. This is a form of dividing up a large domain into a smaller domain. This, by definition, means establishing certain boundaries. This is a key part of how people experiment and thus of how they model … and thus of how they ultimately explain things. So let’s talk about what this has to do with testing.

Continue reading Testing and Model Building →

Levels of Description

I’ve talked about the notion of test description languages quite a bit. A lot of these discussions get into debates about being declarative versus imperative, or focusing on intent rather than implementation. All good things to consider. But such “versus” terminology tends to suggest there is a “right” and a “wrong” when often what you have is “What makes sense in your context.” And you may have to flexibly shift between different description levels. Let’s talk about this.

Continue reading Levels of Description →

Describing My Role

Recently I engaged in a fun exercise with a test team wherein each of us had to answer the following question: How do I describe my role? It’s always interesting to me to see how people answer this, particularly in the fields of testing and quality assurance. So here I’ll provide the answer I gave, along with a bit of context for it.

Continue reading Describing My Role →

Exploration – Testing and Checking

In this post I want to follow on a bit from the interactive exploration idea developed up to this point but also focus on the distinction of checking and testing that often gets debated. I also want to use this post to reinforce a few things I talked about last year.

Continue reading Exploration – Testing and Checking →