STARWEST 2016 - Agile Testing
Sunday, October 2
Agile Tester Certification (2–Day)
Fundamentals of Agile Certification—ICAgile (2–Day)
Monday, October 3
Better Test Design for Great Test Automation
When we discover—often late in an automation effort—that the automated tests are cumbersome and costly to maintain, we often view this as a technical problem for the automator to solve. However, an often-overlooked cause is the role that testers who designed these tests play in making automation scalable and maintainable. In this interactive tutorial for both testers and automation engineers, Hans Buwalda explores how better test designs will result in much improved test automation and can make the difference between automation success and failure. See why...
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. But help is at hand. Enter behavior-driven development (BDD) and Cucumber and SpecFlow, two tools for running automated acceptance tests and facilitating BDD. Mary Thorn explores the nuances of Cucumber and SpecFlow, and...
Test Automation Strategies for the Agile World
With the adoption of agile practices in many organizations, the test automation landscape has changed. Bob Galen explores current disruptors to traditional automation strategies, and discusses relevant and current adjustments you need to make when developing your automation business case. Open source tools are becoming incredibly viable and beat their commercial equivalents in many ways―not only in cost but also in functionality, creativity, evolutionary speed, and developer acceptance. Agile methods have fundamentally challenged our traditional automation...
Tuesday, October 4
Selenium Test Automation: From the Ground Up
Knowledge of Selenium, the industry-standard tool for testing web applications, is a much sought after skill in today’s world of test automation. Many believe it is a must-have skill for test engineers. If you want to learn Selenium, then this tutorial is a great start. Cheezy Morgan 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 and easy to maintain. Cheezy introduces other tools that work with Selenium to help manage the data used to drive your...
Test Attacks to Break Mobile and Embedded Software
In the tradition of James Whittaker’s book series, How to Break Software, Jon Hagar applies the testing “attack” concept to the domain of mobile and embedded software systems. First, Jon defines the environments of mobile and embedded software. He then examines the issues of software product failures caused by defects found in these types of software. Next, Jon shares a set of attacks against mobile and embedded software based on common modes of failure that teams can direct against their software. Like different kinds of software design patterns, attacks...
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 as they explore the tools, techniques, and mindset you need to bring to the table to successfully test in agile contexts. Mary and Bob examine risk-based testing, iterative test planning,...
Testing Cloud Services
Cloud computing is rapidly changing the way systems are developed, tested, and deployed. New system hosting capabilities—software as a service (SaaS), platform as a service (PaaS), infrastructure as a service (IaaS)—are forcing us to review and revise our testing processes. At the same time, cloud computing is affording us opportunities to employ new test tooling solutions, which we call testing as a service (TaaS). In this technical session, Martin Pol and Jeroen Mengerink focus on testing SaaS systems, linking relevant IaaS and PaaS capabilities along the way....
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. We beg to differ with this view and believe a strong need exists for testing leadership in agile organizations—just not the way we’ve typically approached it. Join Mary Thorn and Bob Galen 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...
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 called 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...
Take a Test Drive: Acceptance Test-Driven Development
The practice of agile software development requires a clear understanding of business needs. Misunderstanding requirements causes waste, slipped schedules, and mistrust within the organization. Jared Richardson shows how good acceptance tests can reduce misunderstanding of requirements. A testable requirement provides a single source that serves as the analysis document, acceptance criteria, regression test suite, and progress-tracker for any given feature. Jared explores the creation, evaluation, and use of testable requirements by the business and developers....
Wednesday, October 5
Engineering Trust in Complex Systems
Within software and test engineering, two new disciplines—Chaos Engineering and Intuition Engineering—provide avenues to address trust in complex systems. Chaos Engineering is a methodology for test engineers to validate a system’s behavior and establish empirical trust metrics. Intuition Engineering provides new interfaces to navigate complexity, filling in gaps in understanding that classical methods cannot address.
Casey Rosenthal explains how these disciplines are used to improve quality on Netflix.com, one of the largest scaled deployments on the...
Testing in an Agile World: The Current State and Future Possibilities
Delivering high quality applications in an agile world is becoming more complex and challenging because of the changes the web and mobile are undergoing. Web testing continues to get much more difficult due to: increasing use of open technologies (HTML, JavaScript, and CSS) and web components in apps; lengthening the approval processes for plugins; and Chrome, Mozilla, and Edge browsers blocking specific APIs. On the mobile front, Apple, Google, and Microsoft are making it easier for developers to build cross-platform apps, resulting in more to test in less time...
Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper
The continuous delivery pipeline is the process of taking new or changed features from developers, and getting features deployed into production and delivered quickly to the customer. Gene Gotimer says testing within continuous delivery pipelines should be designed so the earliest tests are the quickest and easiest to run, giving developers the fastest feedback. Successive rounds of testing lead to increased confidence that the code is a viable candidate for production and that more expensive tests—time, effort, cost—are justified. Manual testing is performed...
Agile Testing at Etsy: How and Why It Works
Growing team skill sets, resource management, pipeline management, career development, career definition, scaling issues, and optimizing efficiencies are just a few of the problems agile QA test teams face. If you have asked yourself How can I do more with less?, How can I increase the impact of QA testing at my organization?, or How is the QA testing helping or hurting product launches?, then don’t miss this stimulating presentation! Join Arylee McSweaney as she shares Etsy’s value driven—yet individualistic—approach to quality...
The Journey to Continuous Testing
Capital One’s highly integrated environment creates many interdependencies for its agile teams. Because these dependencies were not being completed until late in their sprints, Adam Auerbach says that Capital One faced prolonged integration and regression testing phases and did not realize expected improvements in quality or time-to-market. As technology leaders pushed for continuous delivery (CD), testing needed to shift left and occur simultaneously with development. To shift left, the testing community needed to learn basic development skills, including Ruby...
Agile Testing for Embedded and IoT Software Development
Much of the success of agile adoptions is due to the automated testing approach used in agile projects. Because many of these techniques were pioneered in the development of web applications, it can be difficult to see how these techniques can be leveraged for a project where software is being built for an embedded or Internet of Things (IoT) application. Thomas Stiehm describes ways to leverage agile testing techniques for embedded systems. Whether you are building a medical device, embedded controller, or IoT device, learn how to leverage these testing...
A DevOps Primer: Whole Team Approaches for Better Software Quality
With fingers wagging and eyes squinting, they query Why didn’t you find this problem during testing? How many times have you tried to defend yourself with things like We can’t test everything or It’s a corner case? Everyone knows you can’t improve quality with testing alone, so what can you do? Marianne Hollier shares practices and tools that help improve your test effectiveness and overall software quality. Learn how early collaboration across your whole team can remove bottlenecks and surprises. See how capturing and agreeing on interfaces...
Thursday, October 6
Making the Move to Behavior-Driven Development
Behavior-driven development (BDD) is a hot topic in the development community. Not only does a properly implemented BDD process help drive increased automation and quicker development cycles, it also facilitates better collaboration between departments and reduces siloed communication. An ideal partner of continuous integration/delivery, BDD can help solve many testing bottlenecks associated with DevOps. For all its benefits, BDD is underadopted. Only 10–25 percent of development organizations have implemented or are experimenting with a BDD process....
Automated Testing Using Selenium
Is your company thinking about using Selenium to implement test automation in a joint development and operations environment? If your company has already started using Selenium, have you experienced execution or integration challenges? The path to a well-oiled and successful Selenium test automation program comes down to using the right techniques and development standards that incorporate modularity and flexibility. Jin Reck describes how to design effective web test automation development, and shares common challenges and solutions when implementing an...
Agile Strategies for Traditional Software Development Teams
Many development and test teams are still working on more traditional software projects that release every few months or longer, rather than daily or weekly. Benefits of adopting continuous development strategies into a standard software cycle include immediate feedback on code changes, a clear understanding of the current risk-state of the software, and current and historical data to assess progress. Melanie Drake shares specific “modern” strategies that her development team has added and how these strategies enhance software quality. Some tools include...
Agile Testing Process Analytics: From Data to Insightful Information
In recent years, businesses have raised their expectations for development projects while cutting back on financial resources and demanding shorter production cycles. Jonathan Alexander says that to meet these growing demands and succeed as a testing manager, you need to leverage agile process data and insights to make critical decisions about your team and strategy. However, this is no easy task with everything there is to look at during a development project. How do managers distinguish meaningful data from meaningless data? Jonathan shares the analytics that...