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 Software Testing Best Practices
Related Q&A from Gerie Owen
Expert Gerie Owen discusses the differences between a startup culture and an established company's work environment. Learn more about which would ... Continue Reading
Does the development team determine the software test schedule? Find out why working with DevOps can alleviate some time and test constraints. Continue Reading
The Agile team collaborates closely and makes a lot of changes. What does the ideal Agile tester possess in technical and people skills? Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.