Skip to content

What tools do we use?

Mees van Straten edited this page Nov 24, 2021 · 18 revisions

Tools

Content

Postman

XUnit
Sentry
SonarQube
Cloudflare
1Password

K6

Postman

Postman is still active in the pipleine to run integration tests. Research concluded that XUnit was a better fit to run integration tests so we migrated to XUnit. All new integration tests that will be written need to use XUnit. The existing tests that are written with Postman remain active in the pipeline.

XUnit

XUnit is the tool we use at DeX to perform integration tests. In the backend repository the 02.api.tests project is the project to run integration tests against the API. More information on how to setup XUnit can be found on the XUnit section of the getting started guide.

Sentry

Our applications are monitored by a tool called Sentry. https://sentry.io/

Sentry logs and shows all exceptions throwed by our production API. Sentry also has a 'breadcrumps' feature

This helps us to get insight on which bugs are occurring often. This way we can easily prioritize which ones should be focussed on.

To get a better idea of this tool see the image below.

image

SonarQube

SonarQube is a linter we use for Angular. SonarQube is integrated in the pipeline for pull requests. SonarQube checks the code for:

  1. New Bugs
  2. New Vulnerabilities
  3. New Security Hotspots
  4. New Code Smells

These are rated with letters from A to E where A is the best and E the worst.

An example of a failed SonarQube run is shown below. It failed because there is too much duplicate code.

image

Cloudflare

Cloudflare is operating between our visitors and our server.
Cloudflare protects our servers against malicious traffic like DDOS protection. Our SSL certificate is also managed on the Cloudflare system which promises the user an end-to-end encryption. The performance of visits are improved because Cloudflare takes care of caching and compression.

1Password

1Password is a system used by DeX as a password vault to maintain passwords used for the different systems we use.

K6

K6 is a CLI written in GO used to execute performance tests for DEX read more about performance testing and K6 here.