Skip to content

Track perf over time #6326

@Youssef1313

Description

@Youssef1313

Summary

This issue is intended to find the best reasonable way to automatically or semi-automatically track MSTest performance over time for different scenarios.

Background and Motivation

It's good information to know how the perf characteristics of MSTest and/or MTP is changing overtime.

Proposed Feature

My general idea is that we will have a separate pipeline, specifically for measuring performance of different scenarios. We can start initially with 6 jobs:

  • MSTest project with a single test class that has too many tests (e.g, 10k) with parallelism enabled.
  • MSTest project with a single test class that has too many tests (e.g, 10k) with parallelism disabled.
  • MSTest project with too many test classes (e.g, 1k or 10k), each has 100 tests with parallelism enabled on class level.
  • MSTest project with too many test classes (e.g, 1k or 10k), each has 100 tests with parallelism enabled on method level.
  • MSTest project with too many test classes (e.g, 1k or 10k), each has 100 tests with parallelism disabled.
  • MTP dummy framework that publishes too many test results.

Detailed implementation

We could either add this pipeline in testfx repo directly, or we could create a separate repo (testfx-perf-validation) that MSTest/MTP is inserted into on every build.

I'm not sure which would be best.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: InfrastructureArea: MSTestIssues with MSTest that are not specific to more refined area (e.g. analyzers or assertions)Area: MTPBelongs to the Microsoft.Testing.Platform core libraryArea: Performance

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions