STARWEST 2018 - Test Automation
Monday, October 1
Artificial Intelligence and Machine Learning Skills for the Testing World
Software continues to revolutionize the world, impacting nearly every aspect of our work, family, and personal life. Artificial intelligence (AI) and machine learning (ML) are playing key roles in this revolution through improvements in search results, recommendations, forecasts, and other predictions. AI and ML technologies are being used in platforms for digital assistants, home entertainment, medical diagnosis, customer support, and autonomous vehicles. Testing practitioners are recognizing the potential for advances in AI and ML to be leveraged for automated testing—an area that still...
Better Test Design for Great Test Automation and DevOps
PreviewTest automation is an essential element in agile and DevOps processes. And test design can make or break automation efforts throughout the entire CI/CD pipeline. We want automated tests to find problems in a build quickly, run without a hitch, and be easily maintained. However, if tests are badly structured and unnecessarily detailed, you may have a hard time automating them—even with great tools. Hans Buwalda explores how testers, both technical and non-technical, can design or restructure tests to make them suitable for automation. In this session, you’ll learn how domain...
Implement BDD with Cucumber and SpecFlow
We’ve all been there. We work incredibly hard to develop a feature and design tests based on written requirements. We build a detailed test plan that aligns the tests with the software and the documented business needs. And when we put the tests to the software, it all falls apart because the requirements were changed without informing everyone. Mary Thorn says help is at hand. Enter behavior-driven development (BDD), and Cucumber and SpecFlow, tools for running automated acceptance tests and facilitating BDD. Mary explores the nuances of Cucumber and SpecFlow, and shows you how to...
Using Docker Containers for Automating Web Testing
NewDocker is one of the hottest technologies in our industry today. It lets you create and manage containers—like virtual machines but smaller and faster. They can provide on-demand, disposable test environments that start quickly, repeatably, locally or in the cloud. When you want, you can tear down the environment and recreate a pristine copy within seconds. And since the process is automated, anyone on the team can use the same commands to get their own test systems. Then, when you finish testing, those containers can be deployed directly into production. At each stage, the environments...
Measurement and Metrics for Test Management
To be most effective, test managers must develop and use metrics to help direct the testing effort and make informed recommendations about the software’s release readiness and associated risks. Because one important testing activity is to “measure” the quality of the software, test managers must measure the results of both the development and testing processes. Collecting, analyzing, and using metrics are complicated because many developers and testers are concerned that the metrics will be used against them. Join Mike Sowers as he addresses common metrics—measures of product quality,...
Instill a DevOps Testing Culture in Your Team and Organization
NewThe DevOps movement is here. Companies across many industries are breaking down siloed IT departments and federating them into product development teams. Testing and its practices are at the heart of these changes. Traditionally, IT organizations have been staffed with mostly manual testers and a limited number of automation and performance engineers. 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 to stay relevant and add greater value to the business. DevOps really...
Test Automation Strategies for the Agile World
Sold Out!With many organizations adopting agile practices, the test automation landscape has changed. Bob Galen explores current disruptors to traditional automation strategies, and discusses relevant and current adjustments that must be made when developing an automation business case. Open source tools are becoming incredibly viable and often best their commercial equivalents―not only in cost but also in functionality, creativity, evolutionary speed, and developer acceptance. Agile methods have fundamentally challenged our traditional automation strategies. Now we must keep up with incremental...
System-Level Test Automation: Ensuring a Good Start
Many organizations invest a lot of effort in test automation at the system level but then have serious problems later on. As a leader, how can you ensure that your new automation efforts will get off to a good start? What can you do to ensure that your automation work provides continuing value? This tutorial covers both “theory” and “practice”. Chris Loder explains the critical issues for getting a good start and also describes his experiences in getting good automation started at a number of companies. The tutorial covers the most important management issues you must address for test...
Tuesday, October 2
Selenium Test Automation: From the Ground Up
Sold Out!Knowledge of Selenium, the industry-standard tool for testing web applications, is a much sought after skill in today’s world of test automation. If you want to learn Selenium, then this full-day tutorial provides a great start. Max Saperstone shows you how to build test automation using Selenium. But he doesn’t stop there. He uses his years of experience to show you how to build automation that is clean, robust, and easy to maintain. Max introduces other tools that work with Selenium to help manage the data used to drive your tests, evaluate JavaScript-heavy applications, manage your test...
Testing Strategies for Microservices
NewSoftware development is trending toward building systems using small, autonomous, independently deployable services called microservices. Leveraging microservices makes it easier to add and modify system behavior with minimal or no service interruption. Because they facilitate releasing software early, frequently, and continuously, microservices are especially popular in DevOps. But how do microservices affect software testing and testability? Are there new testing challenges that arise from this paradigm? Or are these simply old challenges disguised as new ones? Join Tariq King as he...
Technical Test Automation Challenges: Patterns and Solutions
PreviewMany organizations find that test automation does not work as well as they thought it would. In many cases, these failures are due to generic technical reasons, which can be fixed with relative ease. Other solutions that have worked well are patterns, common to automation efforts at any level with whatever tools you are using. Seretta Gamba focuses on often-neglected technical issues—i.e., non-management issues—and the patterns that help solve them. These are not development or code patterns—this is a code-free tutorial. Using a set of patterns developed with Dot Graham, Seretta...
Security Testing for Test Professionals
Today’s software applications are often security critical, making security testing essential in a software quality program. Unfortunately, most testers have not been taught how to effectively test the security of the software applications they validate. Join Jeffery Payne as he shares what you need to know to integrate effective security testing into your everyday software testing activities. Learn how software vulnerabilities are introduced into code and exploited by hackers. Discover how to define and validate security requirements. Explore effective test techniques for assuring that...
Test Design for Fully Automated Build Architecture
NewImagine this … As soon as any developed functionality is submitted into the code repository, it is automatically subjected to the appropriate battery of tests and then released straight into production. Setting up the pipeline capable of doing just that is becoming more and more common and something you need to know about. But most organizations hit the same stumbling block—just what IS the appropriate battery of tests? Automated build architectures don't always lend themselves well to the traditional stages of testing. In this hands-on tutorial, Melissa Benua introduces you to key test...
Integrating Automated Testing into DevOps
In many organizations, agile development processes are driving the pursuit of faster software releases, which has spawned a set of new practices—DevOps. DevOps stresses communications and integration between development and operations, including rapid deployment, continuous integration, and continuous delivery. Because DevOps practices require confidence that changes made to the code base will function as expected, automated testing is essential. Join Jeffery Payne as he discusses the unique challenges associated with integrating automated testing into continuous integration/continuous...
Performance Testing Services for Web and Cloud-Based Architectures
NewDoes your application have what it takes to handle the number of customers you expect—or hope for? Does it provide a quick, responsive experience for your users all the time? Join Amber Race to explore the performance testing tools and techniques you need to help ensure that your application is ready for the load from real users. If you are just getting started as a performance tester and wondering how to begin, Amber will take you through the basics and review the different facets of load and performance testing. You’ll learn how to analyze your application for potential issues, create...
Testing Today's Web Applications: Tools You Can Use
PreviewIf you are a software tester in 2018, chances are you're testing a website or web application. Whether you are testing in a browser, within a web “wrapper” framework like Electron, or even a web app wrapped in a mobile application, your customers are using web apps and websites constantly—and they want them to work well. Our challenge in test, of course, is to test as thoroughly and efficiently as we can, given our time and resource constraints. Long time software testing veteran Alan Page demonstrates some of his favorite free or inexpensive tools for testing web apps and shares...
Wednesday, October 3
Testing Outside of the Box
The cognitive skills of testing are being threatened by two major forces: the assumption that automation can replace all other forms of testing, and the acceptance of lower quality by consumers. You might be feeling like you’re living on an eroding island, but there is a way to adapt and even thrive using your testing skills. Your project still needs to have someone who will question assumptions, examine design, create experiments, analyze data, and report meaningful metrics. It needs your social skill to connect teams who work in silos, bring customer insights to light, and track risks...
Fighting Test Flakiness: A Disease that Artificial Intelligence Will Cure
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?...
7 Proven Ways to Ruin Your Test Automation
PreviewTest automation projects fail, but why? Could you stop it from happening? In this tongue-in-cheek talk, Seretta Gamba will share seven proven methods to disrupt or utterly ruin a test automation project, including letting a lone champion keep important knowledge to himself, ignoring good programming practices, setting impossible goals, and feigning support. Seretta’s humorous recommendations will provide managers, testers, and automators alike with the early signs of an automation project in danger. By “warning” that the most effective defenses are found using the test automation...
Help! I am Drowning In 2 Week Sprints....Please Tell Me What NOT to Test!
Sometimes we allow ourselves to drown in work… Mary Thorn hears it all the time: testers complaining at retrospectives to their teams that they do not have enough time to test everything. She often sees testers work overtime the last week of a sprint to ensure the definition of done is accomplished. Why do they do this? Why do we, as testers, enable the bad behaviors of “Scrummerfall” or a lack of whole-team ownership of quality? Mary aims to arm testers with techniques that allow them to test smarter, not harder, and enable the testers and the team to have better conversations that make...
Reduce Wait Time with Simulation + Test Data Management
Data has become the most significant roadblock that testers face today. In fact, up to 60% of a tester’s time is spent waiting for data. Chris Colosimo shows that many factors contribute to this wait time, including internal requirements from the test data management team to pull data in the proper form, wait times for sanitized or “test-safe” data, or, most importantly, building data sets that do not exist. Compounding these challenges is the inherit complexity of today’s data. You have to be a DBA to even begin to understand the structure and relationships needed to support your testing...
Use Soap Opera Testing to Twist Real-Life Stories into Test Ideas
Reality is a great source of inspiration. Real-life situations can present complexities that are not always anticipated—and, as a consequence, not always handled well. Business functional tests should try to present situations that are routed in reality but also aren’t too obvious. Testing and automation pioneer Hans Buwalda came up with a concept for test design called "soap opera testing" based on this concept. It is a style of writing tests where one writes as if they were episodes in an imaginary soap opera on television. Soap opera episodes are based on real life, but usually they are...
Marrying Artificial Intelligence with Software Testing: Challenges & Opportunities
Emerging technologies such as the internet of things (IoT) and cloud computing have introduced a significant software variety and complexity. Wendy Siew Wen Chin and Heng Kar Lau explain that testers are challenged to support a wide product portfolio within harsh time, resource and budget constraints. More test automation may seem to be a solution to test efficiency, however there are many inefficient hot spots throughout the test automation life cycle. Join Wendy and Heng Kar as they share their experiences from the Intel IoT team. They share how to make use of artificial intelligence (AI...
No More Shelfware—Let’s Drive
When Isabel Evans learned to drive a car, she also learned how to check, clean, and change spark plugs, mend the fan belt with a stocking, and indicate speed and direction changes with arm and hand signals. Now, we don’t expect to have to do any of those things; we just drive the car. That’s how test tools and automation could be. Just drive and concentrate on the journey of delivering software continuously—concentrate on engineering the solutions, not on the automation. To be effective engineers, we need the support of a powerful toolset that we understand. Is that what we have? Or do we...
Managing BDD Automation Test Cases inside Test Management Systems
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...
How to Automate Testing for Next-Generation Interfaces (BOTs, Alexa, Mobile)
PreviewToday’s IT systems communicate with customers through multiple points of engagement and various interfaces, ranging from web, mobile, and voice to BOTs and apps like Alexa and Siri. Sanil Pillai says these systems need to provide seamless handoffs between different points of interaction—while at the same time providing relevant and contextual information quickly. To accomplish this, a team must be able to successfully pair device hardware capabilities and intelligent software technologies such as location intelligence, biometric sensing, and Bluetooth. Sanil shows that testing...
Automation and Test Strategies to Save Our Project from the Brink of Collapse
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...
Thursday, October 4
Building a Modern DevOps Enterprise Testing Organization
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...
Automate Your Application Test Deployments with Docker
PreviewIn a busy world, testing teams are asked to adopt new approaches to increase speed and flexibility of change. What methods and tools can help? Artem Golubev has seen many testing teams being told to use Docker. But for testers, this brings confusion. What it Docker and why is Docker useful to testers? How can Docker be used to increase confidence in our releases? To help you answer those questions, Artem shares his experience using this popular tool and approach. Starting with terminology Artem shares what is meant by Dockerfile, Docker Image, Docker Container, Compose, Kubernetes...
What's an API and How Do I Test It?
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...
Agile Performance Testing in the Real World
PreviewPerformance 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...
Mission Critical Automation Testing
When critical subsystems fail, the resulting losses can be catastrophic. In the insurance industry, if premiums are miscalculated, defect costs can reach well over a million dollars. In this session, Mike Keith and Dom Nunley draw on their practical experience with insurance systems testing to provide an overview of combinatorial automation testing for high-risk backend system areas—i.e., features that absolutely must work correctly. They share a process for categorizing requirement risk levels to determine which requirements warrant combinatorial testing. Mike and Dom illustrate various...
Troubleshooting and Understanding Modern Systems: Tools Testers Need
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....
An Innovative Test Automation Approach without Making Test Cases
Does test automation need traditional test cases? Mehmet Duran says no. Using the open source tool TESTAR, he devised an innovative approach to automated testing. Join Mehmet as he shares the research he conducted to solve this challenge and how he confirmed his findings by comparing test approaches using a new framework with the quality attributes of learnability and usability. Mehmet will also describe he worked with Hatim Chahim of Prorail on a real-world railroad project to try out his theory. After applying the framework, results showed that within this setting, the test automation...
Everything I Learned about Automation, I Learned from Saturday Morning Cartoons
Do you remember sitting in front of the television as a kid enjoying your favorite Saturday morning cartoons? Chris Loder shows you how the lessons we learned from those cartoons apply to our everyday work in test automation. Wait until you hear what we’ve learned from the likes of Scooby Doo®, Wile E. Coyote®, and many other favorites! Like Bugs Bunny®, maybe we should “have taken that left turn at Albuquerque” and possibly done things a little differently. Discover how the animators in Spiderman® didn’t redraw every background but reused the animation cells, similar to our reusing pieces...
A Tale of Continuous Testing
PreviewWhen the atmosphere is hostile to QA, and yet the demands on the QA Team are increasing, how do you transform a team where everything is tested and deployed manually, to an organization that delivers great software multiple times a day? Where do you start and how do you create the strategy for implementing Continuous Testing? Join David Lumpkin as he shares his company's journey to answer these questions and the team's evolution along the way. Over a three-year period, Craftsy went from an environment hostile towards QA, to one that embraces automation and exploratory testing,...
Testing Your Tests: Securing Confidence In Your Automation
The growth of automation testing in today’s software development organizations is changing the way we test applications. Software development practices have matured over the last thirty years to include all forms of testing in order to verify software quality. In the last ten years, there has been a huge spike in the adoption of automated tests, effectively replacing some manual testing practices and supplementing traditional testing activities. Many parts of the software development industry, however, are wary of replacing manual testing with automated testing. Not only is there often a...