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

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...