Better Software West 2018 - Testing in DevOps
Monday, June 4
The DevOps 2.1 Toolkit: Continuous Deployment with Jenkins and Docker Swarm
DevOps is the answer to today's need for fast-paced, high quality software development—and continuous deployment (CD) is its culmination. The ability to deploy every commit to production is the ultimate proof that DevOps practices are implemented and that they provide real value. Join Viktor Farcic as he explores the processes and tools that lead to CD nirvana. Many of us have experimented with Docker, perhaps running one of the pre-built images from Docker Hub. The team might recognize the benefits Docker provides in building microservices and the advantages the technology brings to...
Building Continuous Delivery Pipelines
Although continuous delivery (CD) and DevOps are growing in popularity, not much practical information is available about how to get started. Join Ken Mugrage for this hands-on technical tutorial where you can get your feet wet and your questions answered. In this workshop, Ken will provide a cloud-based instance of the continuous delivery server GoCD for you to learn on. You will configure a complete continuous delivery pipeline from source code commit through deployment. Learn when to run each common type of automated test for the fastest possible feedback and how to run tests in...
Tuesday, June 5
The Architecture of Microservices
Server-side monoliths—single programs that provide all back-end services—just don't work. They are hard to build, impossible to maintain, and gradually accrete so much baggage that forward development slows to a crawl. Agile development is impossible over this sort of system. Allen Holub says that microservices—systems of small, cooperating server-side agents—solve these problems. However, building a microservice system is not easy, and doing it wrong is disastrous. Taking a deep dive into practical microservice architecture and implementation, Allen covers a lot of practical details to...
Continuous Delivery in Practice: A Hands-On DevOps Workshop
For many organizations, delivering software into production has become increasingly more complex with long testing cycles and a division between development and operations teams. DevOps is a cultural movement that is breaking down those barriers. Focusing on automation, collaboration, tools, and knowledge sharing, DevOps is showing that developers and system engineers have much to learn from each other. Through a series of hands-on exercises, Danilo Sato will use a sample web application to demonstrate how to automate its build and deployment pipeline, using infrastructure and pipeline as...
What DevOps Means for Testers and Testing
DevOps is more than a buzzword or a passing fad. It's a radically new approach to rapidly deliver high-quality software applications. However, many organizations don’t fully grasp the magnitude of this change or what it means for everyone involved in the software development lifecycle. Jeffery Payne says that DevOps—when done right—drives higher quality and efficiency into software development, software testing, and application management activities. It empowers teams to remove impediments to quality and productivity throughout the entire software lifecycle. However, when DevOps is done...
The Tester's (New) Role in Agile Development
Avoiding siloed development is a tricky business. It’s so easy for agile teams to fall into the rut in which testers only do traditional testing activities, and programmers strictly do their time-worn coding activities. Rob Sabourin shares a number of examples of how testing skills can be applied to a wide variety of activities in an agile project. Testers are among the most skilled team members in story grooming, elicitation, and exploration. Risk analysis in self-organized agile teams empowers testers to drive design decisions. A tester’s affinity analysis skills help clear the way for...
Wednesday, June 6
Use DevOps Principles to Transform Culture
PreviewAt the heart of DevOps is the idea that organizations break down silos and teams work together to innovate faster, reducing the length of feedback loops and delivering value faster. Ashley Hunsberger describes how Blackboard is using DevOps principles—collaborative practices, iterative improvements, incremental testing, and more—to transform their development culture so everyone owns quality. Big change does not happen overnight, so they learned to make smaller changes that support the overall vision. Join Ashley as she lays the groundwork for iterative and continuous improvement...
Taking Your Automation Framework to the Next Level Using Machine Learning
Automation fails frequently in companies due to a variety of reasons, including poor team communication, lack of skills, flaky tests, and inadequate understanding of test coverage. Even when things are going well, the automated tests sometimes grow to a size where the test suites take too long to execute for the run to be viable. James Farrier is a test automation architect who will show you ways to leverage machine learning to address these challenges. You'll learn how to determine which tests are valuable to run after each commit or build in order to cut down the suite run time, how to...
Managing Microservices Using Terraform, Docker, and the Cloud
Much has been written about how to write microservices, but not enough about how to effectively deploy and manage them. Microservices architecture multiplies the number of deployables IT has to manage by at least ten. In that world, tooling to manage cloud deployments and related infrastructure has become essential for success, and Terraform and Docker are increasingly being leveraged to facilitate microservices environments. Derek Ashmore will share his hard-learned best practices for deploying and managing microservices in production. He will leverage true infrastructure as code using...
Strategies for Selecting the Right Open Source Framework for Cross-Browser Testing
PreviewOrganizations today are required to test their web application across browsers and mobile devices. Choosing the right framework is a matter of organizational as well as technical fit. With a plethora of test frameworks that span across practices such as behavior-driven development, unit tests, UI, and others, it can be a struggle to select the right tool. In this session, Eran Kinsbruner will provide an overview of the market and cover the top ten open source test frameworks, with a comparison table of pros and cons about when and why to use one tool over another. Eran will take...
Testing with AI for Agile Teams
Agile teams ship frequently and change things all the time--by design. In the middle of all this, agile teams need to make sure that their core user flows like sign-in, shopping carts and search features still work on every new build. Traditional testing is a poor fit for agile teams. AI changes all that with the ability to create automated verification for new user flows, and automatically maintain those verification steps even when the application changes. AI changes the game so that agile teams can move faster, with less risk or worry about breaking the app. Jason Arbon walks you...
Accelerating Your Test Execution Pipeline
PreviewIs your team constantly feeling pressure to deliver software faster without compromising quality? As your test automation process ramps up, your testing efforts can lag behind due to speed and scalability issues. Test environments are often the root cause for a number of these problems due to the time it takes to create them and the cost to reflect real users. Incorporating a test automation platform can cut your testing time in half by leveraging cloud capabilities of testing multiple devices and browsers at one time and fixing bugs as fast as you find them. Bria Grangard will...
Thursday, June 7
Managing DevOps Complexity with Systems Thinking
Many teams make the mistake of starting their DevOps journey without a plan. They are excited that there is a way to eliminate pain and increase value in their delivery cycles and value streams, but starting without a plan often relieves pain in one part of the value stream but only causes more pain elsewhere. In this case study-style presentation, Logan Daigle will discuss the methods he has used with a variety of companies to ensure they are thinking about the whole DevOps picture from the beginning. He'll discuss best steps and practices for applying systems thinking to DevOps and give...
The Great Debate: The Pros and Cons of Continuous Delivery
The Great Continuous Delivery Debate There is a lot of debate about whether continuous delivery is a boon or a curse. Proponents will sing the praises of being able to deliver software into production very frequently with no manual intervention. Skeptics will highlight the challenges delivering quality, working with legacy code, and the need for intensive system-wide assurance activities prior to deploying into production. So which is it? Can most organizations benefit from continuous delivery and, if so, how? Or is continuous delivery a pipedream and only reachable by the select few....
Engineering Productivity and Enterprise Quality at Scale
Over the past two years, PayPal has been on a journey to modernize its internal development and test systems, from test environments, implementing enterprise continuous integration and code propagation into the development pipeline, to release processes and production code validation. Jose Buraschi and Nir Szilagyi will talk about transforming the code of 5,000 developers across 350 teams and how it required social “magic” to influence behaviors and motivate engagement. This modernization of PayPal's development practices has involved creating reliable integrated test environments,...
Aligning Zero-Touch Nonfunctional Testing in DevOps Implementation
When a host of applications and data centers get migrated from their traditional IT systems to a cloud-based data center using an automated DevOps model of deployment, effective testing is critical to success. True DevOps value is realized when all development, testing, and operations functions collaborate and operate on a zero-touch automation model. In this session, Subash Newton will review the prerequisites for creating an effective DevOps testing strategy that includes nonfunctional testing. He will share how to set up an effective test strategy using a zero-touch process automation...