DevelopsenseLogo

The Real Requirements

One of the reasons that software development and testing are screwed up is because people often name things carelessly. Jerry Weinberg was fond of pointing out that “floating point” was the kind of math where the decimal point stayed in the same place, where in “fixed point”, the decimal point moves around.  People talk about “serverless computing”, when they really mean “computing using someone else’s servers”. “No-code testing tools”… well, … Read more

When the Developers Are the Users

This is a lightly-edited version of a repost on LinkedIn. The original post contained a photo of a conference talk. The presenter was a dude in a Spiderman costume. (I’ve always wondered how many Spiderman costumes we’d see at meetings of doctors, or journalists, or theoretical physicists. But I digress.) The screen displayed a slide “Everyone cares about User Experience, but no one cares about Developer Experience.” Spiderman outfit notwithstanding, … Read more

Lousy Solutions to Problems We Create

Code is created by people. HTML elements are code, which is created by people. As part of developing those elements, people can tag them with attributes (including but not limited to “id”) that make them easy to find, via tools, for testing purposes. This can be done deliberately and consciously, or automatically as part of the creation of the element. When that doesn’t happen, testers and developers have difficulty locating … Read more

Boundaries Unbounded

This post started as a LinkedIn post, which got started as a comment replying to this poll: It’s depressing to see ideas about testing and risk reduced to dopey formulas that are great for softball “certification” exam questions, but terribly limited for investigating and revealing product and business risk. Here’s how we describe “boundary” in Rapid Software Testing: A means by which something is classified or filtered This means that … Read more

Testing is Socially Challenging

This post has been brewing for a while, but a LinkedIn conversation today reminded me to put it in the bottle and ship it. Testing is socially challenging. There’s a double meaning there. One meaning is that testing involves challenging the product and our beliefs about it, in a social context. The other meaning is that probing the product and people’s beliefs about it can sometimes be uncomfortable for everyone … Read more

Learning from Little Bugs

I was investigating some oddness in Google Search today. Perhaps I’ll write about that later. But for now, here’s something I stumbled upon as I was evaluating one of the search results. Is this a problem? I think the developers of this site mean to say “Free delivery in the GTA for orders over $99″. (The GTA is the Greater Toronto Area.) Next question: is this a big problem? Will … Read more

Very Short Blog Posts (37): “Testing slows down the project.”

I’ve had a long career in this silly business. All the way along, one of the sillier things that people have said is this: “Testing slows down the project.” This is roughly equivalent to saying that looking out the windshield and attending to the dashboard slows down the journey. Sometimes people say that discovering problems slows down the project, but that’s not true either. Discovering problems can dispel the illusion … Read more

Talking About Coverage

A while back I wrote a post on coverage. In fact, I’ve written a few posts about coverage, but I’m talking about this one. A question came up recently on LinkedIn that helped me to realize I had left out something important. In that post, referring to coverage as “the proportion of the product that has been tested”, I said A software product is not a static, tangible thing; it’s a … Read more

Talking About Testing

Frequently, both online and in face-to-fact conversations, testers express reservations to me about making a clear distinction between testing and checking when talking to others. It’s true: “test” is an overloaded word. In some contexts, it refers to a heuristic process: evaluating a product by learning about it through experiencing, exploring and experimenting; that’s what testers refer to when they’re talking about testing, and that’s how we describe it in … Read more

Premature Formalization

Formal Bow Tie and Shirtfront

“The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming.” -Donald Knuth, The Art of Computer Programming Most of the time testing shouldn’t be too formal — unless you want to miss lots of bugs. To test something formally means … Read more