Functional Testing, BDD and domain-specific languages

I love Test Driven Development (TDD). If you look back through the posts on this blog that soon becomes apparent. I’m pretty comfortable with using TDD techniques at all levels of a solution, from the tiniest code snippet to multiply-redundant collaborating systems. Of course, the difficulty of actually coding the tests in a test-driven design …

Continue reading ‘Functional Testing, BDD and domain-specific languages’ »

Spike Driven Development

test-Driven development (TDD) is a very powerful and beneficial approach to developing software. I routinely recommend it as a solution to untested and hard-to maintain software. However, every rule has its exceptions and there are occasions when a pure TDD approach is not very helpful. Mark Needham wrote a recent blog post on the subject …

Continue reading ‘Spike Driven Development’ »

Deployment pipeline anti-patterns

It’s happened on most reasonable sized projects I have worked on. The benefits of test coverage an continuous integration are obvious and pay back immediately. But, somehow, as the project grows and diversifies, a point is reached where the complexity and run time of the CI process begins to slow down development rather than assist …

Continue reading ‘Deployment pipeline anti-patterns’ »

A good aspect of the Oracle/Sun purchase

There has been a lot of speculation and worry about Oracle’s acquisition of Sun, so it’s nice to see some positive aspects. Here’s one about an improved attitude to automated testing. One of the results of the Oracle purchase of Sun has been an increased focus on testing — not that we didn’t test GlassFish …

Continue reading ‘A good aspect of the Oracle/Sun purchase’ »

Testing is Overrated

A conference presentation from RubyFringe, designed to be contentious. There are some good points, particularly about the way that different approaches to testing can complement each other, but I think he misses the point about TDD when he lumps it in with developer unit testing and ignores the design aspects of the technique. InfoQ: Testing …

Continue reading ‘Testing is Overrated’ »

Context and problems with “Best Practice”

I sometimes have to suppress a shudder when people use the term “best practice”. Despite a positive sounding name, the idea of “best practice” is almost always used in a way that is restrictive rather than enabling. Declaring one approach or solution as “best practice” by implication shuts out other answers. I will admit that …

Continue reading ‘Context and problems with “Best Practice”’ »

ChromeWatir release 1.0.0

Every now and then we discuss ways of better automating the manual tests which accompany our web applications. This is especially poignant right now as both the development and test teams have been recently reduced in size. We have had some success with Watir in the past, but it was always dependent on Internet Explorer …

Continue reading ‘ChromeWatir release 1.0.0’ »

Monkey testing

I love this idea. Pseudo-random test cases to simulate mass usage by “realistic but sometimes thoughtless” users. Especially when augmented with audit trails so that failures can be easily repeated for fixing. DanNorth.net » Monkey business value This impatient monkey – dancingmango

The Correct Ratio of Agile Testers to Developers? It Depends.

A hot topic in software development circles at the moment is the interaction and demarcation between “developers” and “testers”. Development uses an agile approach but it’s sometimes hard to see how this sits with the testing folks, particularly as most stories seem to move snappily through development then pile up in testing. Sometimes it seems …

Continue reading ‘The Correct Ratio of Agile Testers to Developers? It Depends.’ »

Disappointed with the British Computer Society

The British Computer Society (BCS) is supposedly the professional institution in the UK which represents anyone working in the field of Information Technology (IT). I have been an associate member for many years, and most years I consider upgrading my membership to become a full member but have never actually done so. Usually the problem …

Continue reading ‘Disappointed with the British Computer Society’ »

In an agile process, what is a defect?

Our agile team is finding some things challenging. In particular deciding how to prioritise and work on “bugs” in the midst of a pool of prioritised and scheduled feature stories. “Agile In Action” has a nice summary of an approach to software development. Most agile practitioners won’t find anything to object to. AGILE IN ACTION: …

Continue reading ‘In an agile process, what is a defect?’ »

How to test e-mail notifications properly

I’m currently working on some software which sends notifications to users (using SMS, email, or whatever) and have faced the inevitable problems with testing it. On balance I’d prefer not to receive a test SMS on my mobile phone every time our continuous integration system runs an end-to-end test. Gojko Adzic has some thoughts about …

Continue reading ‘How to test e-mail notifications properly’ »

Increasing Code Coverage May Be Harmful

I develop almost all my code these days using Test Driven Development (TDD). By taking this approach I never bother about unit test code coverage, but some developers seem very concerned by it. One thing that I have never considered doing is retroactively adding tests just to increase some code-coverage metric. Dan Manges has written …

Continue reading ‘Increasing Code Coverage May Be Harmful’ »

The Power of Done

As we attempt to spread agile, continual, iterative, processes throughout the company, there is a growing confusion as to when things are actually ready for release. The old “waterfall” notion of a complex and detailed advance specification, backed up by months of laborious manual testing is no longer applicable. In most ways this is a …

Continue reading ‘The Power of Done’ »

Automated story-based acceptance tests lead to unmaintainable systems

A fascinating counterpoint to Gojko Adzic‘s writings on acceptance testing in an agile process. thekua.com@work » Automated story-based acceptance tests lead to unmaintainable systems Update: here’s some more discussion on this topic, and how it is affected by the nature of user stories User Stories are Just Schedulable Change