Awesome Testing
A curated list of testing software, extensions and resources
Foreword
This is intended to be a curation of resources for the new among the software testing community. It is not tailored to a specific area (Usability/Performance) or role (Automation/Management). The idea is that you could hand this list to a CS graduate and it would greatly improve their testing skills, efficiency and overall breadth of knowledge. Note that this is for all areas of software testing after the code in question is written (no unit tests/static analysis!).
Finally, I'm sure everyone who reads this list has one thing they want to add. Please read the How to Contribute page and add to the list. :)
Contents
- Software
- Books
- Training
- Blogs
- Newsletters
- Suggested Awesome Lists
- QA & Testing Road Map
- Others
- Contributing
- Code of Conduct
- License
Software
Security
- BeEF - Manipulate the browser exploiting any XSS vulns you find.
- OWASP ZAP - This intercepting proxy allows you to see all HTTP traffic and manipulate it in real time. Easy to scan, catalog and exploit security issues.
Make your life easier
- Courgette - Beautifully simple UI testing. Proper declarative BDD scenarios using Gherkin, Gherkin templates and composable YAML-style page and component objects.
- BareTail - Brings the tail linux command to Windows, coloured lines and REGEX search and loads of other features.
- ProxySwitcher - We all have to mess with proxies, this makes it a lot easier when using Test/Prod/localhost proxies.
- Full Page Screenshot - For when PrintScreen isn't big enough.
- Form Filler - Large forms can be really irritating to fill out each time, speed it up with dummy data.
- Bug Magnet - Suggests values based on the field type.
- Check All - "Select All" is often not available. Why not bring your own?
- Xmind - The best (free) Mindmapping tool for documenting your tests.
- TestLink - Open Source test case management system
- Fluxguard - Screenshot pixel and DOM change comparisons and regressions.
- recheck-web - Open Source change comparison tool with local Golden Masters, git-like ignore syntax and "unbreakable selenium" tests.
- Kiwi TCMS - Open Source test case management system.
- Captura - Open Source video recording tool.
- QA Wolf - Open Source Node.js library for creating browser tests 10x faster.
- Synth - Open Source test data generator.
- Requestly - A lightweight proxy as a browser extension & desktop app to intercept & modify network requests. You can Modify Headers, Redirect Url, Mock API response, Delay/Throttle requests, etc.
- Robot Framework - Generic open source automation framework. It can be used for testing and robotic process automation (RPA).
- wopee.io - Autonomous testing platform providing bot for autonomous visual regression testing.
- DeepfakeHTTP - DeepfakeHTTP is a web server that uses HTTP dumps as a source for responses. This tool allows you to test clients against REST, GraphQL, and other APIs.
- Keploy - API Testing Platform that automatically generates unit test cases along with dependency mocks(test data) from API calls.
- BugBug - Lightweight test automation tool for web applications. Easy to learn and doesn't require coding. It's free, with unlimited tests. For an additional monthly fee, you also get cloud monitoring and CI/CD integration.
- Touca - Open source continuous regression testing to compare the behavior and performance of software against a previous baseline version.
- test-each - Repeats tests using different inputs (Data-Driven Testing).
- Replayable - Desktop dashcam that helps you capture unexpected bugs during manual testing.
- RestQA - A REST API testing Framework based on ghekin to manage microservice local testing using the best in class Developer experience.
Web3 and Blockchain
- Dapp.tools - Command line tools and smart contract libraries for Ethereum smart contract development.
- Ganache - Personal Ethereum blockchain which you can use to run tests, execute commands, and inspect state while controlling how the chain operates.
- Foundry - Blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
- Hardhat - Multichain Ethereum development environment.
- Robot Framework Solidity Testing Toolkit - This combines popular smart contract testing and deployment libraries with Robot Framework.
- Truffle Suite - Comprehensive suite of tools for smart contract development.
Other
- Colour Blindness Simulator - Simulate all types of Colour Blindness instantly!
- Yslow - Analyse why web pages are slow based on Yahoo!'s rules for performance.
Books
- The Scrum Field Guide, Agile advice for your first year and beyond - Why you might want to move your company to Agile and great practical advice on how to do it.
- Fifty quick ideas to improve your Tests - Great illustrative examples on how to improve tests and why you should do them. Great as evidence for winning arguments!
- Agile Testing: A Practical Guide - A how to guide for those looking to transition to an Agile as a tester and also how the authors work on their Agile teams.
- Explore It!: Reduce Risk and Increase Confidence with Exploratory Testing - A very good book on structuring Exploratory Testing and designing tests.
- The Domain Testing Workbook - An in-depth look at the most common test technique, Domain Testing (also called Boundary Analysis and Equivalence Class partitioning) in use today with lots of examples to become better.
- Don't Make Me Think: A Common Sense Approach to Web Usability - An incredibly useful book for usability testing.
- Lessons Learned in Software Testing - One of the best books on Software Testing, broken into bite size lessons that are as applicable now as when it was published.
- UI is Communication - How to make intuitive User Interfaces (UI and Usability Testing).
- Thinking, Fast and Slow - About how we make decisions and how to run experiments (experiments == tests).
- Chaos Engineering: Crash test your applications - A book on how to design and execute controlled software failure experiments.
- Testing JavaScript Applications - A book about JavaScript testing tools and techniques for developers.
- Chaos Engineering - A book that teaches you to design and execute controlled experiments that uncover hidden problems.
- The Art of Unit Testing, Third Edition - A book that guides you step by step from your first simple unit tests to building complete test sets that are maintainable, readable, and trustworthy.
- Testing Web APIs - Guarantee the quality and consistency of your web APIs by implementing an automated testing process.
- Effective Software Testing - A hands-on guide for developers on how to create high quality tests in a systematic and effective way.
Training (Includes developer training for automation testers)
- Learn to Code - Another awesome list for developer training
- The Dojo - Courses and talks directly from the testing community.
- Guru99 - Learn by experience, a bit more fun than video training.
- Coursera - Online courses from top universities.
- Cybrary - Online free security training.
- BBST Testing Courses - The famous Black Box Software Testing (BBST) courses are university level courses on Software Test Foundations, Bug Reporting and Test Design. These materials have been creative commons licensed for use by anyone. Includes articles, slides and video lectures.
Blogs
Newsletters
- Software Testing Weekly - A curated round-up of the best software testing news and tools published every Friday.
Suggested Awesome Lists
Must Read
- Falsehoods - A funny and educational list of why nothing in Software Development is ever easy. Think you can store a marriage in a DB?
- Naughty Strings - This is the famous list of Naughty Strings. If you're doing some field validation, look no further for inspiration.
- Unicode - A great resource for learning how unicode works and the issues it can cause.
Useful References
- The Original - The awesome list of awesome lists.
- Learn to Code - Learning to code, for those looking to make the move to automation
- Application Security - Incredibly extensive, but you'll find something to fit the bill.
- Selenium - Better than searching Google if you know what you want.
- Security - This is mostly focused on Infrastructure, but if you're testing a series of systems, this is very useful.
- Awesome Software Quality - A list of free software testing and verification resources.
- Awesome Cucumber - A (relatively-newer) curated list of awesome Cucumber and Gherkin-related resources.
- Awesome JMeter - A curated collection of resources around Apache JMeter.
- How They Test - A curated collection of public resources from tech companies on how they test their software and build a quality culture
QA and Testing Road Map
- How to start QA and Testing career - A wide and rich list of strategies, topics, and skills that you need to start a career in software testing and automation.
Others
- Testers Rage Playlist - A collaborative playlist from testers for when the red mist descends.
- Software Testing Conferences - A list of software testing conferences and workshops.
- Software Testing Interview Tool - A very buggy To Do List to facilitate face to face interviews.
Contributing
See the Awesome Testing contribution guide for details on how to contribute.
Code of Conduct
See the Code of Conduct for details. Basically it comes down to:
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
License
To the extent possible under law, the contributors have waived all copyright and related or neighboring rights to this work. See the license file for details.