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

Finding Tranquility

Finding Tranquility

Filipe Freire

June 27, 2019
Tweet

More Decks by Filipe Freire

Other Decks in Programming

Transcript

  1. ABOUT US JUN-19 FINDING TRANQUILITY 2 DevOps lover. Developer. Learner.

    True cinephile. Open-source software lover and contributor. People tell me I’m good playing Mario Kart. Currently working as a DevOps for Hype 2.0 in adidas. Tester. Developer. Husband. Learner. Open-source software lover and contributor. Don’t play Mario Kart with Jorge. Currently working as a Software Tester for Hype 2.0 in adidas. Filipe Jorge
  2. INSPIRATION JUN-19 FINDING TRANQUILITY 3 1) Investing our free time

    in something better than playing (and finding bugs) in Red Dead Redemption 2
  3. INSPIRATION JUN-19 FINDING TRANQUILITY 4 2) “Beat the Americans” Example:

    Mike Duskis’s “Beautiful Automation” Also interesting: https://github.com/CyberGRX/twin-sister
  4. INSPIRATION JUN-19 FINDING TRANQUILITY 5 3) We needed something to

    quickly prototype HTTP automated checks without much structure clutter, but maintainable. 4) time wasted in “dependencies setup” on pipelines for API automated checks
  5. DISCOURAGEMENT JUN-19 FINDING TRANQUILITY 6 Serenity Not bad but… -

    Clutter (>170 dependencies) - Slow to prototype tests - Forced code structure (Ex.: @Steps -> @Step -> @Given/@When/...) Postman Fast but… - Clutter (848 dependencies) - Maintainability = Zero - Json as Code…
  6. WHAT WAS “NICE TO HAVE“ JUN-19 FINDING TRANQUILITY 7 Minimal

    Integration Minimal Structure Minimal Business orientation Minimal Reporting
  7. WHITEBOARD TIME JUN-19 FINDING TRANQUILITY 10 a) Mimic Serenity? -

    “Overkill” internal structure - To many dependencies (plus weird ones: OpenCV? AspectJ?...) b) Mimic Postman’s “feeling”? - Simplicity with a harsh price - Ok… we ramp up the maintainability
  8. STRUCTURE PLAN JUN-19 FINDING TRANQUILITY 11 Action Action Pre Action

    Test Environment In Environment: global config “key”:”value” In PreAction: setup work In Action: GET /user/{.key} In Test: assert response
  9. BREAKING STUFF DOWN JUN-19 FINDING TRANQUILITY 14 All of tranquility

    was done on our free time. (We have little of it) Solution: break stuff into micro-tasks!
  10. GO NO-GO? JUN-19 FINDING TRANQUILITY 15 Which programming language? We

    chose Go (aka. Golang) - Lots of “Hype” in the office J - A wonderful standard library. No need to include external dependencies. - We wanted to challenge ourselves!
  11. BEYOND JUN-19 FINDING TRANQUILITY 21 - Broaden type of checks

    (not just REST) - Export/import to/from tranquility - Create integration plugins for typical tools we use & create more examples Find us at: https://github.com/tranquility-bdd https://tranquility-bdd.com
  12. LEARNINGS JUN-19 FINDING TRANQUILITY 22 - Most ideas and needs

    are already there, but we just need to pay attention - Bootstrapping an OSS project is easy - Maintaining an OSS project is hard - Free-time management, there is time for everything but tradeoff is needed - Harsh reality: there is no “silver bullet tool” - Jorge is still better in Mario Kart and Smash Bros