Image Management Best Practices

I am the automation lead. I am just starting to build out an Eggplant framework. The question I have is what is the best practices for image management. I as well as the 2 members of my team will be writing Eggplant libraries and Eggplant scripts. And then test team member will likely be using those Eggplant libraries to create some of their own Eggplant scripts. It just seems to me that image management could get really ugly really quickly. Since ever time you basically “do” something (i.e. click on something or validate information) you have to either 1- create a new image or 2- use an already created image. Obviously creating new images every time has drawbacks… the number of images could get to be a big problem. But using already created images has drawbacks as well, i.e. trying to find the right image to use.

I just wondered if anyone had dealt with this problem well and what some of the best practices would be.


My target app had an interface that would change depending on the system it was communicating with, so I used a configuration script that would point ep to the correct image based on a change to the image path by way of a variable in the image name. Planning is brutally important here. You can ferret out some examples of setting images based on detected OS to get an idea of the framework you can employ to accomplish the task at hand, but the first task as always is the plan. Likely still applies, I learned test, then code as the mantra.

The last thing you want to do is end up in image management sludge, that can easily double or triple your test timeline.

The way we do things over here at MM currently, mind you we’ve gone through a couple of iterations of managing images, is that we have a suite for each OS we support. That suite only contains images, and our SUT connection suite opens up the correct set of images to be used. Each product has it’s own suite with test scripts, and any images peculiar to that application are kept there.

We’ve also gone to using text image generation as much as possible, to cut down on the number of images we even need to keep around.

Hope this helps…