Agile Dev West 2017 - Test Automation Engineer
Monday, June 5
Git and GitHub for Developers and Testers
PreviewGit clients and the GitHub cloud have achieved an enviable adoption rate. Major corporations as well as open source projects now host their code on GitHub. Developers, DevOps, and non-technical writers alike now use Git to work with text files in a way that enables them to go back to specific versions at any point in time. Websites at GitHub.io are proliferating. Job interviewers look to GitHub to gauge each individual's creativity, popularity, capability, and tenacity. Join Wilson Mar in this hands-on tutorial to become immediately productive with these vital tools. Wilson has...
Building Continuous Delivery Pipelines: A Workshop
Although continuous delivery (CD) and DevOps are growing in popularity, not much practical information is available about how to get started. This hands-on technical tutorial is the place to get your feet wet and your questions answered. For this workshop, bring a laptop with the appropriate software installed (see note below), and Ken Mugrage will provide everything else you need. 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...
Plan, Architect, and Implement Test Automation within the Lifecycle
PreviewIn test automation, we often must use several tools that have been developed or acquired over time with little consideration of an overall plan or architecture, and without considering the need for integration. As a result, productivity suffers and frustrations increase. Join Mike Sowers as he shares experiences from multiple organizations in creating an integrated test automation plan and developing a test automation architecture. Mike discusses both the good (engaging the technical architecture team) and the bad (too much isolation between test automators and test designers) on...
Acceptance Test-Driven Development
PreviewDefining, understanding, and agreeing on the scope of work to be done is often an area of discomfort for product managers, developers, and quality assurance experts alike. The origin of many items living in our defect tracking systems can be traced to the difficulty of performing these initial activities. Ken Pugh introduces acceptance test-driven development (ATDD), explains why it works, and outlines the different roles team members play in the process. ATDD improves communication among customers, developers, and testers. ATDD has proven to dramatically increase productivity and...
Tuesday, June 6
Advanced Test Automation in Agile Development
Agile teams are charged with delivering potentially shippable software at the end of each iteration. In fact, some high-performing agile teams with advanced automation can ship working software every day. They achieve regression confidence with extensive automated test suites and other advanced practices. Rob Sabourin shares automation techniques to improve story and feature testing, exploratory testing, and regression testing. Explore ways to fully integrate testing into agile delivery teams by combining test-driven development (TDD) techniques, precise test and tool selection,...
Stop Saying DevOps and Start Applying Continuous Delivery Principles
DevOps. You think you need it because the market is telling you, but the market is confused (and self-perpetuating). How is your organization implementing efforts in agile, Continuous Delivery, and now DevOps when they appear to be selling the same dream? Max starts with disambiguating DevOps and understanding our need as software engineers and practitioners. We still demand the same output: improved time to market through the incremental delivery of quality software. Next he shows how to conduct your own Value Stream Mapping exercise—a crucial tool ThoughtWorks uses to identify waste and...
What DevOps Means for Testers
DevOps is more than a buzzword or a passing fad. It's a radically new approach to rapidly delivering 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 Architecture of Microservices
PreviewMicroservices—one of the latest software architecture styles—promises to deliver benefits such as fast and easy deployment, ease of testing, fine-grained scalability, architectural modularity, and high overall agility. Unfortunately, a lot of complexity comes coupled with these benefits. In this product-agnostic architecture tutorial, Mark Richards provides you with an understanding of the microservices architecture style and what hybrids and alternatives exist. This helps guide you in making the right architecture and design decisions for your organization. Mark discusses the core...
The Tester’s (New) Role in Agile Development
Avoiding siloed development is a tricky business. It’s 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 teams...
Docker Fundamentals Jumpstart
PreviewDocker, a mechanism for low-overhead virtualization, is emerging as a key aspect of DevOps architectures. Interest in Docker—with its lightweight, portable, “build once, configure once, and run anywhere” containers—is growing. If you want to jumpstart your Docker skills, join Ali Hussain to gain first-hand knowledge to help your organization streamline workflows, speed up product releases, and reduce hardware investments. He discusses the basics of Docker: concepts, terminology, commands, must-know features, and real-world examples of Docker projects. Ali presents and demonstrates...
Leading Change: Even If You’re Not in Charge
Has this happened to you? You try to implement a change in your organization and it doesn’t get the support that you thought it would. And, to make matters worse, you can't figure out why. Or, you have a great idea but can’t get the resources required for successful implementation. Jennifer Bonine shares a toolkit of techniques to help you determine which ideas will—and will not—work within your organization. This toolkit includes five rules for change management, a checklist to help you determine the type of change process needed in your organization, techniques for communicating your...
Wednesday, June 7
Stamp Out Agile and DevOps Bottlenecks
PreviewThe most critical step in the agile transformation and DevOps adoption process is identifying the bottlenecks in the product delivery cycle. So, how do you go about finding and eliminating those dreaded bottlenecks? Tanya Kravtsov shares her experiences along with tools and methods that facilitate the discovery process while encouraging innovative thinking among team members. Join Tanya to explore ways you can use Mind Maps, Innovation Games (Speed Boat, Buy a Feature, and more), Stick Figure Process Flows, and Team Collaboration to identify, prioritize, and resolve bottlenecks....
Modern Evolutionary Software Architectures
For many years, software architecture was described as the “parts that are hard to change later.” Modern advances in architecture have shown that if architects build evolvability into the architecture, change becomes easier. Neal Ford describes a family of software architectures that support evolutionary change, how we can build evolvable systems, and how to retrofit existing ones. He discusses three key concepts that support evolutionary architectures. Incremental change covers engineering practices to support continuous delivery and DevOps. Neal explains how fitness functions build...
Implement DevOps Like a Unicorn—Even If You’re Not One
PreviewEtsy, Netflix, and the unicorns have done great things with DevOps. Although most people don't work at a unicorn, they still want to combine agility and stability. To close the gap between developers and operations, Mason Leung says his company runs operation workshops, blogs about infrastructure, and experiments with different tools—and are solving the same problems as the unicorns only on a smaller scale. Mason explains that you don't get to millions of requests without going through the first several hundred. Ideas you can take from unicorns include how to use containers to...
From Scrum to Kanban: Our Journey
Two of Scott MacIntyre’s teams expressed frustration upon reaching a “Scrum plateau.” After meeting with both teams and hearing their thoughts, Scott decided to move from Scrum to a kanban-style process. One year into their kanban journey, the teams have moved from only visualizing their workflow to improving collaboratively with a focus on flow. Scott relates his teams’ experiences with adopting a new software development mindset including its successes and failures, and shares a set of practices that ensures as smooth a transition as possible for those teams interested in moving to...
Lightning Strikes the Keynotes
Throughout the years, Lightning Talks have been a popular part of the STAR testing conferences. Now, they’ve come to the combined Better Software, Agile Dev, and DevOps conferences too. If you’re not familiar with the concept, Lightning Talks consists of a series of five-minute talks by different speakers within one presentation period. Lightning Talks are the opportunity for speakers to deliver their single biggest bang-for-the-buck idea in a rapid-fire presentation. Some of the best-known experts will step up to the podium and give you their best shot of lightning. Get multiple keynote...
Thursday, June 8
Why You Shouldn’t Automate – And Why You Will Anyway
PreviewAutomation has been touted as a way to speed up release delivery, improve quality, and reduce testing costs. However, what if there is a different side to this story? Come hear an opposing view to automation—and why it may actually cost your organization time, resources, and even quality. Kevin Pyles discusses why automation projects continue to fail, why automation checks should take a backseat to manual testing, and why the cost of automation is just too high. Kevin suggests you “just say no” to automation. But with pressure from your manager and great industry marketing hype,...
Scaling Automated Tests: Choosing an Appropriate Subset
Automated testing of an application with many dependent services can be challenging. Achieving continuous deployment across these services can be even more so. Managing, coordinating, and scaling deployments of services can become overwhelming and error prone over time. Ensuring that you are able to detect important defects before customers do can be difficult. Executing only relevant tests after each code change rather than always running everything (boiling the ocean) can be a formidable task and might not scale well as the size of the app increases. Manoj Pahuja and Daniel Clayton...
Include Automated Testing in Your Definition of Done
Even though most teams appreciate the benefits of test automation, it is commonly viewed as too time-consuming to be included as part of an agile sprint. This results in automation being done in isolation, typically months after the user story has been completed. This can lead to several problems including automation team members being disengaged and missing key aspects of the requirements, as well as teams going through a period where new features are being introduced but no regression testing is occurring. Angie Jones provides agile-friendly approaches to test automation that allow teams...
Agile Test Automation for Data-Centric Applications
PreviewTest automation is one of several key technical enablement practices that allow teams to be more successful in their agile journey. Although there are many test practices and automation tools available for software development teams to leverage, few are targeted to data-related development and testing. This lack of data-centric testing tools leaves teams working on data warehousing, business intelligence, and other data-centric applications thinking they can't possibly automate their tests. Why is test automation important to agile data teams? Why aren’t they automating their tests...
Your Resume is Now What You Do on GitHub
Increasingly, recruiters are looking at GitHub accounts to identify candidates who demonstrate a proven history of work over several years with specific technologies. Rather than looking at your résumé, employers prefer looking at your GitHub account because it’s verifiable. Anyone can analyze your GitHub history to see what you have been working on, when, with whom, and with what technologies. They can see how “technical” you are by what type of files you changed. Wilson Mar helps you create your own GitHub account, your personal website available from anywhere in the world, with keywords...