What Testing Really Requires
A passionate take on what software testing involves and why Dr. Grigori Melnik's definition of it was described as beautiful.
Join the DZone community and get the full member experience.Join For Free
“That’s one of the best descriptions of the mission of software testing that I’ve heard in 25 years. That was beautiful!”
This was Alan Shimel’s response to Dr. Grigori Melnik’s passionate and inspiring take on what software testing involves. Dr. Melnik, Tricentis’ Chief Product Officer, made quite an impression in his debut appearance on DevOps.com and Digital Anarchist. Expect to see (much) more of him there soon…starting with the launch of the DevOps Unbound video/podcast series on August 6 (where Grigori is joined by James Bach).
In the meantime, here’s your chance to catch the software testing description that Alan Shimel was raving about…
Here’s Dr. Melnik’s Full Description:
When it comes to testing as a craft, as a discipline, we don’t believe that you can automate it 100%. That will never happen – just like the vision of AI-driven development that’s been around for several decades now, where software automatically writes software. It’s nice to demo, it’s nice to read about in sci-fi or see in the movies, but it’s not going to happen.
Human insight, human intelligence, human thinking is required for testing. Testing is a highly intellectual activity – that’s something that I want to emphasize and for people to appreciate. There are a lot of different actions and activities within the testing role where tooling can give you a leg up by enabling you to automate some of the mundane tasks of checking and regression testing and all that. This is where we provide a plethora of different tools and capabilities – for everything that the machines can do better.
This includes everything from regression testing, to when you need to launch your testing at a high scale against tens of thousands of different nodes in a distributed fashion. You can do it as part of your distributed test execution just to make sure that the tests run faster – and as a result, your pipeline and everything ends up going faster, and you can do a continuous release on a daily or hourly basis, whatever is right for you. From the perspective of load and performance testing, trying to do it all yourself without the tooling, without the infrastructure that can handle all the required provisioning, installation, self-healing if needed, and capturing the data…that is insane.
All of this extra work is not “testing;” it is prepping and execution. With it taken care of, you – as a tester – can focus on things like…
- setting the targets
- setting the goals
- thinking about the hypotheses
- thinking about your oracles
- thinking about what you are you pursuing; what kind of insight you are trying to provide to the people you are working with
That’s where the role of the tester gets elevated from mere manual checking and going click, click, click to a much, much, much more thoughtful experience.
Testing used to be seen as a second-choice job, something you did if you couldn’t get a job as a developer. I don’t think this is the case anymore. Tricentis recently launched the industry’s largest open-source testing survey with respondents from around the world. When we looked at the demographics, it was amazing to see hard data that many of the respondents have been in the testing profession for 5, 10, 15, 20 years – which reiterates the whole point that this is not a launching path for some other developer career. This is not an entry-level job where you are learning the ropes. This is something that you need to be passionate about, that you need to be good at.
Going and breaking software, looking for bugs…that’s not something you just do on a whim. It requires skills, metrics, and thought. It requires training. It requires keeping your saws sharpened all the time.
Published at DZone with permission of , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.