Posts tagged with ‘software quality’

Article about TestLink and Hudson integration published

kinow @ Dec 10, 2010 10:52:22

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.


Automating tests with Hudson and TestLink (pt-BR only)

kinow @ Nov 28, 2010 13:35:19

Slides used at Encontro Ágil 2010. As soon as I finish the plug-in 2.0 version I’ll upload a video with a sample demo too.

Automatizando Testes Com Hudson e TestLink by brunodepaulak


Encontro Ágil 2010 - Lighting talk about Test Automation with TestLink and Hudson

kinow @ Nov 02, 2010 11:45:09

On November 6th (next Saturday) Anderson Santos and I will present a Test Automation solution built on TestLink and Hudson at Encontro Ágil 2010. This meeting is for intended for the Agile community and will be hold at IME-USP (Instituto de Matemática e Estatística - Universidade de Sáo Paulo).

In our demonstration we will be using TestLink 1.9 HEAD version, Hudson 1.366 and TestLink Hudson Plug-in 2.0-SNAPSHOT. This TestLink Hudson Plug-in version is still not released as we are finishing to code the integration between the plug-in and TAP through tap4j, an implementation of TAP - Test Anything Protocol.

What is nice about this solution is that we aren’t trying to use TestLink as an Automation Tool. But yes, as a Test Management Tool (what TestLink is by nature). And the choice of the Test Execution Tool is up to you, as long as you generate TAP Stream (basically, files containing a log of tests executed). We only enable you to have these tests updated on your TestLink installation, this way you can plan a Test Cycle with both Manual and Automated Tests in one single tool.

And lastly but not less important, this week Testing Experience Magazine accepted a proposal of article for the next issue on Open Source Tools about this solution. So we are working very hard to release TestLink Hudson Plug-in new version and spread this Test Automation Solution through the Testing/Quality community.


tap4j - A new TAP implementation in Java

kinow @ Oct 12, 2010 09:45:49

A month ago I started a project to help me in my new version of the TestLink Hudson plug-in. The plugin now relies heavily on Apache Maven for test execution. After reading a post on TestLink forum about an automation done using TAP, I googled to learn what that acronym stood for.

TAP is the abbreviation of Test Anything Protocol.It is a protocol to produce information about test execution and used mainly by the Perl community. For instance, you can test your system using PHPUnit, JUnit, Selenium or even a C class and produce what they call a TAP Stream. This stream’s content is like follows:

TAP version 13
ok 1 Test 1
ok 2

The text above tells us that we are using the version 13 of TAP. That we have 2 tests (1..‘2’) and that both tests were executed without errors. TAP is a human readable text that can be interpreted by a software for audit, report or whatever. Another tool can then parse this TAP Stream and prepare Reports, update Database among other uses (this is what TestLink Hudson plug-in is going to do on its new version ;-).

tap4j is a simple Java implementation of the TAP protocol (sorry to repeat the protocol part of the acronym right after it, but sounds cool :-). The project is built with Java 1.5 and Maven and hosted on SourceForge. The artifacts are published on Maven Central Repository but the jar is also uploaded into SourceForge. Up to now the project has only two members. Apart from me, there is César Fernandes Almeida, a friend from university that is helping me with the ideas, tests and code. But we really need more help, specially from people that know Perl (Harness, Simple, etc) to help us make integration tests using TAP Streams generated by these tools.

The 1.0 version supports Header, Plan, Footer, Test Results, Comments and Bail Out expressions. All these supported elements can be retrieved through the API, even the comments list. Any invalid text is ignored but you can also retrieve this information using the API.

We are already working on a new version, 1.1. This version will support YAML diagnostics, letting you put a whole Exception stack trace on your TAP Stream. Nice uhn? Check how YAML looks like.

file:  foo.t
line:  45
description: an important test
found: this
wanted: that
raw_test: is( "this", "that", "an important test" );
    THAC0: 16


New version of CCM Hudson Plugin released

kinow @ Sep 28, 2010 08:55:53

Yesterday I released a new version of CCM Hudson Plugin. In this version, 1.0.1, there are two bugs fixed (7522 and 7531). For a more detailed background on these two issues check out Hudson JIRA.

Both bugs were reported by Sven Borman. The first BUG referred to a problem executing CCM Hudson Plugin in distributed environments. Although I’ve read the documentation for making plugins behave in distributed environments I forgot to use the Callable interfaces to execute some parts of the code in the Slave and then serialize the result back to the master node.

And the latter BUG was a problem executing the command in a Windows 2003 environment. In the beginning I thought there would be something wrong in the BUG description. Bug after setting up a Virtual Machine with Windows 2003 I noticed that the command without double quotes didn’t work correctly in the Windows 2003. Although it worked in Windows XP, Vista and Windows 7.

Nice catch Sven! Cheers.