什么是SUT,它来自哪里?

我看到很多人都在谈论SUT这个术语,但不明白为什么他们会使用这个术语。

SUT是你想要测试的吗?

这个术语来自哪里,它意味着什么?

例如,在这个测试中,我的SUT是什么?

[TestMethod] public void UsersAction_should_return_IndexAction() { const long id = 1; UsersViewModel viewModel = new UsersViewModel() { SelectedUsers = new long[] { 1, 2, 3, 4 } }; ActionResult result = _controller.Users(id, viewModel); result.AssertActionRedirect().ToAction("Index"); } 

unit testing透视图中的系统测试(SUT)表示测试中不是模拟或存根的所有参与者(即一个或多个类)。 在你的例子中,这将是控制器。

我从来没有听说过eiher这个词,但快速搜索了

被测系统(SUT)是指正在测试正确操作的系统。 该术语主要用于软件测试。

软件系统的一个特例是一种应用程序,在测试时称为被测应用程序。

术语SUT也意味着软件的成熟阶段,因为系统测试是测试周期中集成测试的后继者。

来自good ole 维基百科 。

它很可能意味着“被测系统”,即正在测试的系统,与其可能与之交互的其他系统相反,但未经过明确测试(因为它们是其他人的责任)。

被测系统SUT 。

在你的unit testing例子中,如果你真的想谈论SUT,它可能UsersAction 。 但是,在谈论unit testing时,我没有遇到任何人使用SUT。 对我来说,这听起来更像是适合集成/系统/性能测试或类似的东西。

例如,进行性能测试。 在这里,您可能会说SUT是整个硬件/软件系统,或者它可能只是其中之一,具体取决于您在特定性能测试中测试的内容。

这个术语来自哪里?

DUT(被测设备)和UUT(被测设备)是测试引擎(非软件测试工程师)中非常常见的缩写。 这就是SUT这个词应该来自哪里。

相关:2008年MSDN博客文章命名SUT测试变量 。