Gatling is a highly capable load testing tool. It is designed for ease of use, maintainability and high performance.
Out of the box, Gatling comes with excellent support of the HTTP protocol that makes it a tool of choice for load testing any HTTP server. As the core engine is actually protocol agnostic, it is perfectly possible to implement support for other protocols. For example, Gatling currently also ships JMS support.
This information was updated as of 01 January 2022. Changes may have occured since then.
Please help us improve by sharing your feedback to techhorizon@and.digital. Thank you.
Cypress is a next generation front end testing tool built for the modern web.
Cypress is most often compared to Selenium; however Cypress is both fundamentally and architecturally different. Cypress is not constrained by the same restrictions as Selenium.
Cypress enables you to write all types of tests:
Cypress can test anything that runs in a browser.
Cypress comes fully baked, batteries included. Here is a list of things it can do that no other testing framework can:
Artillery is a modern, powerful & easy-to-use performance testing toolkit. Use it to ship scalable applications that stay performant & resilient under high load.
Artillery prioritizes developer productivity and happiness, and follows the "batteries-included" philosophy.
Artillery is designed for testing backend systems, such as API services, ecommerce backends, chat systems, game backends, databases, message brokers and queues, and anything else that can be communicated with over a network.
It can be used to test any backend regardless of what protocol it speaks or what language it's written in. Artillery supports HTTP, WebSocket, and Socket.io out of the box, and many additional protocols such as HLS, Kinesis, and Kafka via plugins. Support for additional protocols can be added via Artillery's plugin interface.
Artillery can be used to run Playwright-based scripts with artillery-engine-playwright. This is an early experimental feature, but it can be used for load testing or synthetic testing against deployed applications (in production or staging).
For E2E testing of web apps in development, Cypress.io is recommended.
Cucumber reads executable specifications written in plain text and validates that the software does what those specifications say. The specifications consists of multiple examples, or scenarios. For example:
Scenario: Breaker guesses a word
Given the Maker has chosen a word
When the Breaker makes a guess
Then the Maker is asked to score
Each scenario is a list of steps for Cucumber to work through. Cucumber verifies that the software conforms with the specification and generates a report indicating ✅ success or ❌ failure for each scenario.
In order for Cucumber to understand the scenarios, they must follow some basic syntax rules, called Gherkin.
Gherkin is a set of grammar rules that makes plain text structured enough for Cucumber to understand. The scenario above is written in Gherkin.
Gherkin serves multiple purposes:
The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.
Apache JMeter may be used to test performance both on static and dynamic resources, Web dynamic applications.
It can be used to simulate a heavy load on a server, group of servers, network or object to test its strength or to analyze overall performance under different load types.
Selenium is an umbrella project for a range of tools and libraries that enable and support the automation of web browsers.
It provides extensions to emulate user interaction with browsers, a distribution server for scaling browser allocation, and the infrastructure for implementations of the W3C WebDriver specification that lets you write interchangeable code for all major web browsers.
SonarQube® is an automatic code review tool to detect bugs, vulnerabilities, and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests.
Snyk is a platform allowing you to scan, prioritize, and fix security vulnerabilities in your own code, Open Source dependencies, Container images, and Infrastructure as Code (IaC) configurations.
Developers now assemble applications with a combination of proprietary and open source code, run that code in containers, and then deploy with infrastructure as code configurations with technologies like Kubernetes and Terraform.
A good security process secures each of these components where they are built and maintained. Snyk integrates into DevOps processes to work the with developers in the methods they prefer to work while following and supporting industry best practices. Snyk integrates directly into your IDEs, workflows, and automation pipelines to add security expertise to your toolkit.