You're overthinking this. You're testing whether the output of the algorithm has regressed since the previous version of the code, so it's a regression test.


Characterization test is a term for this, introduced by Michael Feathers in Working Effectively With Legacy Code. You're not testing whether the output is correct or not, and in many applications there is no precise definition of correctness. You're just using the test to guard against unintended changes to the behaviour of the subject under test.


The terminology you're looking for is "enumerated type" or simply "enum" in most programming languages. To directly quote the Wikipedia article on the term: In computer programming, an enumerated type (also called enumeration, enum, or factor in the R programming language, and a categorical variable in statistics) is a data type ...


I'm going to tackle your question from the standpoint of terminology rather than testing method, even though terminology and testing method can be intertwined. As you'll see further in my answer, this is all a matter of perspective. The term "regression test" is very broad. While specific definitions vary, the essence of a regression test is to ...

Only top voted, non community-wiki answers of a minimum length are eligible