Smoke Testing for Machine Learning: Simple Tests to Discover Severe Defects

09/03/2020
by   Steffen Herbold, et al.
0

Machine learning is nowadays a standard technique for data analysis within software applications. Software engineers need quality assurance techniques that are suitable for these new kinds of systems. Within this article, we discuss the question whether standard software testing techniques that have been part of textbooks since decades are also useful for the testing of machine learning software. Concretely, we try to determine generic smoke tests that can be used to assert that basic functions can be executed without crashing. We found that we can derive such tests using techniques similar to equivalence classes and boundary value analysis. Moreover, we found that these concepts can also be applied to hyperparameters, to further improve the quality of the smoke tests. Even though our approach is almost trivial, we were able to find bugs in all three machine learning libraries that we tested and severe bugs in two of the three libraries. This demonstrates that common software testing techniques are still valid in the age of machine learning and that they are suitable to find and prevent severe bugs, even in mature machine learning libraries.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/09/2023

Automatic Static Bug Detection for Machine Learning Libraries: Are We There Yet?

Automatic detection of software bugs is a critical task in software secu...
research
06/03/2019

A Comprehensive Study on Deep Learning Bug Characteristics

Deep learning has gained substantial popularity in recent years. Develop...
research
07/25/2022

Differential testing for machine learning: an analysis for classification algorithms beyond deep learning

Context: Differential testing is a useful approach that uses different i...
research
04/19/2022

Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Deep learning (DL) techniques are proven effective in many challenging t...
research
07/20/2022

Fairness Testing: A Comprehensive Survey and Analysis of Trends

Software systems are vulnerable to fairness bugs and frequently exhibit ...
research
12/15/2021

Nirikshak: An Autonomous Testing Framework

Quality Assurance (QA) is an important part of any product. But even wit...
research
07/11/2023

Can a Chatbot Support Exploratory Software Testing? Preliminary Results

Tests executed by human testers are still widespread in practice and fil...

Please sign up or login with your details

Forgot password? Click here to reset