#+Title: Introduce Hot Fuzz #+Subtitle: A Testing Strategy You Didn't Know You Wanted #+Author: Miao, ZhiCheng (hellwolf) #+Email: miao@superfluid.finance #+Date: 2022-05-19 #+OPTIONS: num:nil toc:nil timestamp:nil #+REVEAL_THEME: night #+REVEAL_TRANS: Concave #+REVEAL_EXTRA_CSS: css/sf-slide-dark2022.css #+REVEAL_TITLE_SLIDE_BACKGROUND: ./images/sf-slide-dark2022-bg1.png #+REVEAL_DEFAULT_SLIDE_BACKGROUND: ./images/sf-slide-dark2022-bg1.png # TODO customize title theme with differnt background # e.g. white + ./images/sf-slide-title1.png * Why You Want It ** Your Existing Test Strategies *** Testing In Production ☮ *** Functional Test Cases - Thinking about what to test. - Write isolated test cases. - Check against coverage reports. *** Property based testings - Randomize input values. - Run *fixed* test sequence against invariances (expected behavior). ** Another Testing strategy: - *GENERATIVE* - Randomize the test sequence too. - *DECLARATIVE* - Define what's possible and what's expected. - *INTELLIGENT* - Discover complex sequence that may lead to exploits. - *UNLIMITED* - Run as long as you can afford to. * Hot Fuzz is Here - Testing Superfluid Applications(inc. Super Apps) - Like THE Pro: [[https://github.com/superfluid-finance/protocol-monorepo/raw/dev/packages/hot-fuzz/hot-fuzz-simon.jpg]] * Behind The Scene - Basically crytic/echidna (trailofbits) - Additional Superfluid Testing boiler plates, helpers and workarounds * A Demo