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.”
Should I Node or Should I Go?
As a tester it can be hard enough figuring out what technologies you should focus on to remain relevant in your career; not just at your current place of employment but at future ones as well. This gets even more difficult when there are “wars” within various communities about solutions and technologies. One such example is the supposed migration from Node.js to Go. So let’s talk about that.
ISO 29119 – Testers! Don’t Buy Into It!
Here I simply want to be one more voice calling attention to ISO 29119 and the viewpoint that it should not be adopted.
Combination Testing: Making it Manageable
Combination testing involves testing several variables together. As you can imagine, however, this leads into an explosion of tests. Combination testing can be used to make your tests manageable. But you also have to make your strategy for determining combinations manageable. It’s the latter aspect that I’m going to talk about here.
Learning Capybara, Part 2
In the previous post in this series, I showed you how you can execute Capybara via its own session object, which means you did not have to incorporate any of the Capybara DSL into your own logic. Here I’ll do the exact opposite of that by showing you how to incorporate Capybara into your own particular logic. Then I’ll show how that segues nicely into fitting Capybara within different test runners.
Learning Capybara, Part 1
Capybara is rapidly becoming the go-to test tool of choice among Rubyists. I will NOT be covering this tool in the context of the Rails platform. A lot of people see the Ruby test ecosystem as existing largely to support Rails and that’s simply not true. It is true that Capybara, in particular, was forged in and around a set of tools that exist largely to support testing Rails applications. What I’ll show you here is any web application can be tested using Capybara.
Learning Node.js, Part 4
In this post I’ll take you through what some people consider the harder to learn aspects of JavaScript testing, which is incorporating a JavaScript test framework and applying it against your site. More and more testers are going to be coming up against these technologies and it never hurts to get some understanding.
Learning Node.js, Part 3
In prior posts I had you creating web apps/servers via very simple logic. Framework software provides infrastructure support that allows you to create all of that a lot more quickly. Here I’ll take a look at using Express with Node.js.
Learning Node.js, Part 2
Here I’ll continue the Node.js learning process by starting to construct a very simple server that will serve up static resources, like HTML pages.
Learning Node.js, Part 1
My goal here is to introduce others to Node.js by basically detailing how I have learned it. In this initial post, I’ll jump right into creating a simple app-as-a-server and use that as a springboard for learning other aspects of Node.js.
BDD Specs and Parameterizing Phrases
If you plan on using a BDD tool (like Cucumber, SpecFlow, Behat, etc) you are going to want to have some guidelines for how and to what extent you allow parameterized and conditionalized phrases. This is an area that I’ve found can become a rat’s nest of bad habits unless you establish early on how much and to what extent to use these features.
Functional Programming — Is There a Clarity Trade Off?
Developers, along with many Test Solution Developers, have to decide whether they want to jump on the functional programming bandwagon. I’m not here to extol the virtues of functional programming. What I am here to look at is something I hear particularly from many people, which is that functional programming tends to make programs less clear. This does have particularly relevance to me since I do like code with a high degree of clarity regarding its intention.
Continue reading Functional Programming — Is There a Clarity Trade Off?
Grunting Your Way Into JavaScript
A challenge testers sometimes have, particularly those working to build up their technical skill set, is how to get involved in various programming language ecosystems. Often people start by trying to learn the language and I’ve found that’s not the most helpful approach for some. Sometimes you are better off starting with supporting tools, which forces you to use other supporting tools. Along the way you learn bits of the language in context. Then you can go back and learn the language in a more reference style. I’ll show what I mean here with using Grunt as a springboard to getting into the JavaScript ecosystem.
There Is No “Non-Functional”
I keep running into testers, and others, who like to categorize testing into functional and non-functional aspects. This needs to stop, in my humble opinion.
The Actions of Inform 7
In this post I’m going to be focusing on the actions that a player will take with an Inform 7 game. Those actions can be interefered with in various ways to make the game play experience more dynamic. All of this will be done using rules, which I covered in the previous post. In this post, you will see how actions are essentially a descriptive circumstance provided to a rule. When that circumstance applies — meaning, when the action has occurred — then interesting things can be made to happen.
Interview “Technical” Testers for Broad Skills
I recently did an interview for a “technical testing” position and it was one where they had you do a whole lot of exercises for coding. In fact, as far as I could tell, that’s pretty much what all the interviews were going to be. The interview was thus, to me, largely a waste of time. I actually told the interviewers that and, to be fair to them, they were quite gracious, did engage me in discussion, and actually seemed to agree with me on a few points. But here I want to talk about why I felt the interview was a waste of time and what role “coding exercises” have when hiring so-called “technical testers.”
Continue reading Interview “Technical” Testers for Broad Skills