STARWEST 2016 - Project Management
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...
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...
Building Your Mobile App Quality Strategy
Jason Arbon invites you to join him and build an app quality and testing strategy together. Whether you have a web, hybrid, or native app, building a quality and testing strategy means (1) knowing what data and tools you have available to make agile decisions, (2) understanding your customers and your competitors, and (3) testing your app under real-world conditions. Jason guides you through the latest techniques, data, and tools to ensure you have an awesome mobile app quality and testing strategy. Leave this interactive session with a strategy for your very own...
Tuesday, October 4
Influence Diagrams: A New Way to Understand Testing
Influence diagrams provide a simple-to-create and easy-to-understand approach to address the complexities of real-life problems. As testers we may want to find more bugs, but this may have an unintended consequence for developers. Developers now have more defects to debug, which affects their capacity to deliver new functionality. Isabel Evans has found that influence diagrams provide a means of understanding and managing the complexities of key interactions among testers, developers, and business stakeholders. In the past few years, Isabel has used influence...
Test Estimation in the Face of Uncertainty
Anyone 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...
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 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...
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...
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
Optimize Your Test Automation to Deliver More Value
Mary Thorn walked into an organization that had invested heavily in test automation. Unfortunately they had no strategy, test suites had grown unwieldy, test maintenance was a nightmare, many tests were failing—and no one seemed to care. But Mary’s saddest observation was that they, mainly the leadership but the teams as well, had lost faith in test automation. Mary knows it doesn’t have to be that way. She’s a well-known automation disaster recovery agent who is going to share her secrets with you. Mary begins with how to keep your test automation light, nimble...
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...
The Role of Testers as Requirements Dealers
Those of us in the business analyst role are encouraged to communicate with clients, while other roles in an organization may not have the same opportunity. However, talking to clients must not be limited to business analysts. Jyothi Rangaiah believes that testers need to talk to the clients, too, because by the time the product information trickles down from a business analyst to a programmer to a tester, valuable information has been lost. Testers are often blamed for defects in the product, but this can be avoided by fostering effective communication between...
A Day in the Life of a Test Architect
Although Lee Hawkins stumbled into testing—in 1999 after migrating from the UK to Australia amid a tech boom time—he has since become a passionate member of the worldwide testing community and currently holds the title of principal test architect. So, what does that really mean? A test architect at Dell Software provides technical leadership and strategic direction for testing, and Lee describes what that means in his day-to-day work. His position involves advocacy for great new testing ideas gleaned from the wider testing community, mentoring new testers, and...
Big Data, Big Trouble: Getting into the Flow of Hadoop Testing
Big Data, one of the latest buzzwords in our industry, involves working with petabytes of data captured by various systems and making sense of that data in some way. Maryam Umar has found that testing systems like Hadoop is very challenging because of the frequency with which the data arrives in the system, the number of jobs that run to process that data, and the interdependency of the data. Maryam describes some of the projects at Hotels.com which involve identifying multiple users and using that data to make recommendations of hotels. Testing this is fairly...
Transform Your Cloud Validation Strategy from Cloudy to Clear
Security, data privacy, reliability, and regulatory compliance are critical factors when evaluating whether to move business applications from in-house, client-hosted environments to a cloud platform. Quality assurance plays a vital role in ensuring that the appropriate level of risk assessment, verification, and validation takes place to ensure business continuity during the migration to a new cloud platform. Vandana Viswanathan shares an introduction to the five components of a sound cloud application validation strategy: cloud provider qualification process,...