Home

Awesome

<h1 align="center"> <img width="600" src="media/testing-tools.jpeg" alt="Testing tools"> <br> <br> </h1>

Awesome Testing Tools

Awesome contributions welcome CC-0 license Say Thanks!

Table of contents

Contributions

If we are missing some awesome testing tool that you already know, follow our contribution guide and make PR.

Automated Testing Tools

NameDescriptionLinkPrice
AthenaAthena is an automation platform with a plugin architecture that allows you to easily create and share serviceshttps://athena-oss.github.io/Free
AvaAVA is a test runner for Node.js with a concise API, detailed error output, embrace of new language features and process isolation that let you write tests more effectively. So you can ship more awesome code.https://github.com/avajs/avaFree
BugBugBugBug is a lightweight test automation tool designed exclusively for web applications. It uses a Chrome extension to record and playback tests. It's free, you only need to pay if you want to schedule cloud monitoring or integrate it with your CI/CD pipelines.https://bugbug.ioFree/Paid
CheckbotBrowser extension. Tests your site follows 50+ SEO, speed and security best practices. Finds broken links, insecure pages, redirect chains, duplicate content and more. Crawls your site checking multiple pages at once.https://www.checkbot.io/Free/Paid
CucumberCucumber is an open-source tool that supports Behaviour-Driven Development (BDD). The tests are written in Gherkin. Cucumber integrates nicely with Selenium WebDriver, Serenity BDD, Watir and Capybara.https://docs.cucumber.io/Free
CypressCypress is a Javascript End-to-End testing framework. It allows you to run e2e tests effortlessly (no need to do a Java/Selenium setup in order to use it) with features such as debugging with Chrome DevTools and screenshots for tests run headlessly. The documentation is good and comes with many examples.https://www.cypress.io/Free/Paid
HttpMasterHttpMaster is a GUI tool for HTTP testing and debugging.https://www.httpmaster.net/Free/paid
InstancioInstancio is an open-source library for automating data setup in unit tests. It can create fully-populated POJOs with a single method call. Instancio can be used with any testing framework. It also provides a JUnit 5 extension.https://www.instancio.org/Free
JUnitJUnit is an open-source unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development and is one of a family of unit testing frameworks which is collectively known as xUnit.https://junit.org/Free
KarateKarate is the open-source tool to combine API test-automation, mocks, performance-testing and even UI automation into a single, unified framework. The BDD syntax popularized by Cucumber is language-neutral, and easy for even non-programmers. Assertions and HTML reports are built-in, and you can run tests in parallel for speed.https://github.com/karatelabs/karateFree
KarmaKarma can also watch your development files for changes and re-run the tests automatically. Karma lets us run jasmine tests as part of a development tool chain which requires tests to be runnable and results inspectable via the command line. It's not necessary to know the internals of how Karma works.https://karma-runner.github.ioFree
Katalon StudioKatalon Studio is a powerful test automation solution for web application, mobile, and web services. Being built on top of the Selenium and Appium frameworks, Katalon Studio takes advantage of these solutions for integrated software automation.https://www.katalon.com/Free
LambdaTestLambdaTest is a cloud-based cross-browser testing platform that allows you to test your website or web application on 2000+ real browsers and operating systems. It is a fully managed platform that requires no setup or maintenance.https://www.lambdatest.com/Free/Paid
MochaMocha is open-source JavaScript Testing Framework that runs on Node.jshttps://mochajs.org/Free
MockitoMockito is a mocking framework that lets you write tests with a clean & simple API. Mockito's tests are very readable and they produce clean verification errors.https://site.mockito.orgFree
Nightwatch.jsNightwatch.js is an integrated framework for performing automated end-to-end testing on web applications and websites, across all major browsers. It is written in Node.js and uses the W3C WebDriver API to interact with various browsers.https://v2.nightwatchjs.orgFree
Panaya Test DynamixWith Test Dynamix, you can quickly manage tests with automatic workflows, easy documentation, real-time analytics, and smart change analysis.https://www.panaya.com/testing/Free/paid
PestPHPThe elegant PHP testing framework. Pest is a testing framework with a focus on simplicity, meticulously designed to bring back the joy of testing in PHP.https://pestphp.com/Free
PhpstanPHPStan focuses on finding errors in your code without actually running it. It catches whole classes of bugs even before you write tests for the code. It moves PHP closer to compiled languages in the sense that the correctness of each line of the code can be checked before you run the actual line.https://phpstan.orgFree
PhpUnitPHPUnit is a unit testing framework for the PHP programming language. It is an instance of the xUnit architecture for unit testing frameworks that originated with SUnit and became popular with JUnithttps://phpunit.de/Free
PlaywrightPlaywright is a framework for end-to-end testing of web applications. The framework supports writing tests in a variety of languages.https://playwright.dev/Free
PsalmPsalm is a static analysis tool for finding errors in PHP applications, built on top of PHP Parser.https://psalm.devFree
PuppetryPuppetry is an open-source scriptless test automation tool built on top of Google’s Puppeteer. It can be used by QA engineers with no programming background. Puppetry can also export the tests into a Jest.js project, so they can be included into CI/CD pipeline.https://puppetry.app/Free
ReadyAPIReadyAPI is a paid tool owned by Smartbear. It is used for testing API's. It is built on top of SOAPUI. So it has all the features of SOAPUI and additional features such as support for data-driven testing, SCM friendly project structure, and better assertion capabilities. ReadyAPI is a no-code platfom, but it supports Javascript and Groovy as scripting languages to implement unforseen functionality.https://smartbear.com/product/ready-apiPaid
Robot FrameworkRobot Framework is an open-source automation framework that implements the keyword-driven approach for acceptance testing and acceptance test-driven development (ATDD). Robot Framework provides frameworks for different test automation needs. But its test capability can be further extended by implementing additional test libraries.http://www.robotframework.org/Free
SeleniumSelenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) be automated as well.https://www.seleniumhq.org/download/Free
SilkTestTest automation for web, mobile, rich-client, and Enterprise applicationshttps://www.microfocus.com/en-us/products/silk-test/overviewPaid
SquishThe GUI Testing Tool for automated functional regression and system testing. Squish supports of all kinds of cross-platform desktop, mobile, embedded and web applications.https://www.froglogic.com/Paid
TestCaféTestCafé is an open-source cross browser end-to-end functional test automation solution for web application. It is a JS based project, and run test suites on any popular browser without adding any additional code.https://devexpress.github.io/testcafe/Free/Paid
TestCompleteCreate complex and scalable automated UI functional tests in seconds with Record & Playback capabilities. With TestComplete you can trust your recorded tests will always play back - powered by the most accurate and customizable object repository, with 1k Rules Covering 50k properties & 500 controls.https://smartbear.com/Paid
TestimTestim is a modern day automated testing tool. It uses machine learning to speed the authoring, execution, and maintenance of automated tests. The tester can be analysis any test case in few minutes and execute them on multiple web and mobile platforms.https://www.testim.io/Paid
TelerikThe complete test automation solution for GUI, Performance, Load and API testing.Test web, mobile and desktop applications.http://www.telerik.com/Paid
Unified Functional TestingCross-browser and multi-platform, Optimized distributed testing, Visual test flows (canvas), Multi-testing solution, Image-based object recognition.https://software.microfocus.com/Paid
vREST NGvREST NG is a zero code API automation solution for functional and regression testing of your APIs. It will help you to efficiently develop your test suites using record/replay, excel sheets (data driven testing) and allow you to derive your API testing using Swagger or OpenAPI specs.https://vrest.ioFree/Paid
WatirWaitr is an open-source cross-platform web application testing tool. It is most reliable and flexible automation tool of Ruby libraries for web browsers automation. This cross browser testing tool interacts with a browser just like human being so it clicks links, filling out forms and validating text.http://watir.com/Free
WHITEWhite is open-source, written in C# and it supports all rich client applications, which are Win32, WinForm, WPF and SWT (Java). It is .NET based and does not require the use of any proprietary scripting languages.https://www.codeproject.com/Articles/289028/White-An-UI-Automation-tool-for-windows-applicatioFree
JestJest is open-source Javascript testing framework, written in Typescript and developed by Facebook. It supports testing with Babel, TypeScript, Node, React, Angular, Vue and much more!https://jestjs.io/Free
The Testing LibraryThe Testing Library is a set of helpers that let you test several frameworks, including React, Angular, Vue and their components without relying on their implementation details. This approach makes refactoring a breeze and also nudges you towards best practices for accessibility.https://testing-library.com/Free
GoConveyGoConvey is a behavior-driven development(BDD)-style testing framework that supports the go test command. It uses an expressive domain-specific language (DSL) that facilitates the creation of self-documenting, highly readable tests.http://goconvey.co/Free
CodeceptJSE2E testing framework with a special unificated BDD-style syntax for different frameworks.https://codecept.io/Free
testomat.ioModern TCMS allows sync the manual and automated tests in one place. Real-time reporting. Rich analytics dashboard with value testing metrics.https://testomat.io/Free
Zato API TestAPI testing in pure English. No programming needed. Implemented and extendable in Python.https://zato.io/en/docs/3.2/api-testing/index.htmlFree

Load Testing Tools

NameDescriptionLinkPrice
JmeterThe 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.http://jmeter.apache.org/Free
LoadUIScriptless Load Testing for REST & SOAP APIshttps://www.soapui.org/Paid
WAPTTest the Performance of Web Applications Under Load.https://www.loadtestingtool.com/Free/Paid
BlazeMatterPerformance and Load Testing, 100% compatible with Apache JMeter™, 3rd party plugins, and advanced features. Control any aspect of your test in real time.https://www.blazemeter.com/Free/Paid
GatlingGatling is an open-source load and performance testing framework based on Scala, Akka and Netty. It is known for it's high performance, ready-to-present HTML reports, scenario recorder and developer-friendly DSL.https://gatling.io/Free
LocustDefine user behaviour with Python code, and swarm your system with millions of simultaneous users.https://locust.io/Free
ApacheBenchab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to give you an impression of how your current Apache installation performs. This especially shows you how many requests per second your Apache installation is capable of serving.https://httpd.apache.org/docs/2.4/programs/ab.htmlFree
Grafana K6Grafana k6 is an open-source load testing tool that makes performance testing easy and productive for engineering teams. k6 is free, developer-centric, and extensible.https://k6.ioFree

Mobile Testing Tools

NameDescriptionLinkPrice
RobotiumRobotium is an open-source test automation tool mainly use for Android UI testing.https://robotium.com/pages/free-trialFree
AppiumAppium is an open source test automation framework for use with native, hybrid and mobile web apps. It drives iOS, Android, and Windows apps using the WebDriver protocol.http://appium.io/Free
EspressoEspresso is a mobile testing tool for the enterprises. As an open-source tool, it's very easy to use, and it can extend within that working environment.EspressoFree
ExperitestPerform continuous web and mobile app testing to accelerate release cycles and increase quality.https://experitest.com/Paid
RobolectricRobolectric is an open source test framework for Android. It provides faster unit-testing by running tests inside JVM.http://robolectric.org/Free
React Native Testing LibraryThe React Native Testing Library is a lightweight solution for testing React Native components. It provides light utility functions on top of react-test-renderer, in a way that encourages better testing practices.https://callstack.github.io/react-native-testing-library/Free
MaestroMaestro is the simplest and most effective mobile(Android/iOS) UI testing framework.https://www.mobile.dev/Free

Penetration Testing Tools

NameDescriptionLinkPrice
Kali LinuxKali Linux is the new generation of the industry-leading BackTrack Linux penetration testing and security auditing Linux distribution. Kali Linux is a complete re-build of BackTrack from the ground up, adhering completely to Debian development standards.https://www.kali.org/Free
MetaSploitA collaboration between the open source community and Rapid7, Metasploit helps security teams do more than just verify vulnerabilities, manage security assessments, and improve security awareness; it empowers and arms defenders to always stay one step (or two) ahead of the game.https://www.metasploit.com/Free
WiresharkWireshark is the world’s foremost and widely-used network protocol analyzer. It lets you see what’s happening on your network at a microscopic levelhttps://www.wireshark.org/Free
NetSparkerAutomatic, dead accurate and easy-to-use web application security scanner to automatically find security flaws in your websites, web applications and web services.https://www.netsparker.com/Paid
OWASPThe OWASP Zed Attack Proxy (ZAP) is one of the world’s most popular free security tools and is actively maintained by hundreds of international volunteers*. It can help you automatically find security vulnerabilities in your web applications while you are developing and testing your applications. Its also a great tool for experienced pentesters to use for manual security testing.https://www.owasp.org/Free
Burp SuiteBurp Suite is a graphical tool and integrated platform for testing Web application security. Its various tools work seamlessly together to support the entire testing process, from initial mapping and analysis of an application’s attack surface, to finding and exploiting security vulnerabilities.https://portswigger.net/burp/Free
ParrotOSA lightweight security flavor of Debian linux with a framework of security tools already installed.https://www.parrotsec.org/Free
NmapAn open-source network scanner with many features to discover what is available over the network including hosts, services and operating systems.https://nmap.org/Free
Aircrack-ngAircrack-ng is a comprehensive collection of utilities for analyzing the weaknesses in a WiFi network. The tool allows you to monitor the security of your WiFi network by capturing data packets and exporting them to text files for further analysis. You can also verify the performance of WiFi cards through capture and injection.https://www.aircrack-ng.org/free
John-the-ripperJohn the Ripper is an open source tool that cracks encryption and carries out brute force password attacks. It can crack passwords using lists of common words in over 20 languages, custom keyword lists, using mangling rules to try different variations of each word. It is a very robust tool that can run on a local machine for as long as needed to crack a set of passwords.https://www.openwall.com/john/Free

Test Observability Tools

NameDescriptionLinkPrice
ForesightGitHub Actions and test monitoring tool. Foresight provides full visibility and deep insights into the health and performance of your tests and CI/CD pipelines. Monitor GitHub Actions CI workflows, tests, builds, steps, and more with Foresight.https://www.runforesight.comFree for open-source
DatadogDatadog is a monitoring, security and analytics platform for developers, IT operations teams, security engineers and business users in the cloud age. Datadog's SaaS platform integrates and automates infrastructure monitoring, application performance monitoring and log management to provide unified, real-time observability of their customers' entire technology stack. Datadog is used by organizations of all sizes and across a wide range of industries to enable digital transformation and cloud migration, drive collaboration among development, operations, security and business teams, accelerate time to market for applications, reduce time to problem resolution, secure applications and infrastructure, understand user behavior and track key business metrics.https://www.datadoghq.com/Paid

Web3 and Blockchain Testing Tools

NameDescriptionLinkPrice
Dapp.toolsCommand line tools and smart contract libraries for Ethereum smart contract development.https://dapp.tools/Free
GanachePersonal Ethereum blockchain which you can use to run tests, execute commands, and inspect state while controlling how the chain operates.https://trufflesuite.com/ganache/Free
FoundryBlazing fast, portable and modular toolkit for Ethereum application development written in Rust.https://github.com/foundry-rs/foundryFree
HardhatMultichain Ethereum development environment.https://hardhat.org/Free
Robot Framework Solidity Testing ToolkitThis combines popular smart contract testing and deployment libraries with Robot Framework.https://github.com/jg8481/Robot-Framework-Solidity-Testing-ToolkitFree
Truffle SuitesComprehensive suite of tools for smart contract development.https://trufflesuite.com/Free

Contract Testing tools

Contract testing becomes applicable as soon as you have two services that need to be communicated. It becomes crucial in microservices world, where multiple services have to interact with each other.

Following use cases could be valid for the contract testing in consumer and provider world:

NameDescriptionLinkPrice
PactIn Microservice era, managing contract between two services has become crucial part. Originally started by a development team at realestate.com.au, where they were trying to figure out how to write integration testing for their microservice architecture and later ended up as a consumer driven contract testing tool.Unlike a schema or specification, which is a static artifact that describes all possible states of a resource, a Pact contract is enforced by executing a collection of test cases, each of which describes a single concrete request/response pair - Pact is, in effect, "contract by example".https://docs.pact.io/Free
JsonSchemaPact can not be used in situation where you cannot load data into the provider without using the API that you’re actually testing (eg. public APIs). Sometimes you would want to check only the semantic and structure of the API. (eg. as a web client, you are interested in nature of the data.), JSONSchema, would be perfect choice for that. There arehttp://json-schema.org/ . There are different validators written for different languages. For my use case, I have written a blog for the same.Free
RestQAA REST API testing Framework based on ghekin to manage microservice local testing using the best in class Developer experience.https://github.com/restqa/restqaFree

License

CC0

To the extent possible under law, Zoran Pandovski has waived all copyright and related or neighboring rights to this work.