November 2017

Domain Language

November 29, 2017 0 comments

Software is a model. We’re used to thinking of models as physical models that occupy space, but software represents a different kind of model, not a physical model but rather a behavioral model. Behavioral models take place in time rather than in space. You can think of them as black boxes where some input comes […]

CONTINUE READING THIS POST →

Writing Good Tests

November 15, 2017 0 comments

As Misko Hevery, the author of AngularJS, says in his outstanding Google Tech Talk series “Clean Code Talks,” most developers assume they know how to write a good test but they don’t. Knowing how to write a good test is paramount to being successful with TDD. Tests must be unique, expressive, and independent—easier said than […]

CONTINUE READING THIS POST →

Early Automation Experiences

November 8, 2017 0 comments

We didn’t do a lot of automated testing as an industry back in the late 1980s, but I did. I was working for IBM on one of the first hypertext implementations, which later became HTML. Our authoring system created very complex data structures that required us to do extensive testing to validate they were correct. […]

CONTINUE READING THIS POST →

Changeability

November 1, 2017 0 comments

What does changeability mean in the context of software? Software is soft so shouldn’t it all be changeable? Not exactly. It turns out we have to build changeability into code, but this is rarely done. To do this we have to understand the nature of software and the nature of change. Software doesn’t behave like […]

CONTINUE READING THIS POST →