Skip to main content

Posts

Showing posts from 2012

File asserts and manipulations with SoapUI and Groovy

Very quick one, re adventures with SoapUI and Groovy.

Have recently been building tests which need to run batch jobs and then assert against their output within the file structure. Below is a simplified implementation of what I've been up to:

//Build the file name to look for


def date = new Date();
fileName = "OutputFile" + date.format('ddMMyyyyHHmmmss') + ".csv";
folderName = testRunner.testCase.testSuite.project.getPropertyValue("sftpPath");
filePath = folderName + fileName; 
log.info(filePath);

//Read in the data
def inputFile = new File (folderName + fileName);

//Create a new list for asserting against
assertList = [];

//Populate with Contents of Text File
addContentstoList = {assertList.add(it)};
inputFile.eachLine(addContentstoList);
log.info(assertList);

//Assert the number of records in the array, plus for the existence of a specific object
assert assertList.size() == 5;
assertCustID = assertList.any {3};
assert assertCustID;

Found this simple and effec…

The prickly parts of project inception in an agile world....

One of the key themes at many organisations on their agile journey is how to start a project. One of the questions I often hear is how much information is enough to get started? What is required is a flexible method of defining enough information to start your project journey and at times redefine what is required.

I came across a technique in the interestingly titled The Agile Samurai by Jonathan Rasmussen (a man who takes his craft very seriously). The Inception Deck is a toolbox of exercises, designed to tease out information of the project stakeholders and the development team. I've used these in a multitude of different ways, the whole deck to kick off a project in its entirety and selected exercises to tease out information for individuals features. This has proved extremely affective for the latter, where consensus regarding individual features/epics has been harder to build.

So, my first experience was using it for a high level project kick off. I wanted to achieve a real …

Avoiding the self imposed proxy trap in SoapUI....

Very quick one to get me in the blogging mood. So, you know when you work with API's across multiple environments using SoapUI. Depending on how your environments are structured you may need to switch proxies on or off. After quite a while watching my tests fall over through no fault of their own I decided to solve this annoying problem. Use the following as either a setup script or a groovy step, combined with a project level property containing the URL you want to address: import com.eviware.soapui.settings.* import com.eviware.soapui.SoapUI // set Proxy Dependent on Env def aPI_URL = context.expand( '${#Project#API_URL}' ) if (aPI_URL.contains("dev")){ SoapUI.settings.setBoolean(ProxySettings.ENABLE_PROXY,false); } else { SoapUI.settings.setBoolean(ProxySettings.ENABLE_PROXY,true); } Really simple implementation shown here but it has changed the repeatibility of my tests completely. I have used similar implementations to switch within tests, dependant on which service I&#…

Scrum Master Mind Map

Just remembered I built this mind map a while ago on a Scrum Master contract. There are a few things that I have learn't since and would probably change. Its always interesting to look back though and see how you felt about something at the time.

I guess the main thing that leaps out at me is that I saw it as a leadership role, without the 'servant' bit in front of it. I may well have 'frustrated' other team members with my domineering attitude.

You'll be delighted to know that I haven't changed a bit.......

Testers are creative beings...or should be

One of the most common misconceptions around the world of software development is that testing is a structured, rigorous and linear process with no room for imagination or creativity. Over the last couple of years of my testing journey I've tried to embrace testing problems with free spirit and an open mind. This was mainly inspired by a distinctly uninspiring project where the lack of quality was only matched by the lack of imagination in the testing effort.
As usual it’s the hard projects which teach you the most and certainly taught me that investing a little time in exploring options can certainly pay dividends further on in the project. There is always a massive amount of pressure to get on with things but it is perfectly acceptable (in my view) to expend a bit of effort on looking for imaginative testing angles. With that in mind, I thought I would spend a little time exploring three of the options that I've used to add a little bit more edge to more recent projects....