That seems like a stupid question, but I can't find a proper name for "code that tests another code". The most of literature names that kind of code just "tests" but it's way to general in my understanding (obviously I am not an English native speaker so I might be wrong) - code might be tested by people, some external machine that is not "code" at all. The same applies to "code tests".

I was thinking about "testing code" but this seems to be a bit confusing as it looks more like a verb than noun.


2 Answers 2


To differentiate between tests expressed in a form of source code, and tests expressed as manual instructions to be executed by humans, you can use the term “automated tests,” as opposed to “manual tests.” Both terms are frequently used, including in the debate about whether all tests should be automated or not.

When it comes to your second distinction, I'm not sure to understand what you mean by tests executed by an external machine. Unless there is some form of artificial intelligence, the external machine runs code, so it's exactly the same. If your intent is specifically to differentiate between tests coded by a developer versus tests run by an artificial intelligence system, you may use the term “test code.” I've never seen the term being used; at the same time, I've never seen any tests run by artificial intelligence either.

Don't combine both, however. “Automated test code” doesn't mean anything (or at least not what you are asking for; it would rather mean that the code which performs the test was somehow generated automatically).


The terms "test harness" and "test bed" have been used in relation to automated software tests. I've heard these as far back as 1999. They go much further back, and they come from hardware engineering, probably. I haven't heard these term in any recent conversations about software, though.

Not the answer you're looking for? Browse other questions tagged or ask your own question.