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 [...]
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.
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 [...]
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. [...]
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 [...]
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 [...]
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 [...]
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 [...]
