Jumbo2010 - Fotolia
Help! I've been assigned to test software that learns, and I don't know what that means.
Welcome to the world of machine learning in software testing. Machine-learning software takes past data and uses that data to better understand and make decisions in a problem domain. It consists of a series of mathematical algorithms that are able to adjust themselves based on its understanding of that data. It won't produce an exact answer, but it will usually produce one that is close enough to correct for its problem domain.
This type of software usually uses a technology called neural networks, which, to put it in a simple way, mimics the operation of the human brain. There are other technologies, such as genetic algorithms and rules-based systems, but most deep-learning systems are using neural networks.
Machine learning in software testing requires an entirely different approach. You will rarely, if ever, get the same result twice with the same input. Testing these systems requires a deep understanding of the problem domain and the ability to quantify the results you need in that domain. Are your results "good enough?" You have to internalize that a bug is more than just an unexpected output.
For machine learning in software testing, you should also have a high-level understanding of the learning architecture. You don't have to read the code, but you do have to be aware of the architecture of your network and how the algorithms interact with one another. You might have to tell the developers that they have to toss out their approach and start over again. Don't let the highly mathematical nature scare you. Machine learning in software testing is accessible to all testers with an open mind.
The machine-learning revolution is just starting; if you haven't encountered it by now, you likely will in the near future. With machine learning in software testing, you need to be comfortable with being able to measure and quantify your testing and objectively explain your confidence in the results.
It's time to take your test skills to the next level
Is data science in your testing future?
It's time for testers to get to know the business side
Dig Deeper on AI in software testing
Related Q&A from Gerie Owen
Web services and APIs aren't the same -- or are they? How do web services and API testing differ, and what does each type of test aim to achieve? Continue Reading
A script-based tool has replaced a daily testing exercise on some code. Is it simply an automated test, part of a test automation strategy or even ... Continue Reading
Developers and testers strive to create quality, reusable code to deploy apps faster and keeps users happy. But what metrics should they track to ... Continue Reading