Why I switched from Mac back to PC

“OMG!!!! WHY??!!” said everyone I told about my decision to swap back to a Windows machine from Mac.

In a later post I’ll talk about the implication of my choice of hardware (and software). But for this post I wanted to talk about why I decided to swap ecosystems.

As a test consultant I’ve been using a Mac for the past few years. However quite often I work at places where my colleagues use PCs which oftentimes means a Windows machine. And I’ve noticed is that it is much more difficult to set up your local development environment on a Windows machine. At times the tooling wasn’t compatible across platforms. 

When things don’t work out for our fellow Windows users we would try to help them out but eventually give up if we can’t get it working. Ever hear someone say “You should just get a Mac.” or “You should use Ubuntu.”? Because of corporate policies this is likely not possible. 

It recently dawned on me that as a consultant I should not just live in the siloed and safe Mac environment and actually learn how to work on platforms my colleagues use as well. This would actually allow me to advice and give  guidance on how to set up a Windows machine to do development/testing work on.

At the end of the day it doesn’t make sense to ask your employer to change systems because you don’t know how to use it. Personally I believe that even though testing is my specialisation and learning test tools is important. It is equally important to be able to help set up these tools on your employer’s environments. Otherwise you may struggle to deliver at a high level.

The NWEWT Experience

The first ever NWEWT (North West Exploratory Workshop on Testing) conference happened last weekend (1st to 3rd of April) in Liverpool. I want to start off by saying Thank You to Duncan and Emma for doing a stellar job of organising the event. I definitely felt privileged to be part of the conference.

It was my first time at a peer conference and I didn’t know what to expect and was a bit anxious about the whole thing. But the whole thing got off to a great start with dinner on Friday night which most of the attendees of the conference attended. For my starter I had ordered soup and was served an empty bowl (Yes…a bowl of soup without the soup.). On hindsight I realised this was an apt metaphor of how little I knew compared to my peers. The dinner was a good way to meet everyone and get to know a bit about them before the conference started in earnest.

The topic of the conference was Regression Testing. We were meant to present our experiences and thoughts on  regressions testing. Over the course of the next two days we would hear talks from almost all the attendees and have discussions about what was presented. It was very interesting to find that a few of the talks mentioned that although they started thinking they were doing “regression testing”, they realised soon after that they weren’t actually testing for regression of their system. They were just testing. This definitely matched my experience as well. In fact since earlier this year I’ve stopped using the term after I heard someone pointed out that “regression” meant returning to a former state. In my mind that meant the definition of regression testing would be to test if the system under test had returned to a former state. In my current context that would be virtually impossible.

The other big takeaway for me was that we should focus on risk during testing. Although this seems obvious it is something I often need reminding of. @nortern_tester talked about using the FIBLOTS mnemonic to help identify risks. @Arborosa also mentioned that continuous testing involved continuously assessing your risks.

Anomaly Detection is also something I will be doing some research on after @DanAshby04 mentioned it like a million times. I think he’s trying popularise it as the next testing catch phrase.

NWEWT has also sparked off a new wave of enthusiasm to run a LEWT (London Exploratory Workshop on Testing) which I hope I’ll be invited to.

Apart from learning about testing I also rode my bike (motorcycle not bicycle) up to Liverpool. A round trip of 488 miles. 5 and a half hours up and 5 hours on the way back. It is the longest ride I’ve ever done and will constitute more than 10% of my annual mileage. The 5 hours back went by very quickly as I spent most of it reflecting on the conference. Most of the 5 and a half hours going up was spent wondering if I would get blown off the road by the crazy wind.

How to modify an existing json file with Java (add an extra param)

Okay, so you have a json file somewhere, that was already created by someone else, by another project or just due to quantum fluctuation… doesn’t matter, what you want is to read that file, read the json, add another property to that json and then write the entire json back to the file.

Of course it’s not that complicated and can be done in so many ways. I saw a lot of projects that were doing this by simply manipulating the string. This is certainly not recommended since it’s pretty easy to screw up the integrity of that json object.

Instead let’s see one of the easiest and safest way to do it:

Continue reading

Enable Web MVC support for your spring app using Java Config

Hello everyone,

This is not a Spring MVC tutorial. I think there are plenty of those on the internet. I just want to show you how you can enable MVC support and create an API for your app.

Sometimes you might have a simple Spring app or even a JSF+Spring web app and want to expose an API. One way to do this is to use Spring MVC Controllers. It takes only 1 minute, I promise.

Continue reading