Reduce Execution Time

Eliminate duplicate or redundant requests/sessions from your test runs to reduce your test's runtime.

While starting a test you can choose to not run duplicate requests or sessions by selecting checkboxes: Deduplicate Requests and Deduplicate Sessions

You can check out the number of Sessions and Requests that are going to be played and how much time you will be saving with deduplication

When you choose to deduplicate Requests, HyperTest will only consider requests with unique parameters in a particular session. The latest requests are given preference when deduplicated.

In the case of deduplicating Sessions, HyperTest will weed out the duplicate session based on the scenarios they cover while taking requests with unique parameters into account.

For example, let's say you have 2 sessions(A and B), session A contains the Log in, Add to Cart, and Checkout scenarios, and on the other hand session B contains just the Login scenario with requests having the same payload as session A, we can say session B is a subset of session A, In this case, HyperTest will choose session A to test as it contains all the unique scenarios.

Advanced Request Deduplication

You can tell HyperTest what aspect of a request to consider while deduplication, by default unique request parameters are considered, but you can choose from other options according to your needs.

The options provided have a Level associated with them, the higher the level, the higher the reduction in the number of requests.

You can also provide the request deduplication level from CLI:

./hypertest start-new-test --req-dedup-level [numeric level value(1-3)]

If you're planning to use this feature in your CI pipeline, first make sure that you check test stats(Requests Count) from UI because using this feature will make your tests run fast but it can also make you miss logical errors, as it will reduce the number of requests you test by a significant amount.

Let's try to understand these options with an example, we will take a Session that contains some requests and we will see the result of deduplication with each option.

Results with each option:

Total request Count: 5

No.PathPayload
1

GET /api/v1/products/5

Query: {

"lang": "en"

}

2

GET /api/v1/products/6

Query: {

"lang": "en"

}

3

GET /api/v1/products/5

Query: {}

4

GET /api/v1/products/8

Query: {

"lang": "fe"

}

5

GET /api/v1/products/6

Query: {

"lang": "en"

}

Now that you have understood what deduplication is let's look into what a deduplication rule is and how to create it.

Last updated