Faça seus Testes Falarem TAP (Make your Tests Speak TAP) article published in MundoJ, issue 47, March/April 2011

kinow @ May 23, 2011 19:19:04 ()

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 :-(

Cheers :)

Belgium Testing Days 2011 Pictures

kinow @ Mar 25, 2011 13:46:19 ()

Here are some pictures of the event. The presentation is available in http://www.belgiumtestingdays.com.

(Sorry, after migrating the server I lost some pictures. Will upload it again soon!)


TestLink and Hudson (now Jenkins) short tutorial in Automated Software Testing Magazine, issue March 2011

kinow @ Mar 22, 2011 22:16:56 ()

Hi there, a new article about TestLink and Hudson (now Jenkins) was published, now in Automated Software Testing Magazine, issue March 2011. In this article you will find a short tutorial to set up a TestNG test and a simple Job to execute your automated tests.

Now we are writing a docbook document to explain with more details how the plug-in works and how you can play with it. We are also working in more samples, translation and video demos. Release 2.2 was planned for last Friday but I missed the date to add a new feature: TestLink platforms, this is the last known limitation in the plug-in.

Cheers :-)

Discussing the flexibility of TAP to cover information generated by TestNG

kinow @ Mar 20, 2011 03:34:05 ()

In today’s post I am expanding the previous one regarding the use of TAP with TestNG. Let’s discuss about the flexibility of TAP to cover information generated by TestNG, more specifically:

  • Expected Exceptions
  • Data Providers
  • Groups
  • Tests that get skipped
  • Dependencies

We will be addressing these bullet points using tap4j, a TAP implementation for Java. The integration between TAP and TestNG is done through the use of TestNG Listeners developed in tap4j project (a big thanks here to Cesar Fernandes de Almeida for all his help).

There are two listeners in tap4j, br.eti.kinoshita.tap4j.ext.testng.TestTAPReporter and br.eti.kinoshita.tap4j.ext.testng.SuiteTAPReporter. The first was created based on org.testng.reporters.TestHTMLReporter and the latter was created based on org.testng.reporters.SuiteHTMLReporter.

In this figure you have testing tools as TAP producers (left) and different types of applications as consumers (right)

( Read more ... )

Getting the maximum from TestNG with TAP

kinow @ Mar 10, 2011 01:24:38 ()

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
ok 1 Test 1
not ok 2 Missing test parameter: url

( Read more ... )