性能回归测试的最佳工具是什么 - c#

Improve this question

我们的组织正在寻找一种工具来帮助您对每个版本进行性能测试。我们发布了一大堆新软件,并希望确保自上次发布产品以来,关键功能的性能不会降低。我们有C#和Java的代码。可以是以下任何内容:

  • 当我运行此功能时,它需要不到2秒的时间
  • 当我运行此功能集时,总计<5秒
  • 等。 。
  • 最好是使用我们的基本单元测试连续集成(nunit,junit,team city)和手写的性能检查来做到这一点,还是有专门的工具可以帮助您专注于此领域。

    有什么建议?

    参考方案

    在我的项目(倾向于使用Spring)中,我使用AOP和PerformanceMonitorInterceptor。

    虽然您可能不使用Spring,但是绝对可以看一下,并且可以基于您自己的版本来编写代码。我发现AOP非常适合这种情况,因为它不会使实际的函数调用变得混乱。如果您具有分层的应用程序,则可以将这些性能监视器放在每个级别。 (通常对于我的Web应用程序,我将其作为数据访问层,以便可以监视数据库查询性能。)

    单元测试休息点 - java

    我已经用Java编写了REST端点。应用程序中有c#代码使用RestClient调用这些端点。我正在考虑为这些编写单元测试。只是想知道什么是最好的方法? Moq框架或NUNIT还是其他?有任何想法吗?谢谢。 参考方案 如果要在Java中测试REST端点,则可以使用Mockito(https://site.mockito.org/)之类的模拟框架来模拟所需的任…

    我应该在TDD中使用lambda吗? - java

    在TDD中,lambda是否有害?我们如何测试封装在另一个函数中的lambda的功能?在我看来,您将无法测试该lambda以确保其正常运行。单元测试的重点是测试较小的代码单元。 Lambda是我认为不可测试的小代码单元。任何帮助,意见,澄清或链接将不胜感激。 参考方案 单元测试的重点是测试较小的代码单元。这并不意味着您应该被迫为所有小的代码单元编写单元测试。…

    减少测试用例之间的耦合 - java

    我试图学习有关JUnit和TDD的更多信息,但是我遇到了一些测试用例之间的耦合问题。当我为特定数据类型的API编写测试用例时,比如说Deque<T>,如何限制测试用例之间的耦合?例如,如果我正在为insertFirst(T item)方法编写一个测试用例,那么似乎很容易假设我应该能够在正确初始化的对象上调用该方法之后断言两件事: Deque对象的…

    在没有静态测试数据库的情况下,如何使DAO类的单元测试变脆? - java

    这是scanario:我正在研究一个DAO对象,该对象使用休眠条件API来形成许多复杂的查询,以对数据库执行某些任务(例如,跨多个字段的关键字搜索)。我们需要对此进行单元测试,以确保所生成的查询在各种情况下都是正确的。测试它的一种方法(可能是更好的方法)是通过在最后检查休眠条件并模拟数据库交互来正确创建休眠条件。但是,这是不理想的,因为它首先是一种作弊行为(…

    是否可以在静态类中注入模拟 - java

    我有静态课。我正在为使用Junit和Mockito的静态方法之一编写JUnit。在该方法中,将调用其他类级别的静态变量的函数。我想模拟这个函数调用。我的代码如下,class ABC { public static SomeVariable var; public static Value getSomething() { try { Value val = …