• Home
  • RSS Feed
  • Log in

Archive for the ‘Testing’ Category


Middleware integration testing with JUnit, Maven and VMware, part 2 (of 3)
Posted by Vincent Partington at around evening time: December 14th, 2009

Last week I wrote about the approach we use at XebiaLabs to test the integrations with the different middleware products our Java EE deployment automation product Deployit supports.

The blog finished with the promise that I would discuss how to test that an application can really use the configurations that our middleware integrations (a.k.a. steps) create. But before we delve into that, let us first answer the question as to why we need this. If the code can configure a datasource without the application server, it must be OK for an application to use it, right? Well, not always. While WebSphere and WebLogic contain some functionality to test the connection to the database and thereby verify whether the datasource has been configured correctly, this functionality is not available for other configurations such as JMS settings. And JBoss has no such functionality at all. So the question is: how can we prove that an application can really work with the configurations created by our steps?
(more…)

Share

Tags: Maven, TDD
Filed under Deployment, Java, Middleware, Testing, Virtualization, Xebia Labs | No Comments »


Middleware integration testing with JUnit, Maven and VMware, part 1 (of 3)
Posted by Vincent Partington at around evening time: December 7th, 2009

For Deployit, XebiaLabs’ automated deployment product for Java EE applications, we are always building and modifying integrations with middleware systems such as IBM WebSphere, Oracle WebLogic and the JBoss application server. These integrations are small enough so that they can be rearranged to get many different deployment scenarios. A typical step, as we call these integrations, would be “Create WebSphere datasource” or “Restart WebLogic Server”. So how do the test that code?

We’ve had some success using FitNesse and VMware to do integration tests on our deployment scenarios. But there were a few problems with this apporach:

  • We could only test complete deployment scenarios in this way. If we wanted to test just a single step, we had to make a deployment scenario that used that step just to be able to test it.
  • Because FitNesse does not provide any feedback while a test is running and the steps, let alone the deployment scenarios, can sometimes take a while to execute, there was little feedback on the progress.
  • While it is possible to debug a FitNesse Fixture using Eclipse the process is not very convenient when debugging a technical component such as this step.
  • To verify that a deployment scenario has executed succesfully we had to extend our FitNesse Fixture often. And while debugging code under test in FitNesse is complicated enough, debugging a Fixture is even harder!

Clearly we needed a different approach if we wanted to develop new steps easily.
(more…)

Share

Tags: Maven, TDD, websphere
Filed under Deployment, Java, Middleware, Testing, Virtualization, Xebia Labs | 3 Comments »


Mocking the ‘unmockable’: too much of a good thing?
Posted by Andrew Phillips mid-morning: December 6th, 2009

Static calls, final classes, objects created in test code: there are few things some of the current mocking frameworks cannot handle. Using powerful approaches like bytecode instrumentation or custom class loaders, these libraries make code that was previously a ‘no go’ area amenable to unit testing. This, moreover, in an elegant and convenient manner that will feel familiar to developers used to ‘standard’ mocking frameworks.
The question is: does such power perhaps come with hidden dangers? Might it be possible that the ability to test more could actually result in less code quality?
(more…)

Share

Tags: mocking, TDD, testability
Filed under Java, Testing | 5 Comments »


Testing the testers: code samples from a TDD framework comparison
Posted by Andrew Phillips around lunchtime: November 26th, 2009

Some while back I was preparing a presentation on mocking and testing frameworks for Java. As part of the aim was to demonstrate some real, running code, I ended up spending quite some time copying, pasting, extending and correcting various examples gleaned from readmes, Javadoc, Wiki pages and blog posts. Since then, this codebase has been extended with various new features I’ve come across, and I’ve often referred to it for experiments, as a helpful reference, and suchlike.

I imagine this kind of “live” reference could also be useful to others, so I thought I’d share it. (more…)

Share

Tags: Frameworks, TDD
Filed under Java, Testing | 13 Comments »


Paired Testing
Posted by Aman Arora just before lunchtime: September 30th, 2009

Nowadays paired programming concept is getting more and more common in the IT industry because of its benefits like design quality, overcoming difficult problems and better time management etc. Similarly a new concept of Paired Testing is getting famous now among the testers who are working in an agile environment. This concept of testing is similar to paired programming approach. In this approach the person doing the testing is called the driver while the other suggests ideas or tests, pays attention and takes notes, listens, asks questions, grabs reference material, observes or reviews etc.
(more…)

Share

Filed under Testing | 2 Comments »


Bug Report that will help developers and testers alike.
Posted by Aman Arora around lunchtime: August 27th, 2009

I joined Xebia India as a tester for one of the project. While validating the defects the biggest problem that I faced was regarding the understanding of defect report and trying to reproduce the said problem when there were no steps. Being a new member to the team and joining the application in between the sprints added to it. Every time when I had to validate the defect and steps to reproduce were not there I had to run to the developer for their help. Developers too were tied up with their own tight schedules and sometimes the validation for the defect had to wait for sometime which created a backlog for me and then I thought to come up with the solution to it which I am discussing below. Using the following approach helped us and can help all.
(more…)

Share

Filed under Architecture, Testing | 2 Comments »

Mischa Dasberg

Testing Wicket AjaxBehavior
Posted by Mischa Dasberg at around evening time: August 25th, 2009

Last week I ran into a problem while testing AjaxBehavior in Wicket.

Consider the following scenario: we have a FormComponent which has an AjaxBehavior added to it. We want to test that behavior. Depending on the selected value of for instance a RadioChoice, the Ajaxbehavior should show one component and hide another.

You would think that this would be out of the box behavior when using WicketTester, but unfortunately this is not the case. Triggering an Ajaxbehavior is easy using WicketTester, but setting the selected value isn’t. (more…)

Share

Tags: Ajax, Wicket
Filed under Java, Testing | 2 Comments »


Web performance in seven steps; Step 4: Test continuously
Posted by Jeroen Borgers at around evening time: July 22nd, 2009

Last time I blogged about the importance of representative performance testing. Having production-like properties for hardware, OS, JVM, app server, database, external systems and simulated user load are essential to prevent bad performance surprises when going live. In addition, I described how cloud computing can be utilized to generate high loads on-demand without having to worry about the infrastructure.

Continuous performance testing
With a representative test as one of the last steps before going live we prevent that expensive bad-performance surprises will pop up in production. However, the same surprises will pop-up, only earlier and with less impact. To save costs and prevent large architectural refactoring, it is crucial to test for performance as soon as possible. This is just like any other software defects and Quality Assurance: the later in the development process defects are detected, the more costly these defects are.

At a popular web shop I had the following challenge: (more…)

Share

Tags: Java, Performance, Quality Assurance
Filed under Agile, Architecture, Java, Performance, Quality Assurance, Testing | No Comments »


Testing Annotation Processors
Posted by Andrew Phillips in the early evening: July 21st, 2009

Recently, I was writing an Annotation Processor for the @Composite project. In good TDD fashion, that first and foremost meant writing some tests.

Although I in the end come across something that was fairly workable, it was trickier than one might have hoped for.

(more…)

Share

Tags: annotation processor, Java, model api, Testing
Filed under Java, Testing | 3 Comments »


JPA implementation patterns: Testing
Posted by Vincent Partington around lunchtime: July 11th, 2009

In the previous blog in the JPA implementation patterns series, I talked about the three default ways of mapping inheritance hierarchies using JPA. And introduced one non-standard but quite useful method. This week I will discuss various approaches to testing JPA code.

What to test?

The first question to ask is: what code do we want to test? Two kinds of objects are involved when we talk about JPA: domain objects and data access objects (DAO’s). In theory your domain objects are not tied to JPA (they’re POJO’s, right?), so you can test their functionality without a JPA provider. Nothing interesting to discuss about that here. But in practice your domain objects will at least be annotated with JPA annotations and might also include some code to manage bidirectional associations (lazily), primary keys, or serialized objects. Now things are becoming more interesting…
(more…)

Share

Tags: fitnesse, JPA, JPA implementation patterns, Spring
Filed under Java, JPA, JPA Implementation Patterns, Testing | 6 Comments »

← Older posts
Newer posts →

Xebia Sites

  • Xebia Corporate
  • Xebia France
  • Xebia India
  • Xebia Sweden

Categories

  • Java (311)
  • Agile (181)
  • General (136)
  • Scrum (67)
  • Architecture (64)
  • Testing (59)
  • Performance (46)
  • Middleware (56)
    • Deployment (38)
  • Xebia Labs (39)
  • SOA (31)
  • Podcast (31)
  • Project Management (28)
  • Tools (26)
  • Uncategorized (20)
  • lean architecture (20)
  • Quality Assurance (17)
  • Articles (13)
  • Requirements Management (13)
  • Virtualization (19)

Tag Cloud

    lean architectuur Agile JPA implementation patterns TDD Flex Groovy Architecture Concurrency Control Scrum Moving to India Lean Scala ACT lean architecture Grails Java Oracle Eclipse Spring Frameworks product owner SOA Ajax JPA Javascript Maven Xebia Hibernate XML agile architectuur

Archives

  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
Avatars by Sterling Adventures