STARWEST 2019 - Test Techniques
Monday, September 30
Critical Thinking for Software Testers
Critical thinking is the kind of thinking that specifically looks for problems and mistakes. Regular people don't do a lot of it. However, if you want to be a great tester, you need to be a great critical thinker. Critically-thinking testers save projects from dangerous assumptions and ultimately from disasters. The good news is that critical thinking is not just innate intelligence or a talent—it's a learnable and improvable skill you can master. Michael Bolton shares the specific techniques and heuristics of critical thinking and presents realistic testing puzzles that help you practice...
Test Fundamentals: Relating Requirements and Risk to Testing and Test Design
NewTesting is fundamentally associated with understanding requirements and risk. We use test design techniques to deliver what is required by our customers, and we use testing to help our customers assess risk at every stage of the software’s life. These goals give us a focus for what to test and what to report, but they also present tricky and changing targets. Join Isabel Evans to practice using test design techniques in multiple ways, not just to design tests for execution, but also to understand risks, clarify requirements, and report the information that is most useful to our team and...
Visual Validation for Test Automation
NewFunctional test automation is a wonderful way to frequently and expeditiously execute regression testing. However, the test scripts that we write are limited to the few assertions we’ve considered. Many times, these assertions only cover the tip of the iceberg and account for a small fraction of what a human being would have subconsciously verified. For example, a test automation script can verify that when adding 2 and 2 via a calculator app, the sum that is returned on screen is 4. But does the 4 appear correctly? Is it upside down? Or sideways? Is it the right color? Are there errors...
Agile Test Team Leadership: From Concept to Product
Today, many agile organizations are making a terrible error. They are assuming there is no place for test management and leadership in agile, self-directed team contexts. Mary Thorn and Bob Galen beg to differ with this view and believe a strong need exists for testing leadership in agile organizations—just different from the way we’ve typically approached it. Join Mary and Bob as they explore what excellent test team leadership looks like in agile contexts. Explore the aspects of self-directed teams and the implications to your previous leadership styles. Look under the covers of Scrum...
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 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 automation success...
Continuous Testing Using Containers
NewContainers. Every manager thinks they want them, but few teams have experience in knowing what to DO with them. Used thoughtfully, containerization of your services can transform the way your organization thinks about testing. Gone can be the days of maintaining X different compute environments with Y different configurations. Imagine instead spinning up just the code you need, on the machine type it needs, and only for as long as you need it. In this technical training, Melissa will walk through what containerization means for a legacy code base attempting to practice continuous...
How to Break Software: Robustness Edition
Have you ever worked on a project where you felt testing was thorough and complete—all features were covered and all tests passed—yet in the first week in production the software had serious issues and problems? Join Dawn Haynes to learn how to inject robustness testing into your projects to uncover those issues before release. Robustness—an important and often overlooked area of testing—is the degree to which a system operates correctly in the presence of exceptional inputs or stressful environmental conditions. Dawn shows you how—by expanding basic tests and incorporating specific...
Technical Test Automation Challenges: Patterns and Solutions
Many 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 will focus 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 will...
Tuesday, October 1
X-Ray Vision For Testers: How to Analyze Things
NewHow do we go about understanding something complex? How do we move from confusion to clarity? What strategies and approaches can we use to identify and reason about things that matter? When we’re dropped into a testing situation, how do we make sense of it all? How can we rapidly achieve a deeper understanding of things that we know little or nothing about? How can we develop skills to make us more powerful testers? The answer to these questions is analysis - the study of things and ideas by examining their elements and structure. In this one-day tutorial, Michael Bolton will lead...
Introduction to Selenium
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...
Clean Coding Practices for Test Automation
NewWe are often reminded by those experienced in writing test automation that code is code. The sentiment being conveyed is that test code should be written with the same care and rigor that production code is written. However, many people who write test code may not have experience writing production code, so it’s not exactly clear what is meant by this statement. And even those who write production code find that there are unique design patterns and code smells that are specific to test code in which they are not aware. Join Angie Jones for this workshop, at which, you will be given a...
Web Security Testing: The Basics and More
Web applications are often security critical or serve as front-ends for security critical applications, making web testing for vulnerabilities an essential part of software testing. Unfortunately, most software testers have not been taught how to identify web security issues while testing applications. Join Jeffery Payne as he shares what you need to know to security test web-based applications as part of your overall testing process. Learn about the most common web security vulnerabilities and how they are introduced into web code and exploited by hackers. Explore test techniques for...
Agile Testing: Team Tactics that Deliver the Goods
Sold Out!Let’s face it—agile testing is different. Challenges exist in successfully integrating within the teams themselves. Scrummerfall continues to run rampant. The dichotomy of testing vs. quality—and balancing both the team’s and your focus—still exists. Delivering value is both an imperative and a challenge. In this dynamic workshop, join agile coaches Mary Thorn and Bob Galen to explore the tools, techniques, and mindset you must bring to the table to successfully test in agile contexts. Mary and Bob examine risk-based testing, iterative test planning, exploratory testing, agile automation...
Test Estimation in the Face of Uncertainty
PreviewAnyone who has ever attempted to estimate software testing effort realizes just how difficult the task can be. The number of factors that can affect the estimate is virtually unlimited. The keys to good estimates are understanding the primary variables, comparing them to known standards, and normalizing the estimates based on their differences. This is easy to say but difficult to accomplish because estimates are frequently required even when we know very little about the project—and what we do know is constantly changing. Throw in a healthy dose of politics and a bit of wishful...
Wednesday, October 2
QADevSecOps: Leading a Quality-Driven DevOps Transformation
Have you wondered where QA professionals fit into a DevSecOps transformation? Stacy Kirk thinks they should champion the transformation. Regardless of where your company is on its journey to DevSecOps, quality must be at the forefront for optimal effectiveness and customer value. This means promoting feedback loops that use monitoring and reporting tools effectively, and most importantly, it means creating a culture of collaborative communication and continuous improvement. The role of the QADevSecOps practitioner must evolve from ensuring the quality of software to assessing the...
Conquering the Testing Challenges of Serverless Applications
PreviewServerless cloud applications are rapidly moving into the mainstream. In this model, teams focus on developing and deploying code on a known technology stack and runtime, with fixed interfaces for application, database, and network, and they offer the advantages of lower costs, faster development, and elastic growth. But testing serverless applications brings significant challenges to testers. Because the stack is typically maintained by the cloud provider, it is updated with new versions and security patches on a regular basis. Testers have to continuously test the stack...
Using Design Thinking to Create Better Test Cases
Designing good test cases can be described as an art. With test cases being written with a focus on business, testers should be part of the discovery and design phase of the project, and the business drivers should dictate test case design. But how can we ensure we are focusing on the user and bringing the biggest value possible in this phase? Larissa Rosochansky will describe what design thinking is, how it relates to the testing methodology, and how to use it in the design phase of your project. She will also show you how to better frame the business drivers and select the persona and...
Continuous Application Security Testing
PreviewBecause of its specialized nature, many aspects of application security testing are often assigned to testers from another team or another company, and they may be brought in to perform a point-in-time assessment prior to a release. Your team is interested in implementing continuous deployment, and automation seems like the obvious answer. But when attempting to automate your security tests, you may run into a wide variety of challenges beyond simply adding a tool into your build system. Josh Gibbs will discuss how to choose what to test, how to avoid slow tests, how to keep...
Finding Performance Issues Early with JMeter
Nonfunctional tests like performance tests are often left until the end of the delivery cycle because they can be expensive in terms of time, resources, and effort. However, performance issues can be difficult to resolve when found late in the software development lifecycle. Apache JMeter is an open source tool designed to load test functional behavior and measure performance. JMeter can be used to develop, manage, and execute load and performance tests while the code is being developed, rather than waiting to do performance testing until just before release. By using it early in your...
What's That Smell? Tidying Up Our Test Code
We are often reminded by those experienced in writing test automation that code is code. The sentiment being conveyed is that test code should be written with the same care and rigor that production code is written with. However, many people who write test code may not have experience writing production code, so it’s not exactly clear what is meant. And even those who write production code find that there are unique design patterns and code smells that are specific to test code. Join Angie Jones as she presents a smelly test automation code base littered with several bad coding practices...
Testing AI-Based Systems: A Gray-Box Approach
Testing artificial intelligence- and machine learning-based systems presents two key challenges. First, the same input can trigger different responses as the system learns and adapts to new conditions. Second, it tends to be difficult to determine exactly what the correct response of the system should be. Such system characteristics make test scenarios difficult to set up and reproduce and can cause us to lose confidence in test results. Yury Makedonov will explain how to test AI/ML-based systems by combining black box and white box testing techniques. His "gray box" testing approach...
Thursday, October 3
The Game of Continuous Delivery
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...
Conquering BDD: How One Team Is Making It Work
PreviewBehavior-driven development has been a buzzworthy term in the testing and development community for several years. At first glance, the elements of BDD seem simple: testing scenarios, living documentation, automation, and reports. That all sounds great, but then why isn't everyone doing it? Upon a deeper dive, it becomes obvious that the implementation of BDD needs a lot of forethought and planning, and teams must approach it for the right reasons. Christine Fisher will follow the evolution that one team is currently experiencing in their shift to BDD. BDD was selected to help them...
Test Data as a Service: Fueling Quality at Speed
PreviewAny business that uses technology to interface with or provide service to their customers, suppliers, and partners requires customer-facing applications that have exceptional quality. The assurance of business outcomes must become an imperative for IT professionals, which means we must learn how to continually engineer quality into every product and process to provide confidence that our technology solutions protect the company brand. However, delivery within the required time frames is continually constrained by the quality, relevance, quantity, and security of test data. Join...