I started testing over 20 years ago.
Back in the day a tester was a “very” junior person who wanted to spend his or her time literally playing with the system and logging bugs in a spreadsheet so that developers could fix them, before releasing the next version.
I myself, did not know anything about testing or software, and took the job only because I prefered to sit on a desk and not tend bars in the evening…
I am sure there were methodologies back then, and that some people had more specialized tools. But for most of us, it was a matter of sitting down with keyboard and mouse, writing stuff down in excel (sometimes in a notebook!), and just working hard in order to make sure we found every single issue hidden in the code.
Don’t be fooled by the distance.
It was a crappy job, and we based our success as much on luck and intuition, as we did on the understanding of the product and the technology.
Fast Forward 10 years, to around 2008…
Cool, so at that point in time we started having (more) tools.
Tools for Functional Automation, Load Testing, Test Management, and even more specialized tools to simulate client environments and stranger things such as network interference…
Our methodologies also improved. We started talking about Risk Analysis and Master Test Planning.
Most of were working with the Waterfall or V-Model, many of our projects now lasted between 9 and 18 months between major releases, and in the background some of us even started hearing about a strange thing called Agile and Agile Testing, but we were not really sure what they mean by it.
The objective of our jobs as tester also expanded.
We were not only in charge of finding all the bugs in the product (I mean, we were, but we had other objectives too), and we were now also tasked with pointing a finger at the areas where the product was not stable so that the development team can make adjustments.
Let’s jump to where we are today
EVERYBODY is working Agile!
Not that everyone knows exactly what that means, and less people are really working correctly, but if you don’t say you are Agile, then you are a LOSER 😉
Technology is changing at a pace that is literally hard to keep up with. We have IoT, Cloud, Mobile, Blockchain, etc. And something new comes up literally at least twice a month.
We are releasing products either every week or two, and in some cases we are doing this every 2 hours as part of a Continuous Delivery process.
And testing…? Glad you asked.
We have more automation and our processes have matured a lot. But if you ask me, testing is playing catch-up, by running fast and trying to understand how to adjust and adapt.
Today more Devs are doing testing
In the cases where we are really working based on an Agile approach (and not simply saying we are!), then we work really close to our developers, as part of a unified team, trying to combine technological and methodological tools, in order to maintain a level of stability that will allow us to keep up with the release cycle.
We are also working with our developers to make sure they are part of the testing efforts. Mostly because we are not able to test everything ourselves, and we literally need more hands and eyes to do the testing before the product hits production.
There is also DevOps
Many of us are also working with cloud based systems, implementing DevOps approaches, and adapting to this new reality where the team is in charge not only of releasing a product, but of running it and monitoring while in production.
And here, with DevOps, we are tasked with expanding our testing to the production environment, adapting our methodology to enclose more actions related to monitoring live systems, guiding the release-and-deployment process, and providing real live visibility into the usage patterns of our products (as a measure of the quality of our products in the eyes of our end-users).
The only certain thing right now is the need to change constantly
The development world we live in is changing rapidly.
There is no way that you can keep working in the same way you used to worked up to a couple of years ago and still be relevant in years to come.
So, if you do not want to miss the train and be left as a victim of progress and times, you better look for ways to change yourself and to drive this change within your organization.
To Be Continued…
In my next post I will talk about some of the changes you may want to do in order to keep up with the evolution of testing.
Practitest is an end-to-end test management tool, that gives you control of the entire testing process - from manual testing to automated testing and CI.
Designed for testers by testers, PractiTest can be customized to your team's ever-changing needs.
With fast professional and methodological support, you can make the most of your time and release products quickly and successfully to meet your user’s needs.