I occasionally hear developers choosing between Behaviour Driven Design and Acceptance Test Driven Development. I'd propose that BDD is ATDD.
QA like a Product Manager
At a recent Misfits of QA meetup, I heard about an interesting pain point in the QA process. The gist was that companies rarely invest enough in the diplomatic or managerial skills of their QA workers. It's not an idea I hear often, so I'd like to give it some thought.
Motivation for Accessibility Testing (Hint: You're already doing it)
Yesterday’s Weekend Testing Americas session brought up a couple of interesting arguments justifying accessibility testing. Accessibility issues can have impact beyond the end user, and testing can be surprisingly cheap.
Thanks to Albert Gareev and Michael Larsen for facilitating the session, and all who contributed to the discussion.
Getting Hired with a Testing Portfolio - Artifacts are not Testing
One year ago, I was finishing up my undergraduate degree and was looking for a testing job. Without a long work history to rely on, I decided to start my own practice projects and build a testing portfolio. This raised an obvious question: What does a testing portfolio look like?
Exploratory Regression - The last-minute policy
Where did I go?
Hi reader, just wanted to give a quick update on why this site stopped getting updated. Short version is: I got a job, and I'm moving to a new apartment in downtown Toronto. Fun stuff, but not much time left over.
Things are starting to stabilize, so I want to get back into writing. Most of my day is spent automating tests in codeception, so that's probably where I'll start. I've got a lazy long weekend coming up, so some content should follow soon after.
Unity Engine - Bunker Controls Train-of-thought
I haven’t had much time to spend on this game lately, but I’d like to share what I’ve got so far and record my train-of-thought tackling this game’s controls.
Right now I’ve got some of the shooting mechanics and a first pass at player controls. Your character is a black circle, the enemy is a red circle, and bunkers are blue circles. If you have line-of-sight to your target, you’ll fire at it automatically.
In this build, everything is controlled by left-clicking with the mouse:
-Left-click a bunker to display a movement selector, then click the selector to set your precise destination point.
-Left-click a point on the ground to target that point (will be useful once fog-of-war is added)
-Left-click the enemy to target the enemy (will be useful once fog-of-war is added)
Unity Engine - Bunker Design Doc v1
With a couple of Unity tutorials finished, I think I have enough of a toolkit to make my game happen. So it's about time I explained my basic motivation for this game, and planned an implementation. It's very likely that I will need to modify and add ideas as development continues, but this is my starting point.
Unity Engine - Space Shooter Tutorial
This article contains my rough notes from the Unity's introductory "Space Shooter" tutorial, which covers many of the same basic concepts as Roll a Ball with some additions (materials, audio, etc). The original tutorial is a short video series following the creation a top-down scrolling shooter click-by-click and line-by-line, with some very useful justifications for each step. You can play my version of the final game here, and find my source code on GitHub here.
Unity Engine - Roll a Ball Tutorial
This article contains my notes from the Unity's introductory "Roll a Ball" tutorial, covering basic concepts like "Scenes", "GameObjects" and "Components". The original tutorial is a short video series following the creation a simple game click-by-click and line-by-line, with some very useful justifications for each step. I really enjoyed this tutorial, and I'd recommend it to anyone looking to pick up Unity. You can play my version of the final game here, and find my source code on GitHub here.
Unity Engine - Introduction
I'm going to make a game in Unity. Oh boy.
This project will take several months and come in several parts, but first of all I need to learn the basics of Unity. What can it do for me, and what must I do myself? To this end, I will work through Unity's tutorial projects starting with Roll a Ball.
Coding Practice - Retrospective
Six weeks ago I set out to gain some basic knowledge about "popular programming languages," which I missed during university, but I didn't really know where to start. Following recommendations from the horde of web developers that is Toronto's tech scene, I checked out the suite of languages taught by CodeAcademy... namely HTML, CSS, PHP, JavaScript, JQuery, Python and Ruby. None of these tutorials went into great depth, but they gave me the overview I was looking for.
Now it's time to look back at what went right/wrong in this project, and figure out how to improve for the next one.
Coding Practice - Ruby (RubyMonk)
For my first foray into Ruby, I've received some glowing recommendations for a website called RubyMonk. This article will cover my rough notes on their most basic tutorial, the "Ruby Primer." The topics covered are very similar to my other coding practice articles, running from simple variables to creating classes and methods to a bit of file IO.
Coding Practice - PHP (Codeacademy)
This article contains my notes from the Codeacademy PHP course. This course covered the very basics of PHP, from definition and use of variables and arrays, to functions, to classes and inheritence.
Coding Practice - JQuery (Codeacademy)
This article contains my rough notes from the JQuery course on Codeacademy. These notes are more information and less commentary than my others, because I had never used JQuery before. Turns out, it has nothing to do with databases!
Game Analysis - Guard AI in Splinter Cell: Blacklist
What follows is a "game analysis," a short essay meant to demonstrate my understanding of game mechanics and their relationship to design and implementation. In the essay, I try to explain the behaviour of AI guards in Splinter Cell: Blacklist in terms of a state machine based on my observations playing through the game.
Coding Practice - JavaScript (Codeacademy)
Here are my rough notes from Codeacademy's JavaScript tutorial. This tutorial only covered "JavaScript in a vacuum" and not JavaScript's usual purpose of interacting with HTML, so I want to return to this language once I've completed Codeacademy's offerings.
Coding Practice - HTML/CSS (Codeacademy)
I've recently been working through the Codeacademy HTML/CSS course, formalizing the scraps of web knowledge I've picked up in past co-op jobs. I like Codeacademy's format, they use an in-browser coding environment with step-by-step exercises to teach the basics of a particular language.
I'm not allowed to directly post the course material, so here are the notes I wrote while taking the course. I'm mostly posting these for posterity, but perhaps somebody somewhere will find them useful.
Coding Practice - Python (Codeacademy)
As part of my quest for employment, I am brushing up on some popular programming languages. In the last couple of days I've been working through the Codeacademy Python course.
Here are the notes I wrote while working through the course. They're rough and I'm mostly posting them for posterity, but they do explain a few points that the Courseacademy material did not cover properly.
Coding Practice - Introduction
As preparation for work interviews, I am taking a few weeks to brush up on popular programming languages. I'm a big fan of the code-it-yourself tutorial style of Codedeacademy, so I'll start with the languages they support.
For the first six entries in this series, I will be studying HTML/CSS, Javascript, jQuery, Python, Ruby and PHP (not necessarily in that order). Fair warning, these articles will be rough notes for my own future reference, rather than a reader-friendly tutorial. If you're looking to learn these languages, I'd highly recommend trying Codedeacademy yourself.