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
As a junior tester, I think learning scripting languages could make me more valuable to my team and enhance my career. But how do I pick the ... Continue Reading
DevOps teams use chaos engineering, but at what cost? Learn how this testing method secures applications in ways that traditional testing can't. Continue Reading
You want to attend a software testing conference, but your employer said it's too expensive. Here are some ways to improve your chances to attend. 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.