Author Archive

Java in the hands of OracleApril 5th, 2011

With Oracle acquiring Sun in April 2009, it also took control of Java’s future. Everyone agreed Java technology was more or less stalling before this buyout happened, however knowing differences between the cultures at Sun and Oracle, many people (analysts and developers especially) realized that for better or worse, the agreement would have massive consequences for the whole ecosystem.

This new era in Java ‘s history began badly, with Java creator James Gosling leaving the company in September 2009, followed by JRuby and Hudson creators amongst many others.  The problems continued, with the Apache Software Foundation leaving the Java Community Process, the underlying entity leading evolution and certification of Java. For developers like me who are daily users of Apache’s tools and libraries, this was not good news. Not to mention recent lawsuits against Google concerning the Android ecosystem…

Fortunately it is not all gloom and doom : Oracle made some important decisions since they abandoned uncertain technologies such as JavaFX Script and finally adopted a plan for the next release of the programming language. Many predicted the fall of the Java ecosystem last year, but it seems to me that there are far fewer voices expressing such opinions as of late, as TIOBE confirmed Java is still the most popular programming language.


TIOBE Programming Community Index


It is interesting to wonder what might have happened had Java been less popular, although for now it looks like the Java community is strong and is set for a brighter future… at least I hope so!

Testing with Eviware SOAP UINovember 5th, 2009

SOAP UI Logo

Web services are more and more used for Java projects, especially since the popularity and the ease of use of frameworks such as Axis, CXF has quickly increased over the last few years. Native support in application servers for specifications like JAX-WS has also greatly encouraged developers and architects to use those technologies in their Things get problematic when you begin to use and test those services and/or when you need to mock them. Enters SOAP UI. This is a free graphical tool created by eviware : it’s basically a Java Swing application but it is also available as an Eclipse or Netbeans plugin.

SOAP UI let you use and test your Web services :

  • You can easily create and run test suites and test cases « a la JUNIT ». Those tests can range  from very simple to very advanced with complex assertions and included groovy scripts.
  • You can also easily do load testing to make sure your services performances are acceptable in the real world.

More interesting, SOAP UI lets you easily mock a Web service from a given WSDL. You can setup your mock to make it react as you wish and when it’s ready you can directly run it from SOAP UI. Finally SOAP UI can also generate client and implementation for JAX-WS, Axis, XFire, JBoss WS and many more frameworks.

There is also a commercial version, SOAP UI Pro, which offers advanced features like form designer or datasource integration for testcases. More information on http://www.soapui.org

Flex UI testing with RanorexOctober 22nd, 2009

Adobe Flex technology is getting more and more popular, and  we have started to build even quite complicated applications using Flex. However, the UI behaviour in Flex  is generally more complex than in HTML/JS/CSS and we quickly realized that we needed a testing tool which could record and replay user actions sequences to help us detect UI issues.

Looking around for testing tools, we came across some open source frameworks  such as FlexMonkey and SeleniumFlex. We also tested the following commercial tools :

  • HP QTP
  • IBM Rational Functional Tester
  • Borland SilkTest
  • RIATest
  • TestComplete

Unfortunately, most of the time, we were quite disappointed with those products because of poor documentation and insufficient user actions record/replay support:  During  one of our tests, we discovered that certain user actions, such as contextual menu selection or drap & drop actions, were not correctly detected or, even worse, were not working anymore.

One of the issues with these tools is probably that they use common techniques and/or underlying frameworks to automate Flex applications, such as External Interface, Microsoft Active Accessibility or Flex Automation … moreover, you should note that using Flex Automation SWCs files requires a Flex Builder license.

Enter Ranorex (http://www.ranorex.com), which, since its lastest version, can also automate Flex applications. Ranorex provides its own automation framework and therefore does not rely on Flex Automation.

We were able to quickly use it to record everything from from simple to complex testcases,  fine-tune and run them. Components are identified by an Xpath like dialect (RanorexXpath), which is automatically written for you when recording or when using the Ranorex Spy tool : this makes writing test script a lot easier. There are also interesting features such as imaging comparison, user friendly test reports or test script debugging and much more.

Scripts tests are actually .Net executables writtent in C# or VB.Net and Ranorex Studio IDE is based on SharpDevelop, a open source .Net IDE . It means using this tool requires some basic knowledge of .Net, which can discourage some people. On the other side, writing script tests on a .Net architecture makes it  possible to use specific .Net features or 3rd party libraries to integrate with NUnit or Microsoft Products like Visual Studio or Excel.