Posts about technology and arts.
Strangely enough, today I decided start to write about TAP (Test Anything Protocol) and received a mail from a Linkedin Group with a white paper about data integration in information systems. Well, let me first explain what is TAP, or Test Anything Protocol. This protocol was created in the beginning of Perl to log test results and is still being used by Perl and other languages (PHPUnit can output TAP too, for instance).
Now, if you already know about TAP and YAML, or if you are like me and like trying things out before reading a long text, then go to the hands on part of this post.
An output in TAP, or a TAP stream, is written in pure text in a human readable way. Like follows:
TAP version 13 1..2 ok 1 Test 1 not ok 2 Missing test parameter: url
Slides used at Belgium Testing Days 2011: Manage automated tests with TestLink and Hudson/Jenkins
How To Automate Tests Using Testlink And Hudson
Today I talked to two QA Engineers about code coverage and we all agreed that code coverage helps, but is not enough. And by coincidence today I had to fix a bug in tap4j that reminded me the same thing. My cobertura (the coverage tool that I was using at moment) report said that my code was covered by my tests. However there was a bug in the covered code.
If you are curious about the code you can see this issue here. However if you really would like to know more about code coverage, I suggest you to read this fantastic article written by Brian Marick in 99 with the title “How to misuse code coverage”.
I will finish this post now quoting him:
“(…) they (code coverage tools) are only helpful if they’re used to enhance thought, not to replace it”
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.