WavebreakmediaMicro - Fotolia
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 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