Design & Code

Conference Presentations

Better Software West 2018, Agile Dev West 2018, DevOps West 2018 Overcoming Test-Driven Damage
Slideshow

Test-driven development is supposed to help us refactor our code safely, but we often find that when we refactor our code, we also have to refactor our tests. What was supposed to add safety becomes a burden requiring time and effort. Writing good unit tests is a critical skill that developers need to master in order to get the most benefit from test-driven development. Tests must be unique, written at the right level of abstraction, and implementation-independent in order to be most valuable. In this session, David Bernstein will cover effective techniques for doing TDD that support building useful tests and quality code. You’ll learn how to approach TDD in a way that yields the right number and kind of tests to support improved refactoring. Working through a few code examples, you’ll see how many assertions are required to specify a linear range, exceptions, and other boundary conditions.

David Bernstein
DevOps West 2018, Agile Dev West 2018, Better Software West 2018 Liquibase: An Open Source Version Control Tool for Your Database
Slideshow

[video:https://youtu.be/L63U-B2mdf0 width:300 height:200 align:right]

Blaine Carter
Agile Dev West 2018, Better Software West 2018, DevOps West 2018 Beating the Feature Factory Mindset
Slideshow

On a human level, we crave outcomes and impact. But in software product development, there is something addictive about the "build more and more features" approach that often leaves people frustrated and unsatisfied. Developers understand the challenges of working in output-focused environments and the adverse effects this has on productivity, morale, and business impact. Join John Cutler as he discusses these "feature factories," why they exist, how they impact your business, and how you can shift the focus to outcomes and impact. John thoroughly makes the case that churning out features is no longer a competitive advantage and can in fact harm your business and disengage your team. Instead, he will show you how to move your organization beyond the feature factory and toward an outcome-based way of working that increases employee engagement and customer satisfaction.

John Cutler
Better Software West 2018, Agile Dev West 2018, DevOps West 2018 Strategies for Selecting the Right Open Source Framework for Cross-Browser Testing
Slideshow

[video:https://www.youtube.com/watch?v=-M9uWjd4WJY&feature=youtu.be width:300 height:200 align:right]

Eran Kinsbruner
STAREAST 2018 DevOps Tools for Winning Agility
Slideshow

With a myriad of tools to choose from—open source, free, paid, and enterprise level—teams and organizations have seemingly endless options. Making the right tool decisions can impact the level of quality and success within DevOps projects. Kellyn Pot'Vin-Gorman discusses different tools, what tools work best together, and how—even in teams that are in silos—the right choices can make the difference between success and failure in DevOps implementations. Explore tools—such as Ansible, Jenkins, Maven, Delphix, Github, Liquibase, and Terraform—for automating builds and virtualization. Review reasons for choosing open source, “freemium,” or enterprise tools along with different hybrid tool combinations and explore why companies face new challenges as DevOps tools mature.

Kellyn Pot'Vin-Gorman
DevOps West 2018, Agile Dev West 2018, Better Software West 2018 Use DevOps Principles to Transform Culture
Slideshow

[video:https://youtu.be/EfT_wfBNurs width:300 height:200 align:right]

Ashley Hunsberger
STAREAST 2018 API Testing: How to Write Tests, Integrate into CI, and Track What You're Testing
Slideshow

Some developers and testers think that APIs, whether internally developed or not, should just work. Unfortunately, without a significant amount of focus on testing API services, one little flaw can spell disaster for your application—especially security vulnerabilities where hackers will target your application. Elise Carmichael discusses the risks of not fully testing APIs, how to be sure that all services are tested fully, and the types of negative testing you need to do on APIs. She shows you a method to organize your tests using Postman, a tool for REST web services testing. During this session, Elise and the participants will write some Postman API tests with variables and then execute the tests with Newman, a command line application for running Postman tests that you can include in continuous integration scripts.

Elise Carmichael
STAREAST 2018 Behavior-Driven Development: Real-World Mind Reading
Slideshow

Imagine this scenario: Business users are excited to finally get their hands on an implementation delivery that is on schedule, (mostly) on budget, and passed rigorous testing with flying colors. Unfortunately, when working with the new app or feature, the users realize that the way they described their needs didn’t translate into what they actually needed. Sound familiar? While she may not be able to offer telekinetic mind-reading tools, Kim Tatum is convinced that leveraging a behavior-driven development (BDD) approach helps bridge the gap between domain experts and technical teams. Join Kim to discuss how natural, human-readable language ultimately creates shared accountability and reduces misunderstandings. Review how this framework is implemented on a variety of delivery projects and walk through an implementation approach and leading practices.

Kim Tatum
STAREAST 2018 Embedding Performance Engineering into the CI/CD Pipeline
Slideshow

A difficult challenge organizations face when adopting continuous integration/continuous delivery (CI/CD) is ensuring that every build has been evaluated for performance. Although most organizations do performance testing, how they do it and when they do it define their readiness for deploying in fast-paced environments. Anjeneya Dubey’s team faced similar challenges and found ways to embed performance engineering as part of their CD pipeline. To achieve this objective, they made changes to processes, technologies, and culture. They added non-functional requirements to “normal” requirements and built a performance engineering platform for each API. This platform automates the performance tests, provides a centralized database for metrics, and automatically analyzes pass/fail on builds, based on dynamic thresholds.

Anjeneya Dubey
STAREAST 2018 Integration and Functional Testing Using Dockerized Dependencies
Slideshow

To emulate production-like conditions that cannot be tested on the unit level, many integration and functional tests need a realistic environment. However, performing these tests in a production-like environment is fraught with problems—test data management issues, tests that are difficult to execute repeatedly, and network traffic that causes long-running test execution times. Instead of having to deal with these problems and others, Irene Dhong employs Docker to simulate dependencies. Learn how you can take advantage of Dockerized dependencies for quick test writing, reusability of common development code, and the ability to test early and often on a very low functional level. Irene describes how her development team is using Docker to implement more effective TDD and unit testing environments because Docker utilizes similar infrastructure both on the development and DevOps side. Join in to get Dockerized, too.

Irene Dhong

Pages

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.