Slide 1

Slide 1 text

BDD FOR IOS MASTERING

Slide 2

Slide 2 text

CLEAN ARCHITECTURE

Slide 3

Slide 3 text

CLEAN ARCHITECTURE SEARCH “CLEAN ARCHITECTURE, 8TH LIGHT”

Slide 4

Slide 4 text

DONEC QUIS NUNC CLEAN ARCHITECTURE • Independent of Frameworks • Independent of UI • Independent of Database • Independent of Everything • Testable

Slide 5

Slide 5 text

COMPONENTS CLEAN ARCHITECTURE • ENTITIES
 Enterprise Business Rules • INTERACTORS
 Application Business Rules • INTERFACE ADAPTORS
 Convert Data • FRAMEWORKS
 Implementation Details

Slide 6

Slide 6 text

ONLY THE ‘C’ OF YOUR VIEW, NOT YOUR BUSINESS UIVIEWCONTROLLER • viewDidLoad: • viewWillAppear: • viewDidAppear: • viewWillDisappear: • viewDidDisappear: • viewWillLayoutSubviews: • viewDidLayoutSubviews:

Slide 7

Slide 7 text

UIVIEWCONTROLLER VIEW INTERACTOR PRESENTER BUSINESS LOGIC UI ADAPTORS FRAMEWORKS COREDATA ENTITIES NSURLSESSION

Slide 8

Slide 8 text

FIXTURES ACCEPTANCE TESTS INTERACTOR PRESENTER BUSINESS LOGIC ADAPTORS FRAMEWORKS TEST DATA ENTITIES UI

Slide 9

Slide 9 text

WKINTERFACECONTROLLER WKINTERFACEOBJECT INTERACTOR PRESENTER BUSINESS LOGIC ADAPTORS FRAMEWORKS TEST DATA ENTITIES UI

Slide 10

Slide 10 text

THE LONGER IT TAKES TO READ AND UNDERSTAND A TEST THE MORE TIME IS WASTED AND LESS TIME FOR PRODUCTIVE WORK

Slide 11

Slide 11 text

UNDERSTANDABILITY OF CONTEXT AND FOCUS SHORTCUT FOR TESTS PERCEIVED PRESSURE TIME FOR PRODUCTIVE WORK AMOUNT OF WASTED TIME TIME TO UNDERSTAND INTENT Negative Effect Management Effect Positive Effect VALUE OF INTENT REVEALING TESTS

Slide 12

Slide 12 text

COSY HOME SPECIFICATION WORKSHOP

Slide 13

Slide 13 text

— COSY HOME, PRODUCT OWNER. COSY HOME HAS THREE TEMPERATURE SETTINGS SLUMBER, COMFY, COSY. IN THAT ORDER EACH SETTING MUST BE GREATER THAN THE LAST, BUT NOT GREATER THAN 30 DEGREES. ” “

Slide 14

Slide 14 text

” “ — Fred Brooks, The Mythical Man Month. “SHOW ME YOUR FLOWCHARTS AND CONCEAL YOUR TABLES, AND I SHALL CONTINUE TO BE MYSTIFIED. SHOW ME YOUR TABLES, AND I WON’T USUALLY NEED YOUR FLOWCHARTS; THEY’LL BE OBVIOUS.”

Slide 15

Slide 15 text

BUSINESS DEVELOPER TESTER

Slide 16

Slide 16 text

DOUBLE LOOP TDD

Slide 17

Slide 17 text

EMILY BACHE, CODING-IS-LIKE-COOKING.INFO DOUBLE LOOP TDD WRITE A FAILING ACCEPTANCE TESTS WRITE A FAILING UNIT TEST MAKE THE TEST PASS REFACTOR Minutes Days

Slide 18

Slide 18 text

HEATINGSTATE COSY HOME

Slide 19

Slide 19 text

TESTING PYRAMID FULL STACK

Slide 20

Slide 20 text

DOesN’t scAle (sLow, fRagIle, cOmpLex) TOo HarD eXerCisE tHe BusIneSs LogIc TErrIblE dEfeCt LocAliSatIon ABanDonEd, reVerT tO mAnuAl TesTing

Slide 21

Slide 21 text

XCUITEST Proceed with caution

Slide 22

Slide 22 text

THANK-YOU

Slide 23

Slide 23 text

cleancoders.com/videos/clean-code

Slide 24

Slide 24 text

Rock-Solid, Fast Acceptance Testing on iOS stringerstheory.net/acceptance-testing-with-ios @paulstringer [email protected]