Category: Development
Solution Development in Python, Part 2
Solution Development in Python, Part 1
WebDriver in JavaScript with Promises
As a tester wanting to write test tools in the JavaScript context, you have to get used to the concepts of callbacks and promises. This is one area that is very different from other programming languages when considering automation. So let’s talk a bit about that.
Continue reading WebDriver in JavaScript with PromisesJavaScript with Selenium WebDriver and Mocha
I talked previously about using Selenium WebDriver in the context of JavaScript. There I used Jasmine as a test runner for Selenium. Here I want to expand on this by using the arguably more popular Mocha as well as get into more depth on automation construction.
Continue reading JavaScript with Selenium WebDriver and MochaWriting Test Solutions with JavaScript: Testing Browser Apps
If you look at the JavaScript test tool ecosystem, you will find it’s generally quite large. But you will see the same tool names pop up fairly regularly. The decisions actually fall along some fairly simple and standard lines. In this post I want to show you at least some of your choices and then apply those choices to testing against a web application.
Continue reading Writing Test Solutions with JavaScript: Testing Browser AppsWriting Test Solutions with JavaScript: Mocha and Chai
In this post, I want to cover using two particular libraries as part of the JavaScript testing ecosystem. I’ll be very briefly covering Mocha and Chai. I tend to use these quite a bit and will likely do so in future posts. This post will thus serve as a brief introduction to the tools along with a working example.
Continue reading Writing Test Solutions with JavaScript: Mocha and ChaiWriting Test Solutions with JavaScript: Starting Out
As many of my readers my know, or have figured out, I’ve been a fan of the Ruby language for quite some time and I’ve used it to construct some of my own open source testing solutions. I’m now actively pursuing JavaScript as my potential test ecosystem of choice. In a few upcoming posts, I’ll talk about this journey with practical examples. This first post starts things off by getting you up and running with a few possible JavaScript technologies.
Continue reading Writing Test Solutions with JavaScript: Starting OutDevOps 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 ServerDevOps 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 SoloLearning 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.
Continue reading Learning Node.js, Part 5Learning 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.
Continue reading Learning Node.js, Part 4Learning 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.
Continue reading Learning Node.js, Part 3Learning 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.
Continue reading Learning Node.js, Part 2Learning 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.
Continue reading Learning Node.js, Part 1Grunting 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.
Continue reading Grunting Your Way Into JavaScriptThe 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.
Continue reading The Actions of Inform 7The Rules of Inform 7
In this post, I’ll continue on the exploration of Inform 7 that I started in the introductory post. Here I’ll continue to add to the game source text started in that post, putting emphasis on rules. Rules are one of the keys aspects — the other being actions — of how Inform 7 allows authors to interact with their game players.
Continue reading The Rules of Inform 7Introduction to Inform 7
In a series of posts, I’ll be writing about a gaming system I’ve been using to teach children writing skills but have also found helps testers with analysis and thinking skills. This particular gaming system is called Inform 7 and it’s used to program interactive fiction games, which used to be called “text adventures” back in the day. Inform 7 offers some unique challenges to thinking, writing, and programming such that I’ve found it to be an excellent system to explore with. Given that Inform 7 is used to create games that present puzzles to be solved, it’s been instructive for me to treat Inform 7 itself as a puzzle to be solved.
Continue reading Introduction to Inform 7Multiple Versions of Python on Windows
A lot of testers like to use Python. A lot of testers are on Windows machines. There is currently a large gap in the Python world between the 2.x and 3.x branch. (See more details on this.) This often puts testers in the position of having to make Python solutions that run on both versions. But, on Windows at least, this has been tricky in terms of having two Python versions installed and easily moving between them. Here I’ll talk about how the Python development team has eased this with the Windows launcher.
Continue reading Multiple Versions of Python on Windows