Challenging Myself With Coplien’s Why Most Unit Testing is Waste

James O. Coplien has written in 2014 the thought-provoking essay Why Most Unit Testing is Waste and further elaborates the topic in his Segue. I love testing but I also value challenging my views to expand my understanding so it was a valuable read. When encountering something so controversial, it’s crucial to set aside one’s emotionsContinue reading “Challenging Myself With Coplien’s Why Most Unit Testing is Waste”

Running JavaScript Tests On a CI Server With Karma, Chrome And Fake X

So I want to run my JavaScript tests in a browser on our CI server. But the server has no graphical environment and the tests do not run under PhantomJS 1.x because it uses too old WebKit without ES5. The solution? Use a real browser and fake X via Xvfb. The browser I use isContinue reading “Running JavaScript Tests On a CI Server With Karma, Chrome And Fake X”

Focus & Do the Simplest Thing Possible

Are you tired of days spent in front of the screen, with no results to show? Have you once again engaged in yak shaving? Today, after having failed previously, I have finally managed to solve a problem while avoiding this trap by following rigorously two guidelines preached by grandmaster programmers. Be warned: Following this approach, you will get a working solution – but you won’t like it. It will be ugly, stained by compromises, far from the elegant solution you wish for. But if your resources are limited and you want to avoid death by too many yaks, this is your only option. But first, what are these guidelines?

One: Maintain a laser-sharp focus. A great programmer is constantly aware of what she is trying to achieve and never strays far from it. If the path leads away, she backs up. If something else pops up, she writes it down for later and gets back to the job. This is essentially about deciding what not to do. (Many thanks to Kent Beck for sharing his focus secret!)

Continuous Delivery Digest: Ch.9 Testing Non-Functional Requirements

(Cross-posted from Digest of chapter 9 of the Continuous Delivery bible by Humble and Farley. See also the digest of ch 8: Automated Acceptance Testing. (“cross-functional” might be better as they too are crucial for functionality) f.ex. security, usability, maintainability, auditability, configurability but especially capacity, throughput, performance performance = time to process 1 transactionContinue reading “Continuous Delivery Digest: Ch.9 Testing Non-Functional Requirements”

Notes On Automated Acceptance Testing (from the Continuous Delivery book)

(Cross-posted from These are my rather extensive notes from reading the chapter 8 on Automated Acceptance Testing in the Continuous Delivery bible by Humble and Farley. There is plenty of very good advice that I just had to take record of. Acceptance testing is an exciting and important subject. Why should you care aboutContinue reading “Notes On Automated Acceptance Testing (from the Continuous Delivery book)”