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.

Continue reading Grunting Your Way Into JavaScript

Learning the Rails Way – A Tester’s Perspective

In a previous post I talked about learning Rails in a way that I wished it had been presented to me. Here I’ll focus a little on the salient facts about the framework that you will no doubt find elsewhere, but sometimes you have to distill it from surrounding material that gets in the way. Near the end, I’ll explain why any of this has relevance to me writing as a tester.

Continue reading Learning the Rails Way – A Tester’s Perspective

A Tester Learns Rails

I played around with Node.js in a previous post for web framework design. Now I want to explore Rails a bit. I haven’t found tutorials that I really like on Rails, at least for those getting started. Now that I have gotten started, some of those tutorials I did find are more helpful to me, but they weren’t as helpful starting out. So here I’ll write in a way that helped me learn more about how Rails is actually working, rather than just relying on the “magic” that everyone tells me is happening behind the scenes.

Continue reading A Tester Learns Rails

Why Test Engineers Should Learn Node.js

Lately I’ve found myself wanting to develop test solutions that essentially require a simple web server along with a lot of client-side logic. For example, a Gherkin repository interface is something I’ve been longing to do. I don’t want to learn Pylons (in the Python world) right now and while my focus is Ruby, I’m not too keen on the overhead and bloat of Rails. I’ve done a Sinatra app (Dialogic). Sinatra is sort of Rails-lite, but that doesn’t really help me with an optimized solution that is going to use a lot of JavaScript. Thus did I come across Node.js.

Continue reading Why Test Engineers Should Learn Node.js

The “Which Language Should I Learn” Dilemma

A lot of times I get asked by technical testers the following question: “What language should I learn?” The rationale for the question is obvious: there is limited time and they want to focus on that which will do them the most good. The good news is: this is a false dilemma.

Continue reading The “Which Language Should I Learn” Dilemma

Why Test Engineers Should Learn Groovy

If you’re a Ruby programmer than, like me, you may have a healthy distrust of the bloated thing that is Java. That said, Java really does have a lot of good points and it would be silly for any tester to discount it. Well, more to the point, discounting Java, the language, for your test solutions may not be a problem; but don’t discount the JVM. There are other languages that run on it, Scala being one of them. Here I want to talk about a language that a Rubyist should feel right at home with: Groovy. So let’s learn to be Groovy.

Continue reading Why Test Engineers Should Learn Groovy

Why Test Engineers Should Learn Scala

Technical testers are often in a role where they have to utilize a programming language in order to build their own tools. Many testers will focus on languages like Ruby and Python for those solutions. The reason for that is because in the open source testing community, those languages do tend to be the focus of test solutions, the usual reason being given that they are “dynamic” languages. I’ve been in that same camp for a long time now. But there are cool alternatives worth exploring.

Continue reading Why Test Engineers Should Learn Scala

Why Test Engineers Should Learn Ruby

Test engineers most definitely should have Ruby as part of their tool set. This post is not so much to showcase my clear bias for Ruby when writing test solutions. This post is rather to showcase with some evidence why I have chosen Ruby as my tool of choice. My reason is mainly because you can do so many cool things with Ruby that other languages struggle with, particularly if your emphasis is on creating a DSL.

Continue reading Why Test Engineers Should Learn Ruby