Algorithm Test Engineering Part 2: Machine Learning

If we don’t exactly know what we are testing, how can we test? In my previous algorithm test engineering article, I discussed the testing and analysis of more classical algorithms, such as binary search. While the overall testing of algorithms can be complicated, most classical algorithms can be described as having quite clearly defined inputs, outputs, […]

Read More Algorithm Test Engineering Part 2: Machine Learning

Algorithm Test Engineering: Exploratory Job Analysis

Recently I had a discussion about what it means to test an algorithm, or what it means to do algorithm test engineering. I couldn’t quite come up with a convincing definition for myself. At a basic level, maybe you figure out some basic rules of the algorithm, give it some input and output. Check the results. But I believe there is more to it, and this is what I explore in this article.

Read More Algorithm Test Engineering: Exploratory Job Analysis

Metamorphic Testing of Machine-Learning Based Systems

aditional software. With traditional software, the specification and its relation to the implementation is typically quite explicit. With more complex machine learning-based system, this relation is harder to explicitly define. This makes testing them more complicated. In this article, I present an updated version of my earlier work on using metamorphic testing for ML based systems.

Read More Metamorphic Testing of Machine-Learning Based Systems