Category Archives: TDD

More on UIAutomation tests

Update The information below is mostly redundant. After filing a bug report with Apple, their engineers determined that the Xcode-detected set of macro actions (find a text field, double click, enter text) weren’t working because the double click action wasn’t … Continue reading

Posted in AAPL, Mac, TDD, tool-support | Leave a comment

given-when-then in XCTest

I started writing a new Mac app, and I started doing it by driving the implementation through Xcode UI Automation tests. But then it turned out I was driving the test infrastructure as much as the tests, and it’s that … Continue reading

Posted in Swift, TDD, UI | 3 Comments

To become a beginner, first become an expert

We have a whole load of practices in programming that only really work well if you’re already good at whatever the process is supposed to help with. Scrum is a process improvement framework, but only if you already know how … Continue reading

Posted in advancement of the self, software-engineering, TDD, tool-support | 1 Comment

Working Effectively with Legacy Code

I gave a talk to my team at ARM today on Working Effectively with Legacy Code by Michael Feathers. Here are some notes I made in preparation, which are somewhat related to the talk I gave. This may be the … Continue reading

Posted in advancement of the self, books, code-level, learning, software-engineering, TDD | Leave a comment

Yes, you may delete tests

A frequently-presented objection to the concept of writing automated tests is that it ossifies the implementation of the system under test. “If I’ve got all the tests you’re proposing,” I hear, “then I won’t be able to make any changes … Continue reading

Posted in TDD | Comments Off on Yes, you may delete tests

Contractually-obligated testing

About a billion years ago, Bertrand Meyer (he of Open-Closed Principle fame) introduced a programming language called Eiffel. It had a feature called Design by Contract, that let you define constraints that your program had to adhere to in execution. … Continue reading

Posted in architecture of sorts, code-level, OOP, TDD | 1 Comment

Reflections on “Is TDD Dead”

The first thing I noticed that I needed to change as a result of watching the Is TDD Dead? series is that I started out with a defensive mindset. If I believe in the dogma of a rule, then presumably … Continue reading

Posted in TDD | Leave a comment

Is TDD Dead? My questions

These are my questions for parts 5 and 6 of Is TDD Dead?. I’d like to start by thanking the panellists for publishing their discussions. TDD the Principle Kent and Martin, why is it that you practise test-driven development? What … Continue reading

Posted in TDD | Leave a comment

I use mocks and I’m happy with that

Both Kent Beck and Martin Fowler have said that they don’t use mock objects in their test-driven development. I do. I use them mostly for the sense described first in my BNR blog post on Mock Objects, namely to stand … Continue reading

Posted in code-level, OOP, TDD, TDiOSD | Leave a comment

It’s about solving problems

As ever, there’s a touchstone issue on the programmers’ corner of the intarwebs (the programmers’ corner is actually the same intarwebs everyone else is using, just we model it with geometry so it can have a corner). Here it is: … Continue reading

Posted in learning, Responsibility, TDD | Leave a comment