Friday, 2 September 2016

Be the Positive Tester!

Being positive is becoming increasingly difficult, in a world where negativity is all around us in the form of News reports, just looking at a popular news feed a large portion of the articles are of a negative nature or in a negative tone, then there's the fact that people love to moan or gossip about someone not doing what they are supposed to do and similarly people are far more likely to leave a negative review for a product or service than they are a positive one! So how can I be more positive and why does it matter? All I do is test?

Firstly, never ever say or think "All I do is test", you do so much more, and we all do so much more, it's about showing everyone just how awesome we can be and how great we are!

Secondly, why does it matter? Well a Tester can have every attribute that is needed to be a Tester, but if they have a negative attitude it can all be for nothing. I've found that by merely having  a positive attidue it can take an Okay Tester and turn them into a bloody good Tester! Dumbledore said it best with:

"It is our choices, that show what we truly are, far more than our abilities"

So yes, Dumbledore is fictional...but it's a true statement, and one that fits nicely in to this blog post!

So why does it matter? Well, positivity is very contagious, I've worked with positive people, people who are insanely positive, and it rubs off on me, in fact it rubs off on everyone around them, so if you're positive and working in a team, by being the positive person it will help the team be more positive and in turn make them happier! Let's not forget that Happiness more often than not equates to success.

Also if you are happy and positive in negative situations, then people are more willing to listen to and help someone who comes to them with solutions to problems rather than just moaning about the current situation and not really be willing to do anything about it! Persuasion is an important skill, one that is often overlooked, postivity feeds into that, persuading someone is far easier when you are positive!

So, it's all very well talking about why it's important to be positive, but unfortunately, like most things, it's just not as easy as that, we can't just flick a switch and instantly become more positive... What we can do is do little things that will hopefully all feed into making you feel and be more positive!

One of the things that I like to do is to spend time reflecting on the day, this doesn't have to be at the end of the day, it can just as easily be at certain points in the day, look back and thing about what's gone well so far, what have I enjoyed about the day and what is happening in the near future that I'm looking forward to. This isn't necessarily a physical reflection, just by thinking about these things makes me realise that success happens far more often that you might think!

We can also set ourselves goals, not just daily goals, they can be weekly or even longer term, what are some things I want to achieve? One goal that I have wanted to achieve was to speak at a public conference, I achieved that this year, and am looking at doing it more often in the future, by having this long term goal I can look at small things I can do to help me achieve it. I know it's cliche, but it's good to know where you want to be in 5 years time, so you can then work towards it.

People often think of Testers as negative people, we love to break things and point out the negative things about software, but we need to celebrate when these things happen, it's far better to find a bug in test than in production! We also need to celebrate and learn from our failures, this isn't always easy, but if we fail fast and learn from it, then is it really a failure? We've learnt something which should be celebrated!

As mentioned earlier as well, we need to look at problems as opportunities, and have solutions ready for any problems we might have... If we don't have enough time to test something, what can we do? Can we do some Risk Based Testing? Or can we work through lunch? Or can the entire team get involved and get it tested?

Finally, just be friendly and enthusiastic, and adopting that positive mindset will follow, especially if you start reflecting and setting yourself achievable goals and actually achieving them! It will make you feel better about yourself as well as make the team feel better and happier! I was watching a TED Talk the other day that we can make ourselves feel more powerful by adopting "Superman" Poses, and I see this being no different we can make ourselves more positive just by reflecting and thinking about what went well and building on that!

Just to summarise the blog post, here's a nice MindMap!

Tuesday, 12 July 2016

Unmentioned skill of any Engineer - Being able to Google!!!

I've blogged elsewhere about what I look for when hiring QA Engineers, and it's full of useful things that I think are important in being a good QA Engineer/Tester.

One thing that is often overlooked and probably not really spoken off much, especially when hiring or looking for a new job, is something that is potentially extremely important when it comes to being a successful Engineer, and that is the ability to find out information. For most people this is being able to "Google" for something, or use Stack Overflow to find out a solution to a problem.

You could argue (and rightly so) that the ability to Problem Solve is what we are talking about, and you'd be right, but this is specifically really about being able to use Google effectively to find the answer you are looking for.

Why is being able to Google important?

There are a number of reasons for this:

1- Being able to structure your search query appropriately is important and can save time sifting through results

2- Once you have your search query nailed, there is no point reworking something that has already been done, there may be a library available that you can reuse, there may be examples that you hadn't thought of, there are a whole plethora of testing cheat sheets out there for example that if you can google can aid you in your testing efforts!

Here are some simple tips for Googling more efficiently:

1. Use "Quotes"- If you want to search for a term of more than one word, you can use quotes to tie words together. For example if you wanted to search for Test Strategy rather than searching for Test Strategy you might want to search for "Test Strategy"

2. Use - to exclude words - For instance if you wanted to search for Test Strategy but wanted to exclude for instance Waterfall you could search for "Test Strategy" -Waterfall

3. Make use of the OR key word - If you wanted to search for 2 things, you could use the OR key word, and by using quotes again we can search for "Newcastle relegated" OR "Sunderland staying up" This would get you results for both search terms...

4. Location is useful - You can search for something nearby and Google (providing it has access to your location) can search for things nearby which is pretty useful! Especially if you don't know where you are! So a useful search term might be "Testing meetups" nearby

Monday, 4 July 2016

#30DaysOfTesting update! Day 4 - Share a Testing Blog!

So it's been a tad difficult to do the challenges over the weekend (had school fete, kids parties etc!), so I've changed things up slightly and am going to do challenge 2, 3 and 4 today...

So, first things first, a photo of work...

Whilst this wasn't today, the premise is still the same, this was of a QA++ training session, where we were going through YAGNI and DRY principles (You Aint Gonna Need It and Don't Repeat Yourself) with regards to Software Development, however these principles can easily be applied to Testing, if you don't need to Test for something then don't do it and if you communicate effectively then there's no need to repeat yourself, so it's an art for sure!

For the listening to the Testing Podcast, I'm going to listen to the latest Testing in The Pub Episode on my way home from work, so will no doubt include that in my next update!

And finally, to share a Testing Blog with a Non Testing Person... I've chosen this one: "Testers get out of the Quality Assurance Business" as it's a topic that's close to our hearts at the moment, as we're going to be debating about whether we are QA or Test in a Community event tomorrow, so that should be interesting! (I'm advocating for Test Engineers obviously!) It's important to choose a blog post that the people reading it will get something out of, and not just read it and think "WTF did I just read!?" I think this blog post offers value to both Testers and Non Testers and will hopefully help them understand what we do!

Whilst it's not great that I didn't manage to do any over the weekend, I did manage to do some reading of my Testing Book (Dear Evil Tester), so that's something... The book itself is interesting and I quite enjoy the humourous writing style, though I'm going to finish it soon, so I may end up getting another one, I'm looking at Explore It! as a number of other people are reading it also!

Wednesday, 29 June 2016

30 Days Of Testing - 30 Challenges over 30 Days!

I've decided to attempt to do the Ministry Of Testings 30 Days of Testing Challenges over the month of July, which will be erm... challenging! (duh!)

For those that don't know what it is, you can read about it here and the challenges are below:

The first challenge is to read a Testing Book, the book I've chosen is "Dear Evil Tester" by the one and only Alan Richardson. So I will start reading that on Friday and then take it from there!

I'll try and write some posts that will update, but if you're reading this, and it sounds interesting to you, then my advice to you is to do it! It's only 30 days, you'll learn loads of stuff and it's fun!

Remember, a quote from Empire Records, "I do not regret the things I have done, but those I did not do"

Tuesday, 21 June 2016

A day in the life of a QA Lead!

I thought it might be interesting to some people to start doing some posts about my day to day job as a QA Lead! I often get asked what it is that I do, how do I do it, what skills are important and just what is difficult about the job, so what better way than to just start a diary documenting all of this!?

In writing this, I've figured it would be a good idea to get others to do the same across the different levels and teams, as we very often get asked in interviews "What will my day to day role be?" So hopefully this will serve as a useful piece of information.

So lets begin (on a Friday as this idea came to me on a Friday!)

Friday June 17:

8AM : It's Friday, and it's Summer, so you know what that means (or maybe you don't, but you will now)... It's Summer hours here! So a 3PM finish today! I got in early today to make up for the England game yesterday where no work was completed for obvious reasons (what a result!), I have to catch up on emails as well as trying to get a solution to build and run some automation before an Automation Deep Dive that I've booked in with one of the Senior QAs here to see what they're working on and to see if there can be any improvements.

He's already taken the team through what he's done at a high level, but I want to go deeper and see what improvements can be made. Already after the last session I feel it would be beneficial to go over BDD & SpecFlow as well as taking the entire team through a Test Planning workshop to get everyone talking and communicating. Right now it seems like the Automation that he's worked on is just worked on by him, I want to change that and get the whole team on board. Hopefully the workshops I've arranged will help with that.

11AM: left my desk to go to another meeting, but got grabbed en route and ended up participating in some swarming on some failing automation by one of the 10 teams that I help which was pretty cool to see and be a part of! (So the meeting had to happen without me, but it was worth it!)

Midday: We also had a review of some End to End tests for a major project that's going on, it's being done by a single team, so it's important that we as Leads have overview as the project touches a number of areas that we all look after. It's good to see progress being made and whilst I disagree with the reasons why we're doing it, it's important that it's done right and is easy to maintain going forward by everyone involved.

We also discussed about having checks for the API & UI as part of one test suite, which I'm not a big fan of, it will increase the feedback loop of the API checks, as well as making the overall suite flaky. I'd rather have them as 2 seperate packs, and if the API fails we don't run the UI... So watch this space in that regard as we are going to discuss it next week.

1PM: Time for lunch so I went out for a quick walk in glorious sunshine, sometimes I'll take a packed lunch, but either way it's lovely to get out of the office! Had a catch up with someone about Test Data and how we can manage that for teams Integration Testing for one of the big releases that is coming up soon.

2PM: Final meeting of the day, but it's a celebratory one and one that is in good spirit for a team that's been working hard and met some really tight deadlines, so the update is good, and it's more of an update for the other teams on what's going on and what's happening. It's nice to see such a big group of people come together and pull all in the same direction in achieving something for the greater good.

3PM: Home Time! Whilst on the way home I send out meetings for the workshops that I want to do, so hopefully people can make them!

So today has been largely been spent in meetings, working with people to help them improve and just facilitating conversations between people and ensuring that we're following a good path when it comes to Testing & Engineering, which can be difficult when I have so many teams, but it's important to have strong Seniors within the teams and platforms who can help with the load.

Wednesday, 8 June 2016

Why? Why? Why? The questions of a 2 year old AND Testers!

Apologies for the lack of blog posts, but for those that don't know me, not only am I a struggling Tester, but also a struggling Parent! I have 2 kids, a 2 year old and a (soon to be) 5 year old! They are my world, and they're also the inspiration for some blog posts that I tend to write, this latest one is no different...

My 2 year old daughter has begun to question a lot of what I say to her.

"Please don't climb up the slide"


"Because the slide is slippery and you might hurt yourself"


"Because it rained last night"

Ad infinitum!

My 5 year old said to me and Jess the other day "We mustn't ask "Why?" must we because that is answering back" I thought to myself, I don't want him to stop asking Why? to stop asking "What If?" This is a massive skill and something we as Testers should definitely have and encouraged. So I had to explain to him that it's not a problem to ask "Why?" it isn't answering back, if you genuinely don't understand something, then you need to be able to ask "Why?" without fearing anything happening to them.

The last thing I would want to suppress, both in Testers at work and my children at home is the freedom and the environment in which they can ask questions and they can question anything without fear of being laughed at or being told off.

Sure there are times when the questioning becomes too much (especially from the kids!), or it's at an inappropriate time, but that applies to life in a Development team as well. You don't want to be questioning things at the very end of something, similar to finding bugs, the earlier you can ask questions the easier they are to answer and hopefully react upon.

I genuinely believe that there is no such thing as a "Stupid question" but also that sometimes the most silly questions are really good questions and can throw up some confusion around what is being developed. If we don't question things, then we won't improve and we'll stay the same!

Monday, 16 May 2016

Testers: Be more like a Super-Villain!

Who doesn't love a Super Hero? Talk to my son, and he'll tell you how much he loves them, talk to many adults and they'll say the same! Deep down, we all love to be the Super Hero, we all want to save the day! However, I want to talk about the flip side of Super Heroes, the Super Villains...

I often play Imaginext with my son, and I (unfortunately?) am nearly always the Super Villain! Be it Lex Luthor, Joker, Two Face, Mr Freeze or The Riddler! These are all great characters and great Super Villains, but why would I want to write about Super Villains?

A while ago where I worked, we had a few Super Heroes, people who would be able to come in and "fix" things that had broken and help deliver projects on time. We then shifted, we decided to do away with the Super Hero culture and try and prevent from being in that position in the first place, whilst we didn't go as far as wanting to hire Super Villains, it's definitely a story that has stuck with me and these two things combined are probably to blame for this blog post!

Let's have a look at some common traits of Super Villains (please bear in mind I am generalising somewhat!):

Super Villains can generally be:

- Experts at what they do - They know what they are doing and how to do it, they are often technically gifted with a great super mind. Mr Freeze was an accomplished cryogenicist!
- Intelligent - Sure, Iron Man and Batman may be brainy fellows, but there's a reason why supervillains are the ones who earn the appellation "mastermind." The Leader, Brainiac, Dr. Doom,  are all extremely intelligent Super Villains.
- Persuasive - They persuade people to follow them, they make people believe in what they want to achieve and in doing so end up with a small team of followers who listen to their every word. Loki, Emma Frost, Mad Hatter are all expert at mind control and persuading!
- Charismatic - Related to the above, but they are very very charismatic, which helps inspire their team of crooks and villains to work together. The Joker is a very charismatic Super Villain, I mean sure he's crazy! But that's part of his charm!
- Passionate - They love what they do, they speak passionately about what they believe in.

Very much a generalised view of Super Villains, but I'm sticking to that for the sake of this blog post!

Now lets take a look at some of the traits of Super Heroes (again, generalising but you get my point):

- Reactionary - They are great at reacting to things, to try and avert disaster but really they're not very proactive in stopping things happening in the first place!
- Super Serious - Most super heroes aren't the type of people who are charismatic and can get people to listen to them, in fact they are often misinterpreted! Superman and Batman are both extremely serious people who can't necessarily take a joke or laugh at themselves!
- Boring (?) - Super Heroes are very very predictable and not the type of person you'd want to have a lengthy discussion with about anything!
- Lacking Communication Skills - Often the super heroes aren't great communicators and struggle to get their points across

What do Villains actually want?

Most Villains want to change things, they want to challenge the status-quo. Another problem with Super Villains is the way they go about implementing their change, and this is obviously one trait that isn't good!

Lets take a look at some Super Villains who wanted to inspire change:

- Syndrome from The Incredibles: He is a perfect example, he wanted to democratize super powers so that everybody could be a super hero, not just those who were born to the right families could be super. (Obviously how he went about this is not the best idea)

- Dr Doom - He has accomplished world domination a few times, and he even changed the world for the better!

- Lex Luthor - He wanted to use alternative energy when he was president, that's not a bad idea is it!? The only problem is that him and Superman just don't get along!

- Poison Ivy - She wanted the world to have more plants! Not much of a Super Villain if you ask me!

So how does this all apply to Testing?

So, looking at the views of both the Super Villain and the Super Hero above, who would you say is the better person to aspire to be? Especially as a Tester...

If we were to take the above in to consideration alone, then in my eyes I would have to say (somewhat unsurprisingly given the title of this blog post!) Super Villain... In fact if a Tester were to come to me with the traits of a Super Villain that I listed above, I would be very excited to interview them and potentially hire them!

To me, testers (in fact any professional in any discipline) should be people who want to inspire people, who want to talk and communicate with all forms of people in the business, they should be experts at what they do, and how they do things.

Again these are all things that I would value highly in a tester, but as well a tester should be questioning things and wanting to improve things for the team. Perhaps this is where the lines become blurry, most Super Villains want change predominantly for personal reasons, whereas we should want change to improve the team, and in turn improve the quality of the product that we are testing.

So Testers who are reading this... be more like a super villain! (Unless you want to take over the world and kill everyone... in that case please don't!)