什么是SUT,它来自哪里?

时间:2011-09-06 14:18:01

标签: c# .net unit-testing terminology naming

我看到很多人都在谈论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");
}

6 个答案:

答案 0 :(得分:41)

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

答案 1 :(得分:6)

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

  

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

     

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

     

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

来自good ole wikipedia

答案 2 :(得分:6)

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

答案 3 :(得分:3)

受测试系统SUT

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

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

答案 4 :(得分:2)

  

这个词来自何处?

DUT(被测设备)和UUT(被测设备)是测试引擎(非软件测试工程师)中非常常见的缩写。这就是术语SUT(被测系统)的地方 和CUT(测试中的代码)应该来自。

相关


2008年MSDN博客文章Naming SUT Test Variables

答案 5 :(得分:1)

最好区分SUT和测试系统。
SUT可以是测试系统的一部分,如下图所示:

enter image description here