Tuesday 6 December 2011

Beer & Music

So it's been a busy November for me. Let's look back at the calendar and pick out a few highlights. Of course there were nights in between but I shan't bore you with all of them.

Thursday, 10 November
The evening started with at catch up at The Founders Arms on the Southbank (in London) with an old friend, Kay, over from Oz. I say started, because I got there just after 5:30pm but had to dash off an hour and a half later for a "Matching Wine with French Cheese" tasting session I had booked many months ago for me and my wife. Very good it was too. I dashed back to The Founders Arms getting there at about 10pm to finish up the evening, quite sozzled and very happy.

Thursday, 17 November
This evening was a Champagne & Fizzy wine tasting session at Theatre of Wine in Greenwich. These events are very popular, informal (sitting round the big wooden table in the middle of the shop) and have a capacity of 20 people. We tasted 12 wines including a bottle that sold for £150 and they only had 3 left, with no more made. Lovely stuff. And the French cheese on offer was superb too. Highly recommended (hic!)

Saturday, 19 November
The evening of The Greenwich Tweetup part-deux co-organised with Lara Ruffle, whose website that link takes you to. This was a great evening in my local pub with good company and a fantastic band Repertoire Dogs that I danced  and went a bit mental to. They covered everything from the 60's (Beatles & Kinks), through all the decades up to present (Kasabian & Kings Of Leon). We had twelve people turn up which isn't bad for a second event where Tweeps don't necessarily know anybody else.

Thursday, 24 November
Ice skating at the Tower of London, very kindly paid for my the company I work for, The Train Line. Some Dutch Courage needed in the form of Jaegermeister and a few mulled wines. There is a video on YouTube showing some of what happened. I show up at the beginning and near the end. This was followed by the pub of course.

Friday, 25 November
A gig! The indescribable, incredibly funny, punk-poet-rapper Mik Artistik who we've seen a few times now, having first saw him by chance at The Avalon Cafe at Glastonbury, 2007 (I think!) He played a social club by a housing estate near Latimer Road tube station in the general Notting Hill Gate area. A very good night was had by all, and he even name-checked my bro-in-law Carl, during one of his early songs. The DJ was Martin Benedict Volpeliere-Pierrot (known as Ben) from Curiosity Killed The Cat, a poppy/jazzy band that were big in the 80s. My wife had her photo taken with him.

Saturday, 26 November
Another gig! The Lancashire Hotpots comedy folk band this time at The Bull and Gate, next to The Forum in Kentish Town. Another favourite of ours, along with Mik, who with seen many times before. They've been doing an annual Christmas gig in London for a few years now. Now I know the words "comedy folk" probably make you think of Pam Ayres or Jethro, but these are nothing like that. A good old knees up, very funny, always different every gig and thoroughly nice blokes to talk to. Check them out on Yoo Choob.

Wednesday, 30 November
We're on a bit of a music tip now, as yet another gig! This time the legendary George Clinton &Parliament Funkadelic at the Jazz Cafe in Camden. George was 70 years old earlier this year. He was on stage for about 75% of the time and they did a full 2-hour set. He occasionally sat down and his voice his shot, probably from all the singing and smoking he's done. He lit a joint and smoked it on stage during a song too, the old devil! A funky Psychoalphadiscobetabioaquadoloop kinda night.

Friday 18 November 2011

Maintaining Automated Acceptance Tests


Ok, I've been busy, busy, busy getting up to speed on a new project with new team members and it's just taken so much of my time. That's the lame excuse for not posting on over 2 weeks out of the way.

I thought I would share with you some notes I took when recently viewing a Webinar entitled "Maintaining Automated Acceptance Tests". A lot of it was quite general so I only really kept one eye on it, and I couldn't hear what was being said as I had no earphones with me. What was shown was good but I already knew most of it. However, I did jot down some useful notes which I am sharing with you now. These are my own words extrapolated from some of the webinar bullet points I saw on my monitor. I believe there is something in here for everyone in an Agile team, not just testers.
Declarative vs. Imperative
  • Writing declarative statements is much better than imperative e.g. “login as administrator” instead of
    [Select “administrator” from the user dropdown, type “XYZ” into the password text box, check the “stay logged in” checkbox, Click the “login” button]
  • Declarative = Intent (what), Imperative = Implementation (how), avoid statements that describe implementation, which may change but intent stays the same
  • Imperative tests are higher maintenance, and actual implementation may differ from what is stated (in a User Story)
  • User Stories can be written in a way that drives the automated tests using the same domain specific language (DSL)/business speak e.g. http://specflow.org/home.aspx

Automated Test Code Design
  • Keep the code close to the intent, don’t abstract it too many layers away (higher maintenance)
  • Lots of small methods (not public) with larger public fixtures that use those methods (tests use the exposed fixtures, not the hidden methods)
  • Fixtures are declarative and describe common system functions in business terms
  • Methods are imperative and describe granular functions in terms of implementation
  • Helper methods are only for tasks that are not semantically meaningful to a test
  • Test independence applies the same as in the manual test case world
  • A test should not rely on other tests to put the system into the correct state, instead invest in quick setups & teardowns
  • TIP: DB updates are quicker than creates when injecting/setting up test data

Tuesday 1 November 2011

Brief Update

I have been a busy bee at work lately as I have moved into another team that is just starting a new project, while dealing with some trailing remnants of previous projects. I am not the only new team member to join, plus some existing members have left or will be leaving shortly. This, combined with the start of a new project, and some new ways of doing things us new joiners have brought to the team has meant a fair amount of upheaval, and we have been working hard to get off the ground. I will post an update when I get more time, detailing some of the issues we have faced and how we have dealt with them. Until then, keep ‘em peeled.

Thursday 20 October 2011

Serious Agile Stuff

And now for the eagerly awaited nerdy bit (thanks Dave C)....

As promised in my previous (and very first) blog, I'm going to talk about the serious agile stuff I do in between the fun stuff. Actually, that's not entirely true because, believe it or not, agile software development can also be fun! No, it's true I tells ya!

Ok, I can see you don't believe me, so let me explain. I recently (2 months ago) started a new role as a QA Developer. “What’s one of those?” I hear you ask. I know, it sounds like an oxymoron (like Military Intelligence or Honest Politician), but that’s because in many cases it usually is. I expect anyone reading this that has a QA or Developer type role thinks so too based on their experiences. So let me explain. QA Developer means I am primarily a software tester who is able to write & debug software, including, but not exclusively, automated testing frameworks. When I worked for Microsoft as a tester, my title was Software Development Engineer in Test (SDET). Leave off the “in Test” and you had a developer (SDE). Get the idea? Basically, I am embedded in the development team, in the trenches, on the front line, whatever your chosen analogy is. I work alongside the developers and crucially, in parallel. Yep! At the same time, not after they have “finished” writing their code and handed it off to a tester (me) a.k.a. “throwing it over the wall”. More on this later.

Now, on to the Agile part. Agile is about software development and nothing else. There is a manifesto and 12 key principles you can read about. But what’s that all about? What does that mean in practice? Essentially it’s about tearing up the old rule book: throwing away those unwieldy tomes know as Specifications, streamlining and automating your Processes and disposing of all that Red Tape. It’s about getting people together to collaborate and to start writing software as soon as possible, to deliver early and often, to learn from what you have done and progressively enhance. Teamwork and collaboration are the name of the game and it focuses on developing software (iteratively), so there are very few different roles in an agile team. Another crucial part is stakeholder or customer involvement.
I will talk about the Scrum flavour of agile for simplicity, as it is the most commonly used. Scrum is a way of bringing an empirical measure of progress to a self-organising agile team. There are no Project Managers within an agile team so most organisations are more comfortable with Scrum as a form of project self-management.

An agile Scrum team is essentially made up of just four types of member:
1.      Software Developer
2.      Software Tester
3.      Product Owner, the customer proxy
4.      Scrum Master, the facilitator

The developers and testers in the team are the Engineers, the “doers”. The Product Owner is the go to person for a timely decision about something the engineers within the team are working on. The Scrum Master is the go to person for something you need doing to enable you to complete your task, usually something that is blocking or significantly slowing you down. Engineers collaborate and work closely together to produce working software. The team works in short bursts called Sprints or Iterations that typically last between 2 and 4 weeks. Working software is delivered at the end of each Sprint.

Simples!

Here endeth the first sermon. More on agile later...

Wednesday 12 October 2011

My very first blog... ever!

It was my birthday last week so I celebrated it three days in a row. Not that excessive you may think but it started with Thirsty Thursday, which means drinks are provided by the company I work for, starting at 5pm and ending with the last person standing. After much (free) beer & wine we decanted to a local pub then on to a wine bar before being swept out at closing time. That was day one. Day two was a Friday so that started at lunchtime, then on to a friend's birthday drink (happy hour, cheap cocktails!) before finishing at the inaugural Tweet Up I co-organised in my local Greenwich pub. This was a late-ish finish at 1am-ish but thankfully a short stagger to my house. Saturday was a bit easier as it was a dinner party at our house with my parents. With wine of course.

Anyway, I thought after this I would give my liver a rest as I coincidentally had another three day in a row at the end of this week. This was short-lived as I was invited at late notice to birthday drinks and a meal at a French gypsy jazz venue called Le QuecumBar in Battersea on Monday night. Very nice it was too, much red wine was drunk and we ended with absinthe, proper French style. Yesterday I decided, at late notice, to try the Bavarian Beerhouse near Tower Hill as I had been to Oktoberfest and wondered how authentic it was in comparison. I can say it is quite authentic, a very pleasant experience and I shall be returning.

Which brings me on to this evening; I vowed today would be alcohol-free (the only day this week) and I would go to the gym. So what happens? At very short noticed I am informed my work colleagues are going to a pub I can almost see through the window by my desk. Sigh. My resolve held and I declined.
 
This short story serves as a window to my world, the “beer & beyond” bit of my blog. As you can see it often happens at short notice. In between there was some very serious agile software stuff, of which I shall talk about in my next blog.

I'm off to the gym now. Stay classy San Diego.