Kubernetes is one of the fastest growing open source projects in history, and it's taking the DevOps world by storm. With so many resources being poured into this technology, it would be nice if there were some benefits for testing.
DevOps teams struggle to ensure quality in multiple daily deployments. Traditional testing approaches have often failed in this context, but there are exciting new ways to test. Laurent Py and Vincent Prêtre will explain how, at Hiptest, DevOps teams combine behavior-driven development (BDD) techniques with business metrics analysis to continuously assert the quality of their product. BDD scenarios align teams to a common goal, and users provide feedback to ensure their needs are met. The team transforms usage scenarios into tests that enable developers to deliver the functionality expected, and product analytics are collected to ensure that the functionality is valuable to users. Analytics data is then used to learn how the new feature impacts the user experience. Laurent and Vincent will explain how this approach reduces siloed communication and combines scenarios and data in living documentation.
DevOps teams struggle to ensure quality in multiple daily deployments. Traditional testing approaches have often failed in this context, but there are exciting new ways to test. Laurent Py and Vincent Prêtre will explain how, at Hiptest, DevOps teams combine behavior-driven development...
Empathy is a technical skill. Don’t worry; you read that correctly. While empathy is often cited as a critical “soft skill,” it doesn’t stop there. Empathy is also an incredibly technical topic that is more accessible to analytical engineers—and more vital to building software—than you might think. Andrea Goulet, a noted expert on communication in the software industry, will debunk several myths around empathy, including that empathy is just a feeling, that technical folks can’t access empathy, and that empathy is just a high-level, touchy-feely fad. Andrea will demonstrate how empathy is a crucial skill for all developers of software, and she will give you practical and immediately actionable advice for making empathy a central focus of your daily software development communication practices. She'll also explore the place for empathy while you’re coding and testing.
Behavior-driven development (BDD) has been around for a while and is here to stay. However, the added abstraction levels pose a technical problem for writing and managing tests. While BDD does a great job of marrying the nontechnical aspect of test writing to the technical flow of an application under test, keeping this information under source control becomes problematic. Frameworks such as JBehave, Cucumber, or Robot give subject matter experts that additional ability to write tests, but they are often restricted access from them; because people treat test cases as code, they get stored in source control repositories. Additionally, these given-when-then steps soon can grow to an extent where they are difficult to manage without an IDE, and nontechnical people lose interest. Using management tools, Max Saperstone shows how to manage these nontechnical steps and keep them in sync with the automaton in tools such as Git.
The DevOps movement is front and center across enterprises. Companies with mature systems are breaking down siloed IT departments and federating them into product development teams and departments. Testing and its practices are at the heart of these changes. Traditionally, development organizations have been filled with mostly manual testers and a limited number of automation and performance engineers. Adam Auerbach says this has to change. To keep pace with development in the new “you build it, you own it” environment, testing teams and individuals must develop new technical skills and even embrace coding in order to stay relevant and add more value to the business. Based on his experiences at Lincoln Financial and Capital One, Adam explores what the DevOps movement is all about, its core values, and proven patterns for how testing must evolve.
API-based applications have become ubiquitous in the past few years. Yet many of us still really don't know what an API is from the inside out. Moreover, many of us don't know much about how to comprehensively test them! Join Paul Merrill to learn what everyone is doing and talking about, related to APIs: microservices, REST, endpoints, requests, request methods, and responses. Paul demonstrates four free tools you can use to directly interact with a simple API: curl, the browser, Postman, and Java (with Rest Assured). Learn techniques for testing APIs at the service level and how to test APIs faster with greater coverage and quicker test automation. Walk away with an understanding of what JSON is, how APIs use JSON, and how to go about verifying that it is correct. With new knowledge and skills, you’ll do a better testing job and give more valuable feedback to the API designers and developers.
Successful agile testers collaborate with programmers as code is written, isolating problems, troubleshooting defects, and debugging code all along the way to getting the product to done. But modern systems are scaling beyond what traditional teams are able to understand using familiar tools. New appreciation for systems and complexity theory, as well as disciplines and tools around emerging areas such as observability and resilience engineering, are offering solutions that allow teams to actively debug their systems and explore properties and patterns they have not defined in advance. Chris will share the basics of the theory of these new ideas, as well as some tools that support this type of work. He'll show how dynamic analysis can be used to isolate and understand puzzling system behavior.
Teams are sometimes asked to turn a mess of undocumented, poorly structured legacy code into a robust product under impossible deadlines. Test strategies blending automation, exploration, and refactoring can help focus development efforts and converge even the most chaotic projects. But, where do you start? Join Jonathan Solórzano-Hamilton as he shows how automation can help drive products into a state of release readiness. Learn how refactoring, test-driven development, SOLID principles, dependency injection, and mocking frameworks help break down complex development problems into actionable chunks to delivering reliable, self-documented, and high-performing products. Jonathan walks you through the concepts of “Single responsibility”, “Open/closed”, “Liskov substitution”, “Interface Segregation”, and “Dependency Inversion”.