May 07

The Humble Dialog Box & more…

Even if you are not into .NET, WinForms etc. this series by Jeremy D. Miller is a great one to follow. Posts so far:

Plus, as a bonus, you will notice that Jeremy is not afraid of using really long function names:
void CloseTheScreenWhenTheScreenIsDirtyAndTheUserDecidesNOTToDiscardTheChanges()
And I’m mentioning this not to make fun of Jeremy.

May 07

I’m not a tester

Erkan Yilmaz tagged me with a few questions regarding testing. However, I’m not a tester, I just happen to be interested in some areas of testing, e.g. unit testing & test-first-coding.
Could you tell something about your first tests?
I started getting interested in unit testing in the late 90s when XP came up. Still not 100% sure about where unit testing ends and acceptance testing begins.
What would you like to highlight as an important thing of testing – from your personal experiences?
As far as unit testing & test-first-coding is concerned, the most important aspect is “Just doin’ it even if you think you can’t do it”.
Why is testing not trivial?
Testing is always hard for a software developer because his/her brain knows about the inner workings of the code and therefore it requires an enormous amount of discipline to thoroughly test the code.
Test-first-coding is hard because it requires to change your mind set from testing as an afterthought to testing before you start coding.
What do you do after testing at work?
Coding 🙂
How do you think testing will evolve in the next 13 years?
Most of the kind of testing I’m interested in very much depends on the way the code is structured. So I would guess that the most interesting things will happen round tools & patterns which enable testable code.

Feb 07

Interesting Point of View on OO-Principles & Testing

Roy Osherove on Object Oriented Testable Programming:

…in many ways, pure object oriented design does not go well hand in hand with the notion of testable design.

Oct 06

Great advice…

…by The Braidy Tester: R E S P E C T.
No, this isn’t a subtle hint to anybody in particular. It’s just a great post on a very important topic.

Sep 06

Excellent Blog on Testing

Michael Hunter is doing a great job with his blog: THE BOOK OF TESTING – Thoughts From a Braidy Tester.
This is required reading for everybody involved with software testing.
I have setup (and will maintain 🙂 an RSS feed for all entries in the “You are not done yet” category of this blog.

Sep 06

Testing Setups

You Are Not Done Yet: Setup
This blog looks like a worthy addition to the RSS subscription of anyone interested or involved with testing.

Jul 06

12 Benefits of Test Driven Development

J. Timothy Kingblogs about 12 Benefits of Test Driven Development:

The first thing you ask is not “What code will I write?” The first thing you ask is “How will I know that I’ve solved the problem?”.

(Via MemoRanda.)

Jul 06

Test-Driven Development

Oren Ellenbogen started a great series of posts on Test-Driven Development. Well worth following:
* Preface
* NameResolver – Part 1

(Via ISerializable.)

Jul 06

Programming & Typing

Keith Ray and Chris Hanson (and others, I bet) have commented on Bruce Eckels post “Programming as Typing“.
I would like to take this (wrong – as those fine gentleman have proven) analogy and add a slightly different twist to it – and thus prove that, if viewed from a totally different angle – the analogy works just fine.
(For the sake of simplicity, let’s assume that “typing” means “typing & clicking”).
If you’re not typing, you’re not programming – If you’re not typing, you’re not making any progress. Sounds rather obvious, doesn’t it? It’s not.
I’ve seen it over and over (both by observing others and – in rare moments – myself) that a software developer who doesn’t type, but sits in front of his computer thinking about the problem at hand for more than 2:30min (I made this number up at this very moment 🙂 is not actively developing software.
He is stuck.
* Because he’s not typing, he is not using all the feedback the code can give him on how the problem should be solved.
* Because he is not typing, he is not actively playing with different approaches to the solution – he is just thinking about the different approaches. He’s making up a mental model of the code – and more often than not, this mental model is rather different from what the code does (This happens to the best of us, doesn’t it?).
* Because he’s not typing, he is not using the feedback which comes from writing & running a simple test. He is not trying to solve a small chunk of the problem to get a deeper understanding of the larger problem.
Typing is more closely related to software development than you think.
(There may be others who frantically scribble boxes on a sheet of paper for more than 2:30min – those are stuck too, not as stuck as those just mediating, but still stuck)
(Of course, this doesn’t apply to you if your belonging to the elite group of geniuses – but that’s only about 0.0001% of the software developers out there)

May 06

Automating “All” Tests

Ron Jeffries:

“Sure, test automation is a good thing. But we can’t, and shouldn’t, automate them all. Why then, ask people to ‘automate all tests’?”