Ministry of Testing kindly published an article I wrote for them on reviewing requirements. It gives some tips for doing it, and also looks a bit at the human side of things. I hope it's useful for non-testers as well as testers, whether your requirements are big documents full of UML or something much briefer … Continue reading Reviewing requirements
When a failing test might be OK
Usually, a failing test is a problem. In this article I will cover three cases where this might not always be true: performance tests, testing a data science model such as a classifier, and testing in quantum computing. In all these cases, a definitive answer about passing or failing is given by a set of … Continue reading When a failing test might be OK
Fuzzy matching – context and testing
This is the third article in a short series on fuzzy matching: Introduction Example algorithms Testing and context In this article I will consider the difference between context-dependent and context-independent fuzziness, and think about how fuzzy matching systems can be tested. Context-dependent and context-independent fuzziness If you are trying to do fuzzy matching of strings, … Continue reading Fuzzy matching – context and testing
Fuzzy matching – example algorithms
This is the second article in a short series on fuzzy matching: Introduction Example algorithms Testing and context In this article I will go into three algorithms that are examples of fuzzy matching – Levenshtein distance, Dynamic Time Warping (DTW) and Hidden Markov Models (HMMs). Levenshtein distance The Levenshtein distance is a way to do … Continue reading Fuzzy matching – example algorithms
Fuzzy matching – introduction
This is the first article in a short series on fuzzy matching: Introduction Example algorithms Testing and context In this article I’ll describe how fuzzy matching is different from non-fuzzy or conventional matching, why you might want to use it, and some of what makes it hard. Conventional matching In conventional matching, when you compare … Continue reading Fuzzy matching – introduction
Debugging how conversations go at work
This article is trying to help programmers and people like them, when they have conversations at work that are about understanding, explaining, deciding etc. It’s not so much about persuasion or selling, or mentoring or coaching. These are all important kinds of conversations, but I’m not the person to help you with them. It might … Continue reading Debugging how conversations go at work
Aggregation and window functions for data
In this article I’ll go into two related operations or kinds of queries you can do to data, that are both to do with grouping things – aggregation and window functions. I’ll describe how they both work, how they’re similar but different, and give examples of when you might use them including how you might … Continue reading Aggregation and window functions for data
Pairs ancient and modern for security
I was struck recently by how often pairs crop up in things to do with security, and for how long this has been true. I’ll go into two similar old techniques to do with documents – indenture and chirograph, and an old pair-based object (the split tally) and then two things enabled by the current … Continue reading Pairs ancient and modern for security
Mental models for data engineering and data science
For programmers like me, it can be a bit of wrench when you get more into data work, particularly data engineering and data science. You’re used to data being around (in the background) and so think everything will be OK. This wasn’t the case for me, and so here are some mental models (glorified metaphors) that … Continue reading Mental models for data engineering and data science
Analysing white noise sounds from nature
The sound of rain, a breeze through trees, water in a stream and waves on a shore are probably familiar to you. They’re different but similar – they all contain white noise and don’t sound like e.g. a guitar, but they also don’t sound the same. In this article I try to analyse some recordings of … Continue reading Analysing white noise sounds from nature