By Peter Bell

A Review of Pair Progamming with Ben - and the Recording

Stephen Moretti just wrote up a nice review of the pair programming session Ben and I just did for the Scottish ColdFusion Users Group (including a link to the recording) . . .

[More]

Pair Programming With Ben Nadel

Neither Ben nor I have ever paired and neither of us have much experience with Test Driven Development, but last night we spent a couple of hours pair programming and developing a new BaseObject for a project using TDD in MX Unit . . .

[More]

Configuration vs Programming

I've been getting more involved recently with the XP and test driven development lists. One thread that has come up is the appropriateness of unit and integration tests within a software product line. That lead to the following exchange which raises the question: "when does configuration become programming"?

[More]

How do You Test Smaller Projects?

A client comes to you. They need a custom web applications with a few business objects, a bunch of screens, some real business rules, maybe some workflows and a nice roles based admin security system. They're looking for a complete site with project management, graphic design, programming and deployment for under $25,000 and you decide to build it in-house (without outsourcing). How do you handle testing (unit, integration and acceptance) on that scope of project at that kind of price point?

Do you find that TDD is sufficiently fast that you can still knock out use cases in half a day to a day per while including the time to write the tests?

How do you handle integration tests? Do you set up Selenium scripts? For a project with say 20 use cases with an average of 5-8 screens, how long do you spend setting up the scripts, and are there any hints or tips for doing it more quickly?

What about acceptance tests? How do you document them? How long does it take to plan, document, explain, revise, agree and implement them? Any hints on doing it more quickly while keeping up the quality>

And finally, what about load testing? I usually avoid this on smaller projects as most of my clients don't get load. Do you have a standard load testing setup with dedicated load balance servers for testing projects on? How do you agree meaningful tests when load is so dependent on the exact click throughs, the precise search requests, etc.? What is the lowest price you'd do load testing for? Have you found a way to load test a meaningful application in a day? And what about any issues that arise? Does anyone fixed bid projects with non-functional requirements like number of users or do you just fixed bid the functionality (if required) and then charge by the hour for any tweaking of code and SQL required to hit the non-functionals. If you DO fixed bid projects with meaningful non-functional requirements, how do you estimate the effort required?

Any other types of testing you employ?

Intro to Test Driven Development

Joe Rinehart just wrote a really nice practical intro to TDD for developers who know they *should* be doing it, but have been looking for a nice, quick, easy CF/Flex based guide.

Well worth checking out.

On Unit Testing and TDD

Just read a couple of interesting posts. One provides a set of anti=patterns for TDD and the other looks at how best to Unit Test the db layer.

Anyone else have thoughts on DAO unit testing or TDD anti-patterns?

Another Blog to Read!

I haven't had a chance to play with the framework, so no comments yet on CF Rails, but whatever you do, check out Sammy Larbi's blog. He's posting on Refactoring, TDD, Selenium and a bunch of other things that any top CF developer should keep an eye on. He's got a foot in non-CF languages as well which means he's a good source of "ideas from outside".

Definitely worth keeping an eye on!

Auto Generating Unit Tests

In response to a previous posting Nathan Mische has posted about how he auto generates some of his unit tests using Brian Rinaldi's Illudium PU-36 Code Generator. Definitely worth checking out.

Approaches to Automating Unit Testing

xUnit frameworks (like cfcUnit in ColdFusion) allow for the automated running of unit tests. This allows for regression testing (where you can easily run all of your unit tests after each code refactoring to ensure you're still all green).

However, cfcUnit is only as good as the tests created and while there are resources out there for writing good tests, it seems to me that if your model metadata is sufficiently rich, a lot of the tests should be able to be generated automatically to capture a lot of the likely failure points.

I was just wondering if anyone in the CF world had been doing anything in terms of automating the creation of unit tests?

From a slightly different direction, has anyone had any experience with JesTer? Looks like a very interesting tool . . .

xUnit Patterns - Writing Better Tests

Just found a great website on xUnit test patterns. Should be a book by February, but right now the content is available online.

The goal is to provide patterns from experienced developers to help the rest of us to do a better job of writing our unit tests.

A tool like an xUnit framework (cfcUnit in ColdFusion) is really just a starting point for unit testing as there are all kinds of issues in designing tests. A set of proven patterns for designing and implementing unit tests should be a welcome addition to the library!

BlogCFC was created by Raymond Camden. This blog is running version 5.005.