Skip to main content

5 years is a long time...

I saw a forum post this morning asking the exact same question as above, and it got me thinking about how much my career has changed in the past 5 years, how much QA has changed and how much Software Development has changed.

Firstly, it may be a little unfair to compare what I was doing 5 years ago as I had only just started out in testing, so obviously my understanding and appreciation for what I was doing probably wasn't at the level it is today. However, it's still a useful exercise so I can at least appreciate what i have achieved in the 5 years.

I started out at a consultancy, Testhouse, where I would be sent out on site to offer my QA expertise in what ever way was needed. The benefit of this was that I got to see a lot of different companies and how they worked. Comparing then to now, there has definitely been a shift left in the QA world, and by that I mean there has been more integration between the actual development and the QA processes, so much so that they are almost 1 team now.

You only have to look at people doing ATDD, or TDD and QAs doing paired programming with developers to see that. We have come a long way, but it's extremely easy to see the benefits of this. There no longer is an us and them attitude, developers are helping QAs and QAs are helping developers, it's a mutual relationship, sure it has ups and downs, but then every relationship does.

Where I work now I encourage QAs to question developers, to question requirements, whereas my first project was a waterfall project and we were given a set of requirements and told to write test cases based on that before we got the actual application delivered. Now QAs sit with BAs and Product Owners before sprints start and iron out requirements together, before coming into Sprint Refining with the rest of the team, it's a much more collaborative approach and mistakes are far less likely to happen. It's definitely a better world. QAs and Developers come up with Given When Thens together and share them with the BA to ensure that everything is understood.

I wouldn't be able to complete this blog post without mentioning, at least where I currently work, the technical skills in the QA world have improved vastly, this could possibly go hand in hand with working closer with developers, but I also think the shift left has meant this is a necessity, in order to fully understand what is being developed, it helps (I say help and not "you have") as a QA to have an understanding of what is being coded and how it's being coded. We also have the rise of automation, 5 years ago it was around, just nowhere near as big as it is now, and 5 years ago I would say it was a specialised skill, whereas now, it's not so specialised as more and more people have it, but this is not a bad thing, the more QAs we have who can automate test cases the better.

With regards to automation, it definitely helps having a wider array of tooling to choose from, 5 years ago the predominant test automation tool was QTP, or at least it was in my experience, however, now I would say that it's Selenium WebDriver, but even that doesn't have such a stranglehold as QTP did back in the day (wow, I feel old writing that!) as there are so many more tools around that can be used.

So, I guess the big question is, where will we be in 5 years time? It's impossible to say with any major degree of certainty, but I do think we will see automation play an even bigger role, QAs will be involved in helping teams adhere to the automation pyramid, get involved at every level of testing, even Unit Tests to ensure there is no duplicity in Acceptance Tests and further down the pyramid. I also think that we will make use of data in a different way, we will use that to drive acceptance tests, we will have analytics on user journeys and see what they are likely to do, and use that to drive what we test, how we test and to help us make risk informed decisions. The more data at our fingertips the better. We will also see the distinction between mobile website and desktop websites removed, there will be one website and it will be delivered to your device appropriately and styled correctly.

So there you have it, I wonder if:

1- I'll remember this blog post in 5 years time to see how correct my predictions
2- What everyone else thinks about my predictions?
3- What are your predictions for 5 years?


Comments

  1. I think mobile and desktop combined is going to take a lot less than 5 years, otherwise I agree with your predictions

    ReplyDelete
    Replies
    1. I agree, it's already happening in some places, but I think within 5 years it will be completely removed, liek you say though, quite possibly before.

      Delete
  2. This blog provides a strong evidence of phenomenal writing.
    resumeyard.com

    ReplyDelete

Post a Comment

Popular posts from this blog

What is a PBI?

After my last post, I had the question of what is a PBI... so I thought i'd write a short blog post about what they are and why they are used.

A PBI is an acronym for Product Backlog Item. It is a description of a piece of work that your SCRUM team will develop and deliver. When you have a list of Product Backlog Items, you then refer to that collective list as a Product Backlog.

The product backlog is often prioritised and yourteam will work through each PBI, and release on a regular schedule... I am however going deep into the world of Agile development, which isn't entirely what this post is about, so I will stop myself now.

A Product Backlog Item is made up of the following:

Title - This is often a one liner that gives the team an idea of what the PBI is about, although it can just be an ID for the item and the team work off of that.

Description - Breaks down the PBI in a bit more detail, and can be written in any style, however I prefer it to be written as follows: 



By writin…

Dealing with Selenium WebDriver Driver.Quit crashes (Where chromedriver.exe is left open)

We recently came across a problem with Selenium not quitting the webdriver and this would then lock a file that was needed on the build server to run the builds.

We were using Driver.Quit() but this sometimes failed and would leave chromedriver.exe running. I looked around and found this was a common issue that many people were having. We (I say we, as we came to the solution through paired programming), came up with the following, that would encapsulate the driver.quit inside a task and if this task takes longer than 10 seconds, then it will clean up any processes started by the current process, in the case of the issue on the build server, it would kill any process started by Nunit.

[AfterTestRun]
        public static void AfterTestRun()
        {
            var nativeDriverQuit = Task.Factory.StartNew(() => Driver.Quit());
            if (!nativeDriverQuit.Wait(TimeSpan.FromSeconds(10)))
            {
                CleanUpProcessByInheritance();
            }
       }

        private s…

Famous Movie Quotes applied to Software Engineering - Jaws

You're gonna need a bigger boat? How can that relate to Engineering?

Firstly, let me ashamedly admit, that I've never seen the whole of Jaws all the way through. It's on my list of films to watch, but whether I get round to it, is another matter!



Anyway, to apply this to engineering, it's almost like "you're gonna need more testers/developers"...

We hear this all too often when trying to push releases out the door, let's throw men at it... However, as we all know, a bigger boat/more men... isn't always the answer, it's not a guarantee of quality, or even a guarantee of getting things done quicker.

If you have a task that will take 2 hours, simply having 2 people work on it doesn't mean that it is halved, in fact often, the time taken to do the task remains at 2 hours, but the maintainability and the knowledge around that area is increased, so it's a price, in my opinion that is often worth paying.