Conference: Nov 13-15, 2017
Workshops: Nov 16-17, 2017
Presentation: Better Tests, Less Code: Property Based Testing
Location:
- Bayview AB
Duration
Persona:
- Developer
Abstract
Strong testing is the best safety net a developer can have when changing code. A good test suite can prevent regressions and provide confidence that what you put out to the world actually works. However, in the real world writing these tests is extremely difficult. Testing individual cases tends to lead to large amounts of code that must be maintained and often we fail to catch all the corner cases and potential points of failure.
Property Based Testing is a method that tries to overcome these failures by offloading the creation of test cases to the computer. As a developer you describe the input to your algorithms and then define what must be true of any valid output. The computer then takes this and throws random data into your algorithm trying to find a failure. A good framework will then take a failure and reduce it down to a simple case that the developer can debug and solve.
The catch is coming up with these properties can be very difficult. You need to define useful properties! This talk goes over a few patterns that should inspire developers to get started.
.
Tracks
Monday Nov 7
-
Architectures You've Always Wondered About
You know the names. Now learn lessons from their architectures
-
Distributed Systems War Stories
“A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.” - Lamport.
-
Containers Everywhere
State of the art in Container deployment, management, scheduling
-
Art of Relevancy and Recommendations
Lessons on the adoption of practical, real-world machine learning practices. AI & Deep learning explored.
-
Next Generation Web Standards, Frameworks, and Techniques
JavaScript, HTML5, WASM, and more... innovations targetting the browser
-
Optimize You
Keeping life in balance is a challenge. Learn lifehacks, tips, & techniques for success.
Tuesday Nov 8
-
Next Generation Microservices
What will microservices look like in 3 years? What if we could start over?
-
Java: Are You Ready for This?
Real world lessons & prepping for JDK9. Reactive code in Java today, Performance/Optimization, Where Unsafe is heading, & JVM compile interface.
-
Big Data Meets the Cloud
Overviews and lessons learned from companies that have implemented their Big Data use-cases in the Cloud
-
Evolving DevOps
Lessons/stories on optimizing the deployment pipeline
-
Software Engineering Softskills
Great engineers do more than code. Learn their secrets and level up.
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS ideas
Wednesday Nov 9
-
Architecting for Failure
Your system will fail. Take control before it takes you with it.
-
Stream Processing
Stream Processing, Near-Real Time Processing
-
Bare Metal Performance
Native languages, kernel bypass, tooling - make the most of your hardware
-
Culture as a Differentiator
The why and how for building successful engineering cultures
-
//TODO: Security <-- fix this
Building security from the start. Stories, lessons, and innovations advancing the field of software security.
-
UX Reimagined
Bots, virtual reality, voice, and new thought processes around design. The track explores the current art of the possible in UX and lessons from early adoption.