Archive for the ‘Testing’ Category

Since many years I have been writing down the guidelines I use when developing software. Mainly because it’s easy to forget some of them, but also because at times you need to explicitly ponder their weight in a trade-off between two or more “principles”. One thing is clear after all those years I have spent writing and reading software, whether it was written by me or someone else: writing good software and writing good code is difficult.

Michael Foord has written up his “30 best practices for software development and testing“, and it’s hard to disagree with his list: there is a lot of good advice in it! If you’re just starting to code, you can’t hope to apply all 30 “rules” at once. The only gripe I have is with the title of his post: in my view, it should have been published as “30 best practices of software coding and testing“. There is, after all, a lot more to software development than coding.

Let me prove that statement. For heaps of excellent advice on the subject of software development in general I always pick up Alan M. Davis’s “201 principles of software development“.

My copy was printed in 1995, and it seems there are no reprints – which is a shame, because Alan Davis did a great job of consolidating proven principles in categories ranging from requirements analysis over design to coding and testing and product assurance. Each principle is explained, and Davis adds at least one reference text for almost every principle. In summary, the content of this book is not very original but it remains a valid and comprehensive overview of good software engineering practices. That remains true, even after more than 20 years!

PS. I already wrote earlier posts on the subject of software engineering principles, e.g. in May 2015

Read Full Post »

I just love this code, because I think program code should be readable by humans first and foremost :

describe( "Jasmine", function() {
   it( "makes testing JavaScript awesome!", function() {
      expect( yourCode ).toBeLotsBetter();
   } );
} );

In the words of the project: “Jasmine is a behavior-driven development framework for testing your JavaScript code“. Testing your code, in whatever language you write it, is always important. JavaScript can be very tricky if you don’t know all the finesses of the language, and that makes good frameworks – for development as well as for testing – so important for JavaScript developers.

Read Full Post »

Competition Or Synergy? More or less by accident I stumbled upon an article detailing CFUnit. Now, I have been using CFCUnit for almost two years, so you can imagine my surprise when I discovered, long after a cursory reading of the article on the train, that these are actually two different tools with the same objective and a slightly different name! I’ll be looking into the new contender, since: 1) CFCUnit hasn’t been updated since quite some time now, and 2) the newcomer also sports CFUnit-Ant, which is a tool to integrate the running of tests into Eclipse and CFEclipse – and that happens to be my editing environment.

(Technorati Tags: )

Read Full Post »