Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Simulation Tests for API Based Systems

Simulation Tests for API Based Systems

Presented at IN/Clojure 2018

Avatar for Shafeeq Kunnakkadan

Shafeeq Kunnakkadan

January 13, 2018

Other Decks in Programming

Transcript

  1. Agenda • Problem statement • About generative testing and Prior

    Art • Libraries and tools • Building the test suite
  2. simulation sɪmjuːˈleɪʃ(ə)n imitation of a situation or process. the production

    of a computer model of something, especially for the purpose of study.
  3. System Under Test • API Based Payment System • Designed

    to be distributed • Fast paced development • Slow (Manual) QA
  4. Problem • Simulate all possible flows in a checkout process

    • Automate creation, execution, and reporting of tests • Run simulations in parallel, catch concurrency bugs
  5. types of testing • Example Based Testing • Generative Testing

    • Property Based Testing • Simulation Testing
  6. Property Based Testing • Properties of the system • Invariants

    • Mathematical properties: Idempotence, Commutativity, Associativity etc
  7. Conclusion • Use Simulation Tests • Properties are hard: State

    machine to the rescue • Grow your tests with minimal cost
  8. Simulation Tests for API Based Systems Shafeeq Kunnakkadan | nilenso

    @shafeeq_k Icons from the Noun Project: Shop by Chanut is Industries; POS by Ben Davis; Shopper by H Alberto Gongora