Software testing

The fine art of testing software is founded upon of decades of software bugs, developer hubris and sysadmin sloth. Unit testing (or black box testing) combined with acceptance testing lend much more confidence to developer and QA teams alike in preparation of software releases.

Your Code is NOT Somebody Else’s Problem

by Dan Ackerson on September 1, 2011 · 0 comments

Imagine an ant working at the top of a mountain. Next to it, there’s a sluice of melt water running and, at that moment, the ant removes a tiny particle from the rock face. A few hundred molecules of water quickly seize upon the shortcut, and gravity takes care of the rest. The individual rivulets [...]

Getting Lean with Weekly Sprints

by Dan Ackerson on August 18, 2011 · 1 comment

In Scrum, sprints are time-boxed delivery cycles that help keep the team focused on the goal. If you don’t know which goal I’m referring to, check out Dr. Eliyahu M. Goldratt’s novel “The Goal” (hint: I think it’s something about making money). For web development, I run weekly sprints and this surprises a lot of [...]

Stealthily Introducing Agile from the Bottom Up

by Dan Ackerson on March 22, 2011 · 3 comments

Even today, in the 21st century, it’s rare for CEOs to steer their companies into agile waters. Change is hard, scary and leads into the unknown and changing an entire organization compounds all these fears. But, there are subtle, yet significant, ways in which you can organize your own work to be much more agile. [...]

Why Automated Testing is a Must for DevOps

by Matthias Marschall on May 18, 2010 · 6 comments

You’ve heard a lot about test automation. But why is it so important? It’s a lot of additional effort and adds lots of code which needs to be maintained later, right? DevOps Favors Continuous Releases One of the important parts of any DevOps process is the regular release of working software. In Scrum, iterations tend [...]

RSpec Tips & Tricks

by Matthias Marschall on February 18, 2010 · 0 comments

Throughout the last couple of days, I did a bigger refactoring of our Ruby on Rails application. As I changed quite a few moving parts, I covered everything I did with RSpec. It’s really an incredible feeling to have all your bases covered with automated tests when you finally start the manual regression test. Along [...]

Agile Is About Feedback, Not About Fancy Practices

by Matthias Marschall on December 9, 2009 · 1 comment

Too often people complain that to become agile they need to start using iterations, fancy story points and time boxes even though it simply does not fit the way they work. But, that’s not true. Agile is much simpler than that. And much harder. In essence, agile is about fast feedback. But the feedback needs [...]

For developing our Ruby on Rails based web site, we usually take regular SQL dumps from our production servers (of course, anonymizing sensitive customer data along the way). Always having a fresh dump allows us to be on the safe side when writing database migrations. Having an up to date development database enables us to [...]

Recently, I was looking deeper into how we could add some automated acceptance tests to our Ruby on Rails based website. We’re using RSpec since quite a while now for TDD, but doing some high level acceptance tests was not on our agenda so far. DRY Cucumber Scenarios The new cool kid on the block [...]

Seed Data In Ruby On Rails

by Matthias Marschall on May 28, 2009 · 12 comments

To run automated tests for your Ruby on Rails webapp, not only do you need your latest database structure deployed to the test database (created by rake db:test:prepare), but you also need some seed data for lookup tables, e.g. like zip codes. Common approaches like adding seed data through rails migrations are discouraged, and plugins [...]

Acceptance Testing with Cucumber

by Matthias Marschall on May 22, 2009 · 0 comments