Skip to main content

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!)




Comments

  1. The relationship of DEV and QA shouldn't be one of an artist and an art critic.

    It should be more like the one between a writer and a copyeditor, working together to make a quality product.

    -T.J. Maher
    http://www.tjmaher.com/

    ReplyDelete
  2. This concept is on the rise more in the animations and sci-fi films where the villain has some extra powers and the whole story or more particularly the climax is based on the fight with that super villain.

    ReplyDelete

Post a Comment

Popular posts from this blog

Coding something simple.... or not! Taking a screenshot on error using Selenium WebDriver

I recently wrote a little function that takes a screenshot at the end of a test if it has errored. What sounded very simple at the start turned out to be quite a bit of work, and quite a few lines of code to handle certain scenarios! It's now over 50 lines of code! I'll start with what I had at the beginning, this was to simply take a screenshot in the working directory, we are using SpecFlow and Selenium to run the tests, so we are going to check if the ScenarioContext.Current.TestError isn't null, if it is, then using Selenium, take a screenshot (note the below code is a simplified version of what I had at the beginning). [AfterScenario]         public static void TakeScreenShotOnError()         {             if (ScenarioContext.Current.TestError == null) return;             var screenshotDriver = Driver as ITakesScreenshot;             if (screenshotD...

How to manage resources within new teams?

Working where I work we are constantly spinning up new teams to take on new workloads as business come up with new demands and new features they want developed and tested. The problem with this is how do we ensure the work of the newly spun up team is of sufficient quality. One method is by taking people from other established teams and placing them on the new team. This works great for the new team, but unfortunately it will oftenl eave the established team lacking in a resource whilst they try and fill the gap left by the person who has left. We are seeing this often with our offshore teams, it can be damaging to the team structure and the teams velocity, but try as I might, I can't think of another way around it. It's far easier to take 1 person from a team that is established than it is to build a whole new team from scratch. At least by leaving the core of a team in place, you should be guaranteeing that the new team are aware of any coding standards or any QA standard...

Considerations when creating automated tests

We recently released to a number of teams our automated regression pack that has been worked on over the past few months. This regression pack tests legacy code, but contains a large number of tests.  As a bit of background, a number of teams are working on new solutions whilst some are still working on legacy code. With this in mind we constructed an email with a list of guidelines when creating new tests that need to be added to this regression pack.  I figured that these can be quite broad so should apply for any organisation, so thought it would make an interesting blog post...  So here goes,  when creating automated tests, it's important to consider and adhere to the following: - Think about data . The tests need to retrieve or set the data they need without any manual intervention - This should help them be more robust and easier to run without manual intervention. - The tests need to be idempotent - By making it so that each test is standalone and does...