Few days ago we had SugarLoafPlop 2012 in Natal - RN
It is a conference on pattern languages of programming. About six months ago I saw a tweet by Eduardo Guerra asking if anyone had some cases where certain patterns were applied. It was a big coincidence, since I was working on Apache Commons Functor and some Jenkins plugins, both projects with cases that could be used in his paper.
So I joined Guerra and gave my small contribution to the paper that has been accepted for this edition of SugarLoafPlop. Guerra also went there to give a talk and participate in an open discussion about several papers, including ours.
I simply love when these things happen, it was great work with Guerra, and even better for being able to use Open Source examples in our paper.
This is my first article for a Brazilian magazine! :-D It was published in this month’s issue of MundoJ magazine (previously called MundoJava).
In this article Cesar Fernandes de Almeida, Anderson dos Santos and I discuss how to make your Java tests output TAP (Test Anything Protocol) Streams. This test protocol has been used by Perl developers since Perl’s first version (1983~) but hasn’t been used by many Java developers yet, unfortunately. We hope it incentives other Java developers to use TAP for their tests. There is an alternative to TAP too, SubUnit, which was pointed out for me by Robert Collins in the Jenkins dev-list few weeks ago. Now I am preparing a comparison between TAP and SubUnit as an analysis before developing a plug-in for Jenkins to show detailed test results (such as exception, images, raw test, error line, etc).
Throughout the article we explain how to use tap4j to generate TAP Streams with TestNG, however it is possible to use the same approach to generate TAP Streams with JUnit.
Now I will translate the article to send it to Patrick LeBoutillier, who contributed to this article answering patiently my questions by mail and writing metatap, a utility that lets you check if a TAP Stream is valid, according to the program parameters. This utility is being used in tap4j for integration tests between Perl and Java.
Unfortunately I’m not allowed to redistribute the article, not even an English version of it :-(
How To Automate Tests Using Testlink And Hudson
- Belgium Testing Days 2011
- Where ?
- Brussels, Belgium
- When ?
Since September I’ve been working on a project to integrate TestLink and Hudson. The project consists basically in a Hudson Plug-in that uses TestLink Java API to retrieve information of Automated Test Cases created in TestLink. You can read more about the plug-in in the following address: http://wiki.hudson-ci.org/display/HUDSON/TestLink+Plugin.
I wrote an article in conjunction with Anderson dos Santos about this Plug-in. The article was published by Testing Experience in its December issue. The issue’s topic is Open Source Tools. You can download the whole magazine from Testing Experience website (I highly recommend downloading the magazine, there are some great articles there!).
Since we wrote the article we changed only the way we parsed the test reports. Instead of parsing only TAP report files, we decided implement TAP, JUnit and TestNG parsers. In the future we plan adding more parsers to others *nits and Selenium report files.
The plug-in is being used to automate acceptance tests in a CRM system that was developed by Sysmap Solutions. I will write about the automation process, experiences learned and mistakes to be avoided in future projects as soon as we finish writing the automated tests and setting up the Selenium Farm.
In the following days I’ll be writing more tutorials, guides and recording some video tutorials. In February of the next year this automation solution will be presented in the Belgium Testing Days event.
I wrote an article about a quality analysis job done for a client of Sysmap Solutions and it was published by TestingExperience Magazine on its issue of September, number 11.
You can check the full article in TestingExperience site. It is available in PDF format for members, the registration if free though.