Posts tagged maven

Automatic testing Oracle Service Bus using Hudson, maven and SoapUI

A lot of current projects are implementing some sort of service based architecture. Testing in this architecture becomes more complex. When implementing an OSB project with Scrum you test-automation is imperative. Scrum will require more frequent testing of your system. This is only feasible (in time and money) when you automate as much as possible.
 
Using soapUI you are able to create visually SOAP tests on your OSB implementation and running them against the defined infrastructure (develop, test, acceptance).  SoapUI enables with easy tools to implements verification and validation of the responses of your OSB implementation. When running the test you are also able to set limits in SLA response times on all the calls. This way you are able to monitor depreciation of performance in older parts of your OSB implementation when adding new services.
 
You can record and edit your SOAP test easy with the soapUI interface and edit it later. When you maven-enable your project it is quite easy running your tests when you implement the “maven-soapui-plugin” (see my other posting http://technology.amis.nl/blog/3061/automated-soap-testing-with-maven).  In the meantime version 3.0 of this plugin is released.
When implementing this with Hudson you do not have to convert the results.xml into a Surefire report. Hudson will manage this for you. Hudson will also enable you with an historical overview of all your test results.

OOW 2009 – And they call that a “patch set”? Marvels coming up in ADF 11gR1 PS 1

 

Last Friday I attended a product briefing at Oracle HQ that prepared me for today’s Oracle Open World 2009 keynote presentation by Ted Farrell on development tools and middleware. Oracle will soon (some time November?) release what it calls Patch Set 1 for the Fusion Middleware 11g stack and this article goes into the new bits and pieces that we will see coming up in JDeveloper 11g and ADF 11g. Which clearly demonstrates that ‘patch set’ is misnomer of sorts. Sure enough, there will patches – fixes for bugs – in this release, but the list of new functionality and features (Duncan Mills boasted about 550+ new features) make it clear that there is much more to it than just patches. I was more than a little (pleasantly) surprised with this list. Let me share some of the details- and unfortunately I cannot demonstrate anything at this point as the software is not yet available.

Some of the common themes that link the new elements together include developer productivity (and fun), team productivity, end user experience and best practices. And of course filling some of the holes that existed in the previous releases – in terms of things not working and also obvious things simply not there or not implemented consistently.

Read the rest of this entry »

Automated SOAP testing with maven and the SoapUI plugin

Currently there are few tools that can support testing SOAP interfaces. Both Jmeter and SoapUI are suited for testing soap interfaces. SoapUI is explicitly created for testing SOAP interfaces and Jmeter has a SOAP support since version 2.3.x. I have worked with both tools and I prefer SoapUI. It has an intuitive user interface and is flexible. (Please also have a look at the blog of Jeroen)

You can run SoapUI stand alone but I prefer to integrate these kinds of tools with an automated process. Below you will find instructions for running SoapUI as a part of a maven build. This makes it possible to run your automated SOAP tests in Maven with a build process like continuum. Combined with automatic deployment it is possible to support an agile software development process that supports frequent delivery of versions and continuous testing.

Maven supports SoapUI with the Maven SoapUI plugin. Read the rest of this entry »

Maven based configuration management with automatic build number

An important questions in software deployment and testing is “What is the version of the software I am looking at”. It is frustrating for a tester or an end user not knowing if the planned upgrade is performed or not. Having a solid version numbering policy is a solution to overcome these problems.

There are several places where you want to have the version number of your software available:
-    visible for the end user on the login screen.
-    visible in the software distribution package (war / ear) for the deployment operator.
-    visible in configuration files.
-    and even visible in the deployed online manual.

The task of proper version numbering can be performed manually. This takes a solid knowledge of all places where this number is used and a good deal of perseverance when performing these repeating actions.
In a project under development, using an agile development method, there will be frequent builds and releases (daily or even hourly). This asks for automated build numbering. When using maven and subversion, this task can be automated with the maven buildnumber plugin.

Read the rest of this entry »

Maven JMeter plugin and report generation (the last steps to get it working)

JMeter (http://jakarta.apache.org/jmeter/)is a powerful tool for functional and performance testing web applications. JMeter, opposed to selenium, also works perfectly on generated applications (like Oracle ADF ). One of the key strengths of JMeter is the automation. The same test can be repeated after each (minor) release. This is a great help in executing time consuming regression testing.

We use Maven 2 (http://maven.apache.org/) in combination with Continuum (http://maven.apache.org/continuum/) as the basis of our AMIS-SoftwareStudio. With the build schema in Continuum we are able to execute both performance and functional regression testing every night (or even each hour if you like) on the most recent version of the application from our source repository.

The documentation on the JMeter wiki (http://wiki.apache.org/jakarta-jmeter/JMeterMavenPlugin) is to limited to get the JMeter plugin working at once. It does not handle the generation of reports and installing the plugin into your company repository. Most of the samples on the internet (use the Google to find Maven 2+JMeter) are based on extensive Ant scripts. The sample below shows how to get the Maven-JMeter-Plugin working in Maven2 with a minimum of extra code in your projects pom.xml.

Read the rest of this entry »