Wednesday, November 23, 2005

EMMA - Code Coverage

A free Java Code Coverage Tool

Recently I have used EMMA and I have been completely satisfied with the results it provided. Before I started working, I have also tried out the Borland code coverage tool from the Optimizeit enterprise suite, but the tools differ from each other, as well as the reports which are generated. I find the EMMA report easier to overview, and more user friendly. Plus it is free. I guess it can take a little time until you get familiar with it, but it is worth the effort.

"EMMA distinguishes itself from other tools by going after a unique feature combination: support for large-scale enterprise software development while keeping individual developer's work fast and iterative ... " as the "Borland Optimizeit Code Coverage gives developers the confidence that their code is ready to deploy when performance checks are run during development". (Sources: EMMA, Optimizeit.)

Here you can check out two sample coverage reports:
Both tools have the advantage that they can be integrated with Eclipse IDE. Though EMMA does not have a plugin for Eclipse, the way to use it from Eclipse is adding EMMA tasks to your ANT build. You can read the step by step instructions here. Like this you are enabled to run an application from ANT "so that coverage instrumentation is performed on-the-fly, as the classes are loaded by the JVM", and then the same process is repeated by breaking it into distinct instrumentation/execution/reporting steps. What I particularly like about EMMA is the option of separating instrumentation and execution (Offline mode). This is useful when there is a necessity of collecting and merging coverage data from multiple execution runs and multiple JVM processes.

Lance Finney has found EMMA to be a winner-tool: "Emma uses an interesting approach to defining coverage that often results in lines being only partially covered. For example, lines with ternary operators with only one branch executed will show as partially executed".

Technorati tags: code coverage, Emma code coverage, Ant.

Friday, October 14, 2005

Google - Future is Nearby

I just had this thought: when you want to find more information on a person, on a concept, on a book or even on some corporation, I guess how you would start your quest would be is you startup a browser and you type in all the address, or just some letters, or with some special key combination you get it in front of you: the Google search engine. It is not unusual to use other engines, but I think Google is preferred to others by most of us.
And what if you want - suppose in the nearby future - to find some information on Google itself. Information on their history, on the services they offer, on the projects they are involved in. Which engine will you use to execute your search? I just think it is rather interesting to search on Google with Google. I guess you don't think you will have to.
I see Google growing and offering more and more web services. And there is no sign to show the opposite. Don't forget, we already can have our own personalized Google homepages.
Nevertheless, futuristic ideas already exist on Google, as well the sketch of their homepage. Ckeck it out.

Technorati tags: Google.

Thursday, October 13, 2005

Ruby and Eclipse

Recently I have heard only good things about Ruby. You know Ruby, right? Just in case, you can check what Ruby exactly is. In two small words I can say that Ruby is both a simple and a powerful language.
If you may want to learn more about Ruby, I think you should start in one of these places: http://www.ruby-lang.org or http://www.rubygarden.org.

And as it always gets nicer, you can also develop web applications in a web application framework written in the Ruby programming language. This web application framework is Ruby on Rails. As is the language, so is the framework: it tries to be as simple as it can get and unlike other frameworks, it allows real-world applications to be developed in less code - from scratch - and with minimal configuration.
I came across a site which helps you set up a Rails Development Environment on Windows using Eclipse. The site gives you help in various aspects: getting Ruby, configuring Eclipse for Rails, help with several tools and plugins, even debugging and troubleshooting. And the site will be updated with other interesting features.


Do remember the creator of Ruby: Yukihiro Matsumoto, whose intent was to maximize the joy of programming.

Technorati tags: Eclipse, Ruby, Ruby on Rails.

Wednesday, October 05, 2005

EclipseCon 2006

Being an Eclipse user, I would also like to promote EclipseCon 2006: the next technical and user conference focusing on the power of the Eclipse platform.
I believe many of you will attend, and have an extraordinary experience.
I do wish I could also be present.

Technorati tags: Eclipse.

Monday, September 26, 2005

Guest map - Google map

I guess it is no surprise how you can navigate around the world with the Google Maps.

Recently I have bumped into an interesting use of the Google Maps, namely the Guestmap which can rather give you an idea where may be located the persons on the globe who may read your blogs.

You can find my GuestMap following
the link.

Technorati tags: Google Map, Guest Map.

Friday, September 23, 2005

About Unit Tests

Recently I have written many tests to make sure the functionalities I have implemented were running okay. I wanted to test small parts of my code if they are doing what they were supposed to do: these tests are called by most of us unit tests. When you test a stand-alone component from the outside, meaning you don't explicitly use knowledge of the internal structure, you are using the "black-box" design technique. In this case you may call your tests component tests.

Michael Feathers wrote an article about unit testing rules and has tried to pull a line between the real unit tests and the tests that are not unit tests. In my opinion, unit tests should avoid talking to a database, communicating across network, etc. However, when you write tests that do this, so the unit-test-concept should not be violated, you may name your tests with the purpose of their creation: component tests, integration tests, performance tests, etc.

Unit tests should always run fast whenever we re-test our code - in this point I totally agree with Michael Feathers .

Technorati tags: Eclipse, Unit-test.

Tuesday, September 13, 2005

Eclipse IDE

The IDE I use makes it really easy to develop applications. I am sure that there are others, too, who have already tried it out and sticked to it.
And on top of all, it is free-quality-software. I am most definitely convinced that the open-source community is proud to own such tools.

A little bit about the creation of the IDE: "The Culture of Shipping", the development process that is used to deliver Eclipse is really thought as to create a quality product and to build a community around the product.

Depending on what you are up to, you have many options in tunning it up with plugins that will help you in the development process, besides the great built-in features it has.

Nevertheless, using it to develop enterprise applications with an application server like JBoss, which I don't need to say, open-source as well, enables you to develop quality products, and fulfill the future requirements of todays applications. And getting so far, you can always use Eclipse to debug remotely your application, while you get into a bug.

Technorati tags: Eclipse, JBoss.

Monday, August 22, 2005

Start-off

Well, the name of my blog-page gave me a little headache, hope the thoughts and the experiences I shall share will be easier to edit and helpful to lots of us.