Solidity Summit 2023 | Test Your Tests
Test Your Tests
The Dos and Don’ts of testing
phaze
Solidity Summit 2023 | Test Your Tests
Overview
Solidity Summit 2023 | Test Your Tests
The Role of Testing
But: No testing method is foolproof.
Testing is an ongoing process of refinement, not a final endpoint!
Solidity Summit 2023 | Test Your Tests
Motivation for Topic
Solidity Summit 2023 | Test Your Tests
Improving ERC721A
Solidity Summit 2023 | Test Your Tests
ERC721A
Solidity Summit 2023 | Test Your Tests
ERC721A Optimized
Solidity Summit 2023 | Test Your Tests
Development & Testing Approach
But: Lost sight of the bigger picture
Solidity Summit 2023 | Test Your Tests
Unit-Testing Functionality
Solidity Summit 2023 | Test Your Tests
Unit-Testing Functionality
Solidity Summit 2023 | Test Your Tests
Unit-Testing Functionality
How??!
Solidity Summit 2023 | Test Your Tests
Apply Patch and Test
Fixed!!
All tests pass…
Solidity Summit 2023 | Test Your Tests
Apply Patch and Test
Fixed!!
All tests pass…
Fixed!! (Not quite)
All tests pass…
Solidity Summit 2023 | Test Your Tests
What Went Wrong?
Solidity Summit 2023 | Test Your Tests
What Went Wrong?
Solidity Summit 2023 | Test Your Tests
What Went Wrong?
Solidity Summit 2023 | Test Your Tests
What Went Wrong?
Solidity Summit 2023 | Test Your Tests
What Went Wrong?
100% code line & branch coverage != 100% state coverage
Solidity Summit 2023 | Test Your Tests
Good Testing is Hard…
Solidity Summit 2023 | Test Your Tests
Shortcomings Exemplified:
Testing WAD Conversions
Solidity Summit 2023 | Test Your Tests
Testing WAD Conversions
Solidity Summit 2023 | Test Your Tests
Testing WAD Conversions
Solidity Summit 2023 | Test Your Tests
Testing WAD Conversions
Testing WAD Conversions (DON’T)
Solidity Summit 2023 | Test Your Tests
Testing WAD Conversions
Testing WAD Conversions (DON’T)
Solidity Summit 2023 | Test Your Tests
Testing WAD Conversions
Testing WAD Conversions (DON’T)
Solidity Summit 2023 | Test Your Tests
Testing WAD Conversions
Testing WAD Conversions (DON’T)
Solidity Summit 2023 | Test Your Tests
Testing WAD Conversions
Testing WAD Conversions (DON’T)
Solidity Summit 2023 | Test Your Tests
Test WAD Conversions (DO)
Solidity Summit 2023 | Test Your Tests
Test WAD Conversions (DO)
Solidity Summit 2023 | Test Your Tests
Test WAD Conversions (DO)
Solidity Summit 2023 | Test Your Tests
Test WAD Conversions (DO)
Solidity Summit 2023 | Test Your Tests
Shortcomings Exemplified:
Testing WAD Multiplication
Solidity Summit 2023 | Test Your Tests
Testing WAD Multiplication
Solidity Summit 2023 | Test Your Tests
Testing WAD Multiplication
Solidity Summit 2023 | Test Your Tests
Testing WAD Multiplication
Testing WAD Multiplication (DON’T)
Solidity Summit 2023 | Test Your Tests
Testing WAD Multiplication
Testing WAD Multiplication (DON’T)
&&
&&
Solidity Summit 2023 | Test Your Tests
Testing WAD Multiplication
Testing WAD Multiplication (DON’T)
&&
&&
Solidity Summit 2023 | Test Your Tests
Exploring Various Testing Strategies
Solidity Summit 2023 | Test Your Tests
Exploring Various Testing Strategies
Solidity Summit 2023 | Test Your Tests
Exploring Various Testing Strategies
Solidity Summit 2023 | Test Your Tests
Exploring Various Testing Strategies
Solidity Summit 2023 | Test Your Tests
Offensive Testing
Case Study:
Primitive Finance - Hyper
Solidity Summit 2023 | Test Your Tests
Primitive Finance - Hyper
=> Fuzz the swap function
Solidity Summit 2023 | Test Your Tests
Fuzz Test
Swapping
Back
And Forth
Solidity Summit 2023 | Test Your Tests
Solidity Summit 2023 | Test Your Tests
Refining
the Testing
Strategy
Solidity Summit 2023 | Test Your Tests
Refining
the Testing
Strategy
Solidity Summit 2023 | Test Your Tests
Refining
the Testing
Strategy
Solidity Summit 2023 | Test Your Tests
Offensive Testing Conclusions
Solidity Summit 2023 | Test Your Tests
Key Takeaways
Solidity Summit 2023 | Test Your Tests
Stay in Touch
Questions?
52
phaze
Solidity Summit 2023 | Test Your Tests