What is SUT and where did it come from?

I've never heard the term either, but a quick search gave

System under test (SUT) refers to a system that is being tested for correct operation. [...] The term is used mostly in software testing.

A special case of a software system is an application which, when tested, is called an application under test.

The term SUT can also refer to a stage of maturity of the software because system testing is the successor of integration testing in the testing cycle.

From good old Wikipedia.


It most likely means "System Under Test", i.e. the system being tested, as opposed to other systems it may interact with, but which are not being explicitly tested (because they're someone else's responsibility).


The System Under Test (SUT) from a Unit Testing perspective represents all of the actors (i.e one or more classes) in a test that are not mocks or stubs. In your example that would be the controller.


Where does this term come from?

DUT (device under test) and UUT (unit under test) are very common abbreviations among test engineers (non-software test engineers). That's where the term SUT (system under test)
and CUT (code under test) ought to have come from.

Related:
2008 MSDN blog post Naming SUT Test Variables.