Skip to content
This repository has been archived by the owner on Jul 17, 2023. It is now read-only.

Performance Testing for TxMA

License

Notifications You must be signed in to change notification settings

alphagov/di-txma-performance

 
 

Repository files navigation

Publish

Performance Testing Framework

Archived: Performance testing has now been centralised under - https://github.com/alphagov/di-devplatform-performance

The following is an example performance test framework.

Getting Started

Developer tools required:

  • AWS CLI with credentials to your target AWS account
  • AWS SAM CLI (brew tap aws/tap && brew install aws-sam-cli)
  • pre-commit (brew install pre-commit && pre-commit install && pre-commit install -tprepare-commit-msg -tcommit-msg)
  • GDS CLI (brew tap alphagov/gds && brew install gds-cli)

k6.io

This framework is setup to execute k6 against stacks in the same account as this performance test application.

Environment Variables

This will run against one or more stacks. To understand the environment, the K6 container will have the following env variables exposed:

$CFN_$StackName_$Output

The tests should aim to be 100% blackbox testing. If the developers require further access, this should be exposed via a specific permission on the performance application roles/pipelines. The application stacks themselves should not need to be modified at anything other than environment specific config.

The performance stack is independent of the application stacks, they should only integrate based on the output variables.

Types of testing

Product Level Load Testing

Where we're testing against a deployed 'product' in an environment.

Stack Level Load Testing

Where we're testing against a particular CFN stack deployed to an environment.

Third Party Load Testing

Where we're testing directly/indirectly to a third party.

About

Performance Testing for TxMA

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 87.4%
  • Dockerfile 7.0%
  • JavaScript 5.6%