Boundary Value Test Case Generator
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This tool connects to your EVM wallet and generates boundary value test cases from smart contract ABIs. It reads function parameters and their types, then automatically generates test values at key boundaries: minimum, maximum, zero, one, and edge values. The tool supports configurable value ranges for numeric types, helping developers test contract behavior at critical input boundaries where bugs are most likely to occur.
HOW TO USE
Connect your Web3 wallet using the Connect button. Enter the contract ABI in JSON format in the ABI field. Optionally, specify value ranges for numeric types in the Value Ranges field—this allows you to define custom min/max values for each type. Click "Generate Tests" to produce boundary test cases. Click "Load Sample" to populate fields with an example ABI and ranges. Results appear in the Results card with a summary of functions found, test cases generated, and boundaries identified, followed by a detailed list of test cases and generated test code.
TECHNICAL MECHANISM: TYPE-DRIVEN BOUNDARY VALUE GENERATION
The tool parses the contract ABI to extract function definitions and parameter types. For each parameter, it generates boundary values based on the parameter's type: for unsigned integers (uint256, uint8, etc.), it generates values including the configured minimum (default 0), 1, max-1, max, and max+1. For signed integers, it includes min, -1, 0, 1, and max. For addresses, it generates zero address, a test address, and the max address. For booleans, it generates both true and false. For bytes and strings, it generates empty and sample values. The tool also considers custom ranges provided in the Value Ranges field, applying them to the corresponding types. The output includes both a human-readable list of test cases and generated test code in Hardhat format.
WHAT IT CANNOT SEE
This tool cannot identify meaningful boundary values without domain knowledge or specified ranges—the tool generates generic values that may not reflect real-world boundaries. It cannot generate tests for parameters with unbounded or complex types (e.g., arrays, structs)—these types are not fully supported. It cannot verify that generated boundary values are semantically valid in the contract context—the tool does not understand contract logic. It relies on type inference and may produce non-relevant test cases—some generated values may not trigger actual boundary conditions. It cannot handle contracts with implicit boundaries (e.g., gas limits, block numbers) not reflected in the ABI—these constraints are not captured.
PLEASE NOTE
This is a read-only tool—it never signs transactions. All data is processed in-memory and never persists. The tool supports EVM chains only—Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche, Base, and Fantom. Boundary value testing is most effective when combined with domain knowledge—customize ranges to match your contract's specific constraints. Generated test cases should be reviewed and refined before being used in production test suites.