What do testing and quality look like in a continuous delivery world? Who does what and how? Is there still a need for testers, or do developers do all the testing? Is it really possible to achieve quality when you deploy to production many times each day?
The holy grail of a modern QA professional is to achieve high quality while continuously delivering features to customers, and the only way to achieve that mission is via continuous testing and delivery. The most critical step in agile transformation and continuous delivery adoption is identifying the bottlenecks in the product development cycle. Tanya Kravtsov will describe tools and methods that facilitate that discovery process and explore ways you can use mind maps, innovation games, and more to identify, prioritize, and resolve bottlenecks. You'll learn ways to deal with the most common bottlenecks that cripple development progress: data, environments, and testing. Tanya will share her experiences with combating these bottlenecks and talk about tools and processes that helped her to overcome them.
Artificial Intelligence (AI) is making it possible for computers to diagnose some medical diseases more accurately than doctors. Such systems analyze millions of patient records, recognize underlying data patterns, and generalize them for diagnosing previously unseen patients. A key challenge is determining whether a patient's symptoms and history are attributed to a known disease or other factors. Software testers face a similar problem when triaging automation failures. They investigate questions like, Is the failure due to a defect, environmental issue, or nondeterministic test script? Is there current or historical evidence to support one belief over another? Join Tariq King as he describes how test failures and flakiness can be modeled for machine learning (ML) as causal disease-symptom relations.
Performance issues substantially impact quality, cost, and customer confidence. Agile teams are challenged to build in performance processes throughout the lifecycle, but it is critical to incorporate performance into your CI/CD pipeline. Join Amit Patel as he shares his recent project experiences and the steps his team took to change processes, leverage different technologies, and align internal stakeholders. He explains how they use production-monitoring solutions to create a real-world production feedback loop in order to ensure they can analyze data and turn the information into actionable defects. As part of this, his team created process and procedures to execute performance tests on a regular basis and pass/fail builds based on thresholds. Join Amit to learn how to build a successful production feedback loop, align internal stakeholders, and implement holistic performance engineering.
Modern software development has brought us an incredibly powerful tool: continuous integration and deployment. However, taking advantage of this new system isn’t always straightforward. With powerful new tools come powerful new ways of making mistakes that can take your product down in a heartbeat. Melissa Benua has years of experience making CI and CD work for her, with lots of insights—both good and not so good. Come and learn from her as she shares key tips and tricks for coding and testing for both forward and backward compatibility in software releases. Useful for both traditional testers as well as combined engineers, Melissa provides technical and actionable advice to enable your team to make the right trade-offs and the right time investments, allowing your product to release to your customers safely and successfully.
Peer-to-peer Discussion: How Do I Make CD Work in My Environment? Building a successful continuous delivery pipeline is very context specific. Large organizations with legacy code, existing physical environments, regulatory constraints, large monolithic applications, or stove piped organizations often struggle to find a continuous delivery approach that will work for them successfully. If this sounds familiar, this session is for you. Join facilitator Lee Eason as conference participant’s work together to identify and solve difficult continuous delivery challenges. Learn how other participants and speakers have dealt with the issues you have within their own companies and how you can apply their lessons learned. Share your successes and help others solve their DevOps problems. Expand upon questions you’ve asked during others sessions so you leave the conference with even more ideas for addressing your CD challenges.
Are you a developer who wants to easily manage and customize continuous integration and delivery? Do you work in a team environment where everyone collaborates and depends on CI for automation and delivery of clean code to production? In this session, Amit Mishra will share a case study of how Credit Karma evolved from a single, standalone CI instance to a self-service, Dockerized CI infrastructure combined with bots, webhooks, and GitHub APIs. He will cover GitHub's features and powerful APIs that were most valuable in this process, and how using GitHub freed up time previously spent on maintaining the underlying infrastructure. Credit Karma’s development teams are now empowered to spin up their own CI instances and add custom checks as part of their CI process to ensure quality code. This allows teams to focus simply on developing and delivering services.
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.