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.
Author: Jeff Nyman
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.
Testing is Like Writing Fiction
Previously I wrote about the craft of testing and drew some correlations between fiction writing. Here I’ll continue that theme.
Specify Use Case: Models, Rules and Features
I introduced my Specify micro-framework in a previous post. In this post I want to cover an example of how effective I think this kind of approach can be.
Continue reading Specify Use Case: Models, Rules and Features
Introducing Specify
I have been working on a different type of tool solution that I call Specify. In this post I’ll introduce the tool.
Why Cucumber? Why Gherkin?
Many people feel that tools like Cucumber are a waste of time. But are they? Let’s talk about that.
Is Cucumber Truly Misunderstood?
I’m tired of hearing how “Cucumber is misunderstood.” If that’s the case then it’s terribly ironic that a tool that is supposedly all about revealing intent did such a bad job of doing this for itself such that it’s become completely “misunderstood.”