Curated list of blog posts, videos and resources on testing blockchains and Web3 (blockchain-based) applications
- Blockchain and decentralized systems - 3 - volume book that covers everything you need to know about blockchain and how it works. Recommended for CS students
- Mastering Blockchain: A deep dive into distributed ledgers, consensus protocols, smart contracts, DApps, cryptocurrencies, Ethereum, and more, 3rd Edition - one book to get every piece of knowledge on how modern blockchain work
- Cardano For the M₳sses: A Financial Operating System for people who don’t have one - first book on what is Cardano blockchain and how it works
- Mastering Ethereum: Building Smart Contracts and DApps - good overview on basics of Ethereum blockchain. Miss the latests upgrades of PoS consensus
- Introduction to Blockchain Testing - free introductory course to get a glance on what blockchain testing is
- Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript – 32-Hour Course - free 32-hour course on smart contract development with Javascript / Solidity
- Blockchain Specialization
- Decentralized Finance (DeFi): The Future of Finance Specialization
- What does it mean to test a blockchain? - by Oleksandr Romanov
- Testing Blockchain Applications - by Rafaela Azevedo
- How To Test Blockchain Applications? - by Daniel Knott
- Testing smart contracts with QuickCheck - by John Hughes
- Adding Testing and Automatic Verifications to a Decentralized Application - by blondiebytes
- Webinar: Blockchain Testing – How to Create Trust and Test its Effectiveness?
- Blockchain Testing BrownBag session
- Testing Tools for Blockchains
- Blockchain Testing Tutorial: Process, Tools, and Best Practices
- The complete guide to blockchain testing
- Blockchain Testing
- Solutions for Testing Blockchain: Private Blockchains, Permutations, and Shifting Left
- Blockchain Testing by Qtek Systems
- Understanding Cybersecurity Through the Lens of Blockchain Applications
- 25 Most Commonly Used Blockchain Terms Explained
- How to Ensure QA for Smart Contracts in Decentralized Applications
- Blockchain in Mobile Applications
- How to Test Bitcoin Wallet Apps
- 5 Popular Tools for Testing Blockchain Applications
- Testing Blockchain Applications
- Testing Blockchain
- Blockchain Testing in 2020: Ultimate Checklist & Tools
- Blockchain Testing Tools
- Blockchain Tests Workshop at The National Software Testing Conference
- Blockchain for Test Engineers: Roadmap
- Blockchain for Test Engineers: Hashing
- Blockchain for Test Engineers: Encryption
- Blockchain for Test Engineers: Digital Signatures
- Blockchain for Test Engineers: Distributed Systems
- Blockchain for Test Engineers: P2P networks and Gossip protocol
- Blockchain for Test Engineers: What is blockchain?
- Blockchain for Test Engineers: Merkle Trees
- Blockchain Testing: Challenges, Techniques, and Research Directions
- Test Strategies for Blockchain Technology
- Functional Testing for Blockchain Applications
- Blockchain Consensus Algorithms: A Survey
- A BLOCKCHAIN SIMULATOR FOR EVALUATING CONSENSUS ALGORITHMS IN DIVERSE NETWORKING ENVIRONMENTS
- Why blockchain performance is hard to measure
- Understanding Blockchain Latency and Throughput
- Demystifying Blockchain Performance: An In-Depth Guide
- Introducing flood: a load testing tool for benchmarking EVM nodes
- BBSF: Blockchain Benchmarking Standardized Framework
- Blockchain Performance Metrics
- Proof-of-Authority Performance Benchmark Tool
- Performance Evaluation of Blockchain Systems: A Systematic Survey
- Towards Scaling Blockchain Systems via Sharding
- Performance Analysis of the Raft Consensus Algorithm for Private Blockchains
- Performance Modeling and Analysis of a Hyperledger-based System Using GSPN
- Performance Analysis of Blockchain Systems with Wireless Mobile Miners
- Performance Benchmarking and Analysis of Blockchain Platforms
- Benchmarking Performance of Ethereum Blockchain on Resource Constrained Devices
- BBSF: Blockchain Benchmarking Standardized Framework
- Gromit: Benchmarking the Performance and Scalability of Blockchain Systems
- Performance and Scalability Evaluation of a Permissioned Blockchain Based on the Hyperledger Fabric, Sawtooth and Iroha
- Exploring Blockchain Performance with CPUHEAVY Microbenchmark on Smart Contracts
- Performance Analysis of Blockchain Platforms
- Testing at Scale of IoT Blockchain Applications
- A Survey on Ethereum Systems Security: Vulnerabilities, Attacks and Defenses
- Security Analysis Methods on Ethereum Smart Contract Vulnerabilities — A Survey
- A Survey of Security Vulnerabilities in Ethereum Smart Contracts
- Smart Contracts Vulnerabilities: A Call for Blockchain Software Engineering
- A Survey of Tools for Analyzing Ethereum Smart Contracts
- Securify: Practical Security Analysis of Smart Contracts
- Harvey: A Greybox Fuzzer for Smart Contracts
- CONFUZZIUS: A Data Dependency-Aware Hybrid Fuzzer for Smart Contracts
- Manticore: A User-Friendly Symbolic Execution Framework for Binaries and Smart Contracts
- Slither: A Static Analysis Framework For Smart Contracts
- SmartCheck: Static Analysis of Ethereum Smart Contracts
- Automated Test-Case Generation for Solidity Smart Contracts: the AGSolT Approach and its Evaluation
- A Fuzz Testing Service for Assuring Smart Contracts
- Detecting Nondeterministic Payment Bugs in Ethereum Smart Contracts
- ETHPLOIT: From Fuzzing to Efficient Exploit Generation against Smart Contracts
- Functional tests for Cardano node
- Testing Plutus Contracts with Contract Models
- How we test at Cardano
- tasty: Modern and extensible testing framework
- Caliper - blockchain performance benchmark framework, which allows users to test different blockchain solutions with predefined use cases, and get a set of performance test results.
- fabric-test
- indy-test-automation
- MixBytes Tank - console tool which can set up a blockchain cluster in minutes in a cloud and bench it using various transaction loads. Supported blockchains are Haya and Polkadot.
- Bitcoin-Simulator, capable of simulating any re-parametrization of Bitcoin
- MADT - a distributed application modelling system
- quorum-acceptance-tests
- polkadot-lab
- solidity-coverage - code coverage for Solidity testing
- hevm - an implementation of the Ethereum virtual machine (EVM) made specifically for symbolic execution, unit testing and debugging of smart contracts
- Whiteblock Genesis - allows users to provision multiple fully-functioning nodes over which they have complete control within a private test network
- OpenZeppelin Test Environment - JS based framework for smart contract testing
- OpenZeppelin Test Helpers - Assertion library for Ethereum smart contract testing
- Waffle - the most advanced framework for testing smart contracts.
- Truffle - development environment, testing framework and asset pipeline for blockchains using the Ethereum Virtual Machine (EVM), aiming to make life as a developer easier.
- Hardhat - development environment to compile, deploy, test, and debug your Ethereum software.
- Embark - fast, easy to use, and powerful developer environment to build and deploy decentralized applications, also known as “DApps”.
- Hive is a system for running integration tests against Ethereum clients.
- mythril - security analysis tool for EVM bytecode (Ethereum, Hedera, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains)
- slither - Solidity & Vyper static analysis framework written in Python3
- echidna - Haskell program designed for fuzzing/property-based testing of Ethereum smart contracts
- manticore - symbolic execution tool for the analysis of smart contracts and binaries
- eth-tester - tools for testing Ethereum applications
- Populus - framework provides for testing your Solidity smart contracts
- brownie - Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine
- TESTING SMART CONTRACTS
- An In-Depth Guide to Testing Ethereum Smart Contracts. Parts: One, Two, Three, Four, Five, Six, Seven
- How to Test Ethereum Smart Contracts
- The many ways of testing Smart Contracts in Ethereum
- Ethereum Mainnet Testing with Python and Brownie
- Blockchain Tests with Truffle - Solidity
- TESTING SMART CONTRACTS
- Tips for Unit Testing Ethereum Smart Contracts in Solidity
- Smart Contract Code Coverage In Hardhat
- Smart Contract Testing course
- Getting Started with Smart Contract Fuzzing
- smart-contract-vulnerabilities
- Solidity Security: Comprehensive list of known attack vectors and common anti-patterns
- Blockchain Attack Vectors: Main Vulnerabilities Against Blockchain Technology
- Smart Contract Randomness or ReplicatedLogic Attack
- Ethereum Smart Contract Security Best Practices
- Damn Vulnerable DeFi
- Capture the Ether
- Smart Contract Security and Auditing 101
- Smart Contract Fuzzing
- Smashing Ethereum Smart Contracts for Fun and Real Profit
- Kerala chapter Meet - Pen testing Blockchain Solutions (Ethereum Nodes & Smart Contracts)
- Fuzzing Ethereum Smart Contract using Echidna - Blockchain Security #1 - by Patrick Ventuzelo
- E2E Tests for Web3 Applications - TestJS Summit 2022
- synpress - E2E testing framework based on Cypress and Playwright with support for MetaMask
- dAppeteer - E2E testing for dApps using Puppeteer + MetaMask
- dappwright - E2E testing for dApps using Playwright + MetaMask & Coinbase Wallet
- Web3 E2E Tests Workshop - an example of project with synpress