Increment load test

Description

The goal of increment load tests is to find the point of failure at certain request rate. Increment load tests run on the principle that all requests that are defined in the test case which is set as 'testCase' will be run in multiple parallel threads. Execution starts with initial request rate set as 'startRPS' and continues for the duration of warm-up time set as 'warmUP'. It is followed by regular request rate increase which is defined as request rate increments set as 'incrementRPS' per time interval set as 'incrementInterval'. Request rate increase proceeds until first failure or maximum duration timeout set as 'maxDuration' has been reached.

test: load `(mandatory) property key and constant value to define the test yaml type as test load`
name: string `(mandatory) Name label of test load case`
loadtype: "increment" `(mandatory)
details:
    setupCases: [string, string,...] `List of test case names which will be executed before main tests` [optional]
    testCase: string `(mandatory) Name of test case for load scenario that is defined under project scope`
    finalCases: [string, string,...] `List of test case names which will be executed after all test has been executed` [optional]
    environment: string `Name of default environment for load test execution` [optional]
    startRPS: int `Requests per second, load rate at test start`
    maxDuration: string `Max duration of increment load test in seconds(s), minutes(m), hours(h) - 10s, 10m, 1h`
    incrementRPS: int `Added requests per second, every increment interval`
    incrementInterval: string `(mandatory) Increment RPS increase time in seconds(s), minutes(m), hours(h) - 10s, 10m, 1h`
    warmUp: string `Execution time with start RPS in seconds(s), minutes(m), hours(h) - 10s, 10m, 1h`
    workerType: string `Worker type that are setup for the load test`
    secondaryWorker: string `Worker type for setup and final case execution, for remote run` [optional]
    workers: `list of workers through which load test will be distributed` [optional]
        -   worker: string `Type name of worker`
            rate: int `Number of users for particular worker`
            incrementRate: int `Number of users for particular worker`
        -   ...
    input-positions:
        fromList: `Dictionary which holds variables as keys and list of values for each of them`
            (varname:string): [(varvalue:string|int), varvalue, varvalue...]
            example:
            $variable1: ["var value", "var value 2", "var value 3"]
            $variable2: ["var value"]
        fromVar: `Dictionary which holds variables as keys and variables that are resolved to list during runtime`
            (varname:string): (varvalue:string|int)
            example:
            $variable1: $varList1
            $variable2: $varList2

Example

test: load
name: incrementLoginLoadTest
loadtype: increment
details:
    testCase: Login
    environment: Staging 
    startRPS: 100
    maxDuration: 1m
    incrementRPS: 10
    incrementInterval: 1s
    warmUp: 1s
    workerType: loc

results matching ""

    No results matching ""