Unit tests
Unit tests simulate regular user activities to ensure the programs function as intended. They help catch and resolve bugs early, with the Exponent core contributors running hundreds of scenarios against each piece of code. This also makes future updates safer, as unit tests quickly reveal if changes in one part of the system affect others.Stress tests
Stress tests push the protocol to its limits under extreme conditions to assess how the Exponent protocol would perform during critical scenarios. This includes testing how the protocol behaves under high transaction volume, sudden liquidity shifts, or rapid changes in implied yields, for instance.Security tests
Exponent employs various types of security tests to assess the robustness and soundness of its programs:- Penetration tests simulate potential malicious interactions with Exponent’s smart contracts/programs, verifying that the instructions fail when inputs deviate from the expected parameters. This ensures the protocol can withstand attack vectors and prevents unauthorized actions or unexpected behaviors.
- Integration tests evaluate the flow and economics of Exponent’s programs by simulating multiple scenarios across components. They ensure that interactions within the protocol work correctly and that aspects like yield calculations, token minting, and trading flows remain accurate under diverse conditions.