Skip to main content

Evolution of Testing

So I was recently reading this blog post, and it raised some interesting thought processes.

I'd never really thought of testing being dead as it states in that article, instead I tend to think of it as evolving, evolving from having a myriad of test cases that need to be run as part of regression, or even as part of acceptance testing, to instead a more flexible approach.

I recently worked on a project, which had a massive constraint on time, effectively the business wanted it released to the customer as soon as possible, and it was a high priority project too. This meant that I could go about testing it in a different way to how I would have previously.

Instead of writing an abundance of acceptance tests for any features, I'd write GWTs or even perform exploratory testing (documented of course - a pet hate is exploratory testing that isn't really documented, see my blog post here). The biggest drawback to this "release it as quick as possible" approach was that it left no time for automation, but I could live with that, as it offered freedom in other ways.

You could argue that testing is once again getting squeezed, however, it's not necessarily a bad thing, as in having such strict deadlines it meant we tested smarter and more efficiently than we would have otherwise. We also identified gaps and risks early and ensured that they were covered by testing.

Another nice touch was that it was launched internally for a week, so that any issues that were identified were fixed when we released it officially a week later, so a form of beta testing/uat testing, that all too often, in my company at least, gets missed off.

In this instance, QA helped deliver effective and useful software to the end user, by changing our methods accordingly and evolving and offering advice on gaps and risk analysis.

So (as I commented on the article), testing isn't dead, it is just evolving, and will continue to evolve to adapt to ever changing requirements and demands that are placed on QA.

How is it evolving?

Well, besides how I mentioned above, there is more attention being paid to automation, QA are getting their hands dirty in writing automated test scripts and becoming more engaged with developers. We truly are getting to a stage where we have cross functional teams, there doesn't seem to be as much of a divide between what a Developer does and what a QA does, we are all engineers helping to deliver software that is valuable to the end user.

Comments

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…

Advantages of using Test Management tools

Before I start talking about test management tools, let me clarify what I mean by the term test Management tools...  I am not taking about your office excel program where you store your test cases in. I'm talking about bespoke test Management tools, your quality centers or Microsoft test manager...
In the strict case of the term test Management tool, Microsoft Excel can be used as such, but heck, so could a notepad if used in the right way... For the sake of this blog post I am talking about bespoke test Management tools.
Firstly, what test tools are out there? There are many more out there today than when I first started in QA over 5 years ago. When I started the market was primarily dominated by a tool called Quality Center, this would run in a browser (only Ie unfortunately) and was hosted on a server.. Nowadays it's market share has somewhat dwindled, and there are some new kids on the block. 
One of the more popular tools is that of Microsoft Test Manager, it's big…