Monthly Archives: June 2008

The results of our Ruby development survey

A few weeks ago, we posted our Ruby development survey on the Devver blog. Dan and I wanted to give a big thanks to everyone who filled it out.
As of today, we have had 88 responses. While I’m sure the sample size and sample method were far from perfect, it did produce some numbers that [...]

Ruby Messaging Shootout

We have spent a bit of time looking into various Ruby messaging systems. We briefly posted about the speed of Ruby messaging in the past and promised some more detailed numbers. We will share a bit of code to run some basic tests on various Ruby messaging systems, and benchmark the performance. We are sure [...]

Tips for Testing: Tip #6

Tip 6: Don’t be dogmatic

There are a lot of best practices for testing that may or may not apply to your situation. Should you have one assertion per test? Should you use mocks and stubs? Should you use Test Driven Development? Or Behavior Driven Development? Should you do interaction or state-based testing? While all of [...]

Tips for Testing: Tip #5

Tip 5: Improve your tests over time
Here’s a terrible idea - decide you are going to spend a whole week building a test suite for your project. First of all, you’ll likely just get frustrated and burn out on testing. Secondly, you’ll probably write bad tests at first, so even if you get a bunch [...]

Tips for Testing: Tip #4

Tip 4: Always write one test
When writing new code, it’s easy to avoid testing because it seems so daunting to test all the functionality. Rather than thinking of testing as an all-or-nothing proposition, try to write just one good test for the new functionality.
You’ll find that having just one test is much, much better than [...]

Tips for Testing: Tip #3

Tip 3: Test code isn’t production code
Another common mistake is to treat test code just like production code. For instance, you’d like your code production code to be as dry as possible. But in test code, it’s actually more important for tests to be readable and independent than to be dry. As a result, you’ll [...]

A new Ruby tools survey

We’re trying to get a better feel for what types of web-service tools would be useful to Ruby hackers. You can help us out by filling out our survey. Thanks!

Tips for Testing: Tip #2

Tip 2: Most code is not written to be tested
Another surprising thing you’ll find when you start testing is that your production code is not very testable. This isn’t surprising - if there were no tests previously, there was no reason to design for testability. This will make your first tests way harder to write [...]

Tips for Testing: Tip #1

We’re big on automated testing here at Devver, but I know a lot of companies aren’t as into it. There’s been plenty written about all the reasons you should be writing tests, but over the next week or so, I’ll give you some tips on how to get started (and if you’ve already got some [...]

Are we a band-aid?

Jay Fields recently wrote something interesting:
“Problems with tests are often handled by creating band-aids such as your own test case subclass that hides an underlying problem, testing frameworks that run tests in parallel, etc. To be clear, running tests in parallel is a good thing. However, if you have a long running build because of [...]