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

Taming the Beast: Automated Testing for Complex...

Taming the Beast: Automated Testing for Complex Data Pipelines

When you are faced with a system that processes massive datasets with complex data pipelines involving machine learning, how do you test effectively? When your tests results are less “pass” and “fail”, and more “sort of” and “not really”, how do you automate testing?

Trish Khoo draws upon her experience in testing complex data systems to demonstrate proven strategies for testing in this field. Her experience working on ultra-large-scale systems at Google in Mountain View, California shaped her technical approach to testing which she applies in her work as a consultant today.

Avatar for Trish Khoo

Trish Khoo

May 24, 2019

Other Decks in Technology

Transcript

  1. ABOUT ME Previously: Technical Lead / Manager Google (Geo) California,

    USA Now: Consultant / Trainer Transparo Brisbane, Australia
  2. Netflix ~500 BILLION Events per day ~8 MILLION Events per

    second during peak hours SEVERAL HUNDRED Event streams
  3. Deterministic tests Functional testing E2E testing is simple A SIMPLE

    SYSTEM Not always deterministic Data driven testing E2E testing hard to scale A COMPLEX DATA PIPELINE
  4. TEST DESIGN Data inputs need to be designed for good

    test coverage. VALIDATION Data outputs need useful analysis. SCALABILITY The entire approach needs to scale. TESTABILITY Integration tests need the system to be built in testable parts.
  5. VALIDATION PASS What does "good" look like? FAIL What does

    "bad" look like? INTERESTING A warning - requires manual investigation.
  6. TEST DESIGN Data inputs need to be designed for good

    test coverage. VALIDATION Data outputs need useful analysis. SCALABILITY The entire approach needs to scale. TESTABILITY Integration tests need the system to be built in testable parts.