June 25, 2011

SWTBot @ Eclipse Party Toulouse

Eclipse Indigo is here !

If you come back from vacation, or dot not follow Eclipse community on a daily basis, you may have missed that once more, the eclipse annual release train has been shipped on time.

To celebrate the event, Toulibre organized last thursday an eclipse party with several talks and a great attendance. This was a great opportunity to give a presentation about a tool I am working on.

 SWTBot is a small open-source tool, dedicated to functional tests. It focuses on helping writing easily UI tests with a nice API.

  Developers are aware of unit tests, TDD is now a common practice and uncle bob converts each day developers to clean coders and craftsmen. But focusing on internal quality is not sufficient.

  Functional tests enables one to ensure that your application works as expected from an end user point of view. When you do not have a tooling to automate these tests, you should run them manually, which is time consuming. If you should release often, it will be costly, and if you have a limited budget, you will release less often. In others terms, due to budget restrictions or due to the necessity to meet deadlines, this is often the manual quality tests which will be dropped.

  SWTBot API wraps each SWT widget. It hides synchronization with the UI thread through a fluent interface, making tests very readable.

SWTBot provides matchers (thanks to hamcrest) to find easily controls and conditions to write robust tests, independent of the execution context.

  One great small unknown feature of SWTBot is that it will take a screenshot each time a test failed, this will give you clues to find what went wrong.

  You will find a lot of information on SWTBot on its wiki page. But if you hesistate to have a look to this technology, fear of losing time in configuration and information seeking, follow this tutorial and in 5 minutes you will have written your first test.