Machine learning applications are getting ready to explode in every problem domain that produces data and relies...
on using that data to get an answer. That probably constitutes over 90% of the applications under development today.
Further, most of what you know about testing traditional applications doesn't apply to machine learning testing. In most testing situations, you seek to make sure that the actual output matches the expected one. With machine learning testing, looking for the right output is exactly the wrong approach. You will likely get a slightly different answer every time you enter the same data. But that doesn't make it wrong.
Instead, with machine learning testing, you have to have objective acceptance criteria that describe how close you have to come to the correct answer and provide a probability distribution. A medical diagnosis system will require higher accuracy than an e-commerce engine, for example.
This means that you have to have objective acceptance criteria before a line of code is written. Ironically, this means that you have to be more of a domain expert than a technical tester. With machine learning testing, you have to know the tolerances necessary in a successful application.
It also means that you need to have a fundamental understanding of mathematics and statistics. You need to be comfortable setting and measuring standard deviations and confidence intervals. If you've forgotten your college statistics, take a refresher to get ready for machine learning testing.
Lastly, you need a high-level understanding of the architecture of the machine learning system. You can't be uninformed as to how it was constructed. That's because, if a system isn't meeting its acceptance criteria, you have to give developers, data scientists and other stakeholders some intelligent reasons as to why that is happening. That is the only way any deficiencies can be addressed in machine learning testing.
What you need to know about artificial intelligence and software testing
Here's how artificial intelligence can help you be a better tester
Don't fear software test automation
Dig Deeper on Software Testing Methodologies
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.