STARWEST 2016 - Developer
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...
Applying Emotional Intelligence in Your Testing
As test managers and test professionals, we're constantly dealing with fragile egos, highly-charged situations, and pressured people playing a high-stakes game under conditions of massive uncertainty. We're often the bearers of bad news and are sometimes perceived as critics, activating people's primal fear of being judged. The concept of emotional intelligence (EI), popularized by Harvard psychologist and science writer Daniel Goleman, has much to offer test managers and testers. Key EI skills include self-awareness, self-management, social awareness, 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...
Requirements Engineering for Testers
Testers often participate in requirement reviews, review requirements for testability, and then use requirements—in the form of user stories—as the basis of test cases. In an agile environment, most testers contribute to the development of user stories and acceptance criteria. Erik van Veenendaal says that unfortunately many testers have little knowledge or skill in requirements engineering. What level of quality and detail is realistic to expect for requirements and user stories? What does testability really mean? How can testers help improve requirements? Erik...
Tuesday, October 4
The Impact of IoT on Testing: What’s in Store?
No longer just a futuristic concept, the Internet of Things (IoT) has a strong presence in our world even today. If your business is not prepared for it, you’re already behind. With the proliferation of connected “things”—devices, appliances, cars, and even clothes—Jennifer Bonine says that the stage is set and IoT apps are here to stay. Testing, product management, and development teams must address developing and testing in this paradigm. Testers, accustomed to traditional platforms, are now asked to test on more complex devices and more advanced platforms....
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 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...
IoT Software Testing Challenges: The IoT World Is Really Different
With billions of devices containing new software connected to the Internet, the Internet of Things (IoT) is poised to become the next growth area for software development and testing. Although many traditional test techniques and strategies remain viable, challenges in IoT testing include huge amounts of data, multiple communication channels, device protocols, resource limitations (battery or memory), addressing sensors and controllers, cloud-hardware-device integration, and security concerns. Jon Hagar says that for IoT testers to be successful, they must...
Full Stack Testing of Node.js Applications
As the popularity of Node.js grows, so does the complexity and scale of the applications based on it. More than other technologies, this environment has a growing number of valuable open source modules to promote test-driven development and integrated testing. When organizations like PayPal, Walmart, Netflix, and LinkedIn are leveraging Node.js, it’s clear that it is here to stay. With the increasing number of enterprise deployments, the need for a comprehensive full stack testing strategy becomes even more critical. Join experienced Node.js QA architect and...
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...
Design for Testability in Practice
With the drive for continuous integration and delivery, the implications and approaches for designing more testable software are receiving substantial discussion and debate. What does testability really mean in practice? How do you take the idea of testability—how easy it is to test software—and put it into action through the different dimensions of designing and testing a real world product? Nir Szilagyi recognizes that the challenges of difficult-to-test software can transform a testing cycle from a small automation and exploratory effort to a long struggle of...
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...
Lightning Strikes the Keynotes
Throughout the years, Lightning Talks have been a popular part of the STAR conferences. 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. And now, lightning has struck the STAR keynotes. Some of the best-known experts in testing will step up to the podium and give you their best shot of lightning. Get multiple keynote...
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....
Understanding Complex Web Performance Measurement
In performance testing we run a suite of tests, modify the system in an attempt to improve its performance, and then repeat the tests. We want to know if the performance is “better.” However, no single performance measure exists; we must consider and evaluate many variables. Although viewing a full histogram of various test runs is more helpful, quantifying the change between the tests becomes the challenge. Parvez Ahammad introduces the relative divergence index (RDI), a multidimensional statistical method to compare differences between two sets of performance...
The Boss Chose the Cloud: What Does that Mean for You?
Although most test managers and testing staff know how to cope with new and difficult testing challenges, Martin Pol and Jeroen Mengerink maintain that the cloud phenomenon requires special attention. Testing must evolve and innovate to address the newly introduced risks combined with the changing emphasis for classical quality requirements. How do you test resource elasticity and the “bring your own device” philosophy with their cloud-specific security and performance risks? How do you understand and then cope with local and international privacy legislation for...