Smart Contracts

Updating Solidity code and Testing a Smart Contract

Books on the Blockchain

Publica Self Publishing

Goodbye Contracting

Hello brave new old world...

Ruby-Selenium Webdriver

In under 10 Minutes

%w or %W? Secrets revealed!

Delimited Input discussed in depth.

Wednesday, 26 January 2011

You’re better than you think you are

Many software testers I’ve worked with, especially more junior staff, and not just to me as that’s getting easier every year, seriously underestimate themselves. One thing that’s helped me in my careers is an over developed sense that the work I produce is completely awesome. Accepting that to be true (see what I mean :p) it doesn’t mean that it’s ‘better’ than anyone else’s work.

James, Michael, Gojko, Pradeep, all do cracking work that’s impressive but some of what I’ve done matches it. It’s going to, they’re them and I’m me and we all have our own unique combination of skills, abilities and experience. That means I’ll come up with approaches and solutions that they could never think of, their own work speaks of a similar thing. Whether they have more public awareness of their work or not also doesn’t detract from how damned good my stuff is.

It’s the same for you too. You’re better than you think you are.

Everyone who has a passion for testing, is on the forums, chatting to other testers, reading or writing blogs, asking questions, going to conferences and gatherings and just ‘engaged’ intelligently and actively in the profession is as good as anyone else. By good I mean your ideas, thoughts, solutions, etc are as useful, insightful and ‘right’ as anyone else, known in the test community or not.

I want to encourage anyone in the profession who thinks their ‘ok’ at what they do to find the one thing they feel strong about. Maybe it’s writing test cases, using Exploratory testing, adding a splash of Ruby to the tools you use or some other thing you know. It doesn’t matter what- find that one thing and realise – you’re better than you think you are.

Take a deep breath, have courage and go and tell people about your one thing. Perhaps it’s a blog or forum post, maybe a 1 hour Skills Matter talk, a YouTube video or a paper/essay on your thing. People want to know and the test community is a very accepting and supportive community. They will share with you the fun and excitement of what you’re sharing with them.

It shouldn’t be a big event to speak at a conference, write a paper, present at a tester gathering. Get used to it, start now and watch how you grow as a person and a professional.

Everyone of us starts on the first step, sometimes we don’t feel too clever or have to admit we only really know our one thing. That’s fine, better to say that than try and act like a know it all. Some of my best learning and growth experiences have come about when I said ‘I don’t know’.

Too many junior testers are staying out of the limelight and you need to get in it. Sharath is a good example of someone doing generally good stuff and discovering he was better than he thought he was. Take his lead and get yourself out there, helping yourself and the test community at the same time!

Monday, 10 January 2011

What is Given-When-Then anyway?

I’ve been asked several times what a working set of Given-When-Then examples looks like in practice. The full style is not just the GWT component, though I have used that on its own. In full we might be having a Scenario followed by one or more Features with one or more Examples.

Here’s what a set might look like, based on some recent testing of Microsoft Office Communicator Group Chat. However, this could apply to any chat client or forum board.

You’ll see we have one Scenario that is the goal the business wants to achieve. To achieve it the software has to have a collection of Features (aka functionality) and to prove those Features are there we have Examples (of behaviour the system can enact – my definition of Functionality*)

Hopefully you’ll see how ‘obvious’ they are to any reader in any team due to the narrative format.
Scenario: Once the user has joined one of the Chat Rooms available to them they need to be able to read existing messages. These can include text, links, stories, files and images.

Feature: A user can see persisted and new messages in a Chat Room they have just joined
AS A user who has just joined a Chat Room
I WANT to see messages other participants are posting now and have posted in the last days
SO THAT I can read messages shared in previous days or being shared right now

Example: The user enters a Chat Room that has several days’ worth of messages
GIVEN the Chat Room has messages posted over the last days
WHEN I Join the Chat Room
THEN I can see the messages for the last days with a date stamp against them

Feature: A user can view attachments, links, images and stories contained within messages
AS A user viewing messages that contain more than simple text
I WANT to be able to open them and see the contents
SO THAT I can view the additional information and understand the message fully

Example: The user opens a message that contains a file attachment or story
GIVEN the message contains a file attachment or story
WHEN I click the message link to open the message
THEN the message opens and shows the attached file or story

Example: The user opens a message that contains a link
GIVEN the message contains a link
WHEN I click the message link to open the message
THEN the message opens and shows the link as an active hyperlink

Example: The user opens a message that contains an image
GIVEN the message contains an image attachment
WHEN I click the message link to open the message
AND hover my mouse of the image file posted in the message
THEN the image can be viewed as a thumbnail