I’ve said before that testing games is hard and I’ve also shown that I created a game for interviewing test candidates. You wouldn’t be far off the mark to figure that I put a large focus on game-related thinking. This is because, in my experience, such thinking makes some of the best testers. But let’s talk about that a bit.
The Soul of Testing
I recently read the book called Uncertainty: Einstein, Heisenberg, Bohr, and the Struggle for the Soul of Science, written by David Lindley. It made me think a bit about the “soul of testing.”
Test-Driven Is Not (Necessarily) Test-First
In the past I questioned whether our test and development practices become defocused. As most people in the industry know, there has been a lot of comment and debate about whether “TDD is dead.” So let’s talk about that, particularly since this particular practice is said to sit at the intersection of testing and development. This is probably going to be a bit of a free-range over a few topics, so bear with me as we brave the dark waters.
Continue reading Test-Driven Is Not (Necessarily) Test-First
Abstraction Levels for Tests
Previously I talked about the testing craft and abstraction and here I’ll expand on those thoughts a bit more.
Bumping the Lamp During Testing
Most testers have heard of “bump the lamp.” It’s hard to go through a testing career and not be exposed to this concept at some point. I recently found an experience where I was able to keep this kind of thinking front and center.
Test Solution Architects
The idea of a test solution architect is a role that should officially exist but doesn’t. My thoughts are still percolating on this but let’s talk about architects in general and then talk about test solution architects.
The Testing Craft and Levels of Abstraction
Previously I had talked about the craft of testing, focusing on the balance between the creativity of an artist and the methodology of a scientist. In both cases, however, the focus is on communication. To that end, it’s imperative we can express what we test in good English. (Or whatever the native language of your environment is.) So let’s talk about this key skill.
Continue reading The Testing Craft and Levels of Abstraction
Lucid Testing and Description Languages
I believe in the concept of what I call Lucid Testing. I even tried to promote my own BDD-style tool solution called — what else? — Lucid. The focus on lucid testing is making testing a design activity. As such an activity, testing makes the business domain — and how that business domain provides value — lucid (expressive and understandable) to anyone who has a vested interest. Core to these ideas is that testing is a design activity and that the primary value of testing is as a communication activity.
Domain Testing and the Limits of Intuition
The technique of domain testing goes under several names, such as equivalence partitioning, boundary analysis, and category partitioning. And probably a few others that I’m either forgetting or never heard of. While this technique is a formal test design method, many testers will tend to do this technique somewhat intuitively. So what I want to do here is show the basis behind this intuition as well as a few simple working examples of how the technique is applied — with an emphasis on how intuition can fail.
Looking For and Valuing the Modern Tester
The test discipline is an interesting spot right now which is where some testers are considered “too technical” and the fear is they don’t want to do the actual testing. On the other hand, some testers aren’t considered “technical enough” and thus the fear is that they put too much emphasis on the actual testing and not on the tooling around the testing. This should be a false dichotomy.
Testers and the Strategy of Trust
Ask a tester this: “You are given a login form. How do you start testing?” For the most part, you’ll find the answer falls along two distinct lines of investigation. You’ll either be told “First, I would try to log in successfully” or you will be told “First, I will try typing in an invalid password, then an invalid username, and then I’ll try entering nothing.”
This is not a question of whether or not the first tester would have also done those tests. They likely would have. It’s rather a question of what they started with: the success scenario or failure scenarios. So let’s talk about that.
The Danger of the Certified Tester
Here I argue against people, particularly certain companies, that seem to think it matters overly much if their test employees hold a certification, such as the CSTE.
DevOps and the Tester: Provision with Chef Server
In a previous post I introduced you to provisioning an infrastructure with Chef using a standalone component called Chef Solo. In this post, I’m going to expand significantly on that example and cover how to use Chef in the more common scenario, which is using Chef Client to talk with a Chef Server.
Continue reading DevOps and the Tester: Provision with Chef Server
DevOps and the Tester: Provision with Chef Solo
Many testers are working in a DevOps context now or soon will be. This context is often about making a new environment available (virtualization) or taking an environment and making sure it has everything needed (provisioning). Usually these two go hand-in-hand. Here I’m going to show you one of the simplest possible ways to do this using one component of Chef. Make no mistake about it: this kind of automation is critical for the modern tester to learn.
Continue reading DevOps and the Tester: Provision with Chef Solo
Testers Need to Provision
In a previous post I talked how testers need to learn virtualization technology, using Vagrant as a good example of that. Here I want to talk about a related aspect to that, which is provisioning the virtual machines that are used for testing and development purposes.
Testers Need to Virtualize
I interact with many testers who feel they are not relevant in their career due to various things they don’t know. Probably one of the most common of those would be virtualization. The ability to utilize virtualized environments is most definitely a key skill that testers need to have in their toolkit, so let’s talk about that a bit.
Personal Credibility Strategy for Testers
One thing I often talk with testers about is a prime focus of our work: being credible reporters of useful and timely information in a diplomatically persuasive way. Coupled with that, I’m just coming out of a particular job wherein I feel my career took two steps backward and I’m now in process of regaining my forward momentum. The “steps backward” have to do with personal credibility and it’s why I’ve been silent for a month or so.
The Quest for Testers
I seem to be on a rant lately about interview techniques for getting good testers. Here I’m going to back up a little further what I do in order to find effective and efficient testers.
Interview Testers As If You Want Testers
One of my pet peeves in the industry is the often very lackluster ways I see testers being interviewed. So let’s talk about that a bit.
Learning Node.js, Part 5
Here I’ll take a step back from previous posts and cover the HTTP API of Node.js in a focused way.