STARWEST 2017 - Testing in DevOps
Sunday, October 1
Performance, Load, and Stress Testing (2-Day)
Fundamentals of DevOps Certification—ICAgile (2-Day) - SOLD OUT
Fundamentals of Agile Certification—ICAgile (2-Day)
Real-World Software Testing with Microsoft Visual Studio® (3-Day)
Monday, October 2
Selenium Test Automation: From the Ground Up
Selenium expertise, 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 tool 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 tests, work with JavaScript...
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 Mary Thorn says help is at hand. Enter behavior-driven development (BDD) and Cucumber and SpecFlow, two tools for running automated acceptance tests and facilitating BDD. Mary explores the nuances of Cucumber and SpecFlow, and shows you how to...
Exploratory Testing: Explore with Intent
NewThe skill to self-manage our testing work and our learning—making learning and reflection a habit—is what differentiates skilled exploratory testing from simply putting random testing activities together. Maaret Pyhäjärvi says that exploratory testing treats test design, test execution, and learning as parallel, mutually supportive activities—with the goal of discovering things that we don’t know we don’t know. Exploratory testing frames our thinking about the system and engulfs the idea of creating artifacts to support testing. Join Maaret to experience exploratory testing hands-on and...
Test Automation Strategies for the Agile World
Sold Out!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 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...
Unit Testing: What Every Tester Should Know
Do you want to take your testing skills to the next level? Are you trying to stay relevant on an agile team where testing is shifting to the left on the project timeline? Do you want to help your organization reap the full benefits of testing earlier? Then join Tariq King to explore the fundamentals of unit testing so you can find bugs as soon as they happen and do more thorough, targeted testing during software development. This introductory session is for everyone—of all programming skill levels. Learn how to apply program-based techniques such as testing by looking, automated unit...
System-Level Test Automation: Ensuring a Good Start
Preview NewMany organizations invest a lot of effort in test automation at the system level but then have serious problems later on. As a manager, 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? Dot Graham describes the most important management issues you must address for test automation success, particularly when you are new to automation. Dot helps you understand and choose the best approaches for your organization—no matter which automation tools you use. Focusing on system...
Tuesday, October 3
What Testers Must Know about Git and GitHub
With Git and GitHub, testers today have unprecedented visibility into both development and DevOps code. GitHub provides powerful online collaboration, code review, code management, and version control services. GitHub's domination of social coding makes it the professionals’ new business card, indicating their creativity, popularity, capability, and tenacity. Today’s testers need to learn about and use Git and GitHub. In this hands-on tutorial Wilson Mar presents material available nowhere else and a unique explanation of tools, repositories, and GUI programs used by professional...
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 v. 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...
Technical Test Automation Challenges: Patterns and Solutions
Preview Sold Out!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. Solutions that have worked well for others are patterns; these test automation patterns are common to automation efforts at any level with whatever tools you are using. Dot Graham 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...
Security Testing for Testing 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 Architectures
Imagine 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. Well, setting up the pipeline capable of doing just that is becoming more and more common. 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 design principles—applicable to...
Agile Test Team Leadership: From Concept to Product
Sold Out!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 not 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 and see where...
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...
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 continuous integration/...
Beyond Unit Testing: More of What Testers Should Know
NewAre you a tester, developer, or quality engineer who participates in code reviews or unit testing activities? Can you write test scripts to cover all program statements but would like to learn more advanced code-based testing techniques? Join Tariq King as he goes beyond the basics of unit testing and shows you how to design tests that cover multiple data conditions, independent paths, and loops within code. Learn how to apply these techniques to different application tiers, ranging from the user interface to the data access layer. Discover strategies for integration testing based on...
Shift Left to Test User Experience
Preview NewIn today’s environment, the user experience (UX) is overwhelmingly important—and is not just about the product. UX describes all facets of a person’s interactions with and reactions to the product, the organization that supplies it, and the environment in which it is experienced. Isabel Evans says that in order to focus our tests appropriately, it is vital that we testers understand our users’ experiences. We need to explore and measure human, business, and societal impacts of products we develop, and how those are underpinned by technical qualities. Unless we “shift left” as...
Building Your Mobile App Quality and Test Strategy
PreviewLet’s build a mobile 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 Arbon guides you through the latest techniques, data, and tools to ensure the awesomeness of your mobile app quality and testing strategy. Leave this interactive session with a strategy for your very own app—or one you pretend to own. The...
Wednesday, October 4
Rise of the Machines: Can Artificial Intelligence Terminate Manual Testing?
The state of the art in automated software testing is far from being a replacement for human-guided testing. There is more to testing than setting up preconditions, applying inputs, verifying outputs, and logging the results. Testing requires significant planning, exploring, learning, modeling, inferencing, experimenting, and more. Therefore, before we can truly automate testing, we must bridge the gap between the testing capabilities of humans and machines. Tariq King says that breakthroughs in artificial intelligence (AI) and machine learning (ML) are challenging our thinking about the...
Testing and DevOps: Organizations and Their Culture Must Change
The DevOps movement is here. Now, 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 even embrace coding to stay...
The Software Testing Pyramid: A Concrete Example
PreviewMike Cohn’s Test Pyramid describes a test automation strategy consisting of a wide base of unit tests, service-oriented acceptance tests for business logic, and a thin layer of tests exercising the user interface. Tests that provide the quickest feedback and fault precision serve as the testing foundation. So, how does this work in practice? How does a team achieve this level of test automation and maintain it over time? How can the team avoid redundancy in the various test layers? Jim Weaver demonstrates the different types of tests for a real feature—enforcing business rules for...
Blunders in Test Automation
In chess, the word blunder means a very bad move by someone who should know better. Even though functional test automation has been around for a long time, people still make some very bad moves and serious blunders. The most common misconception in automation is thinking that manual testing is the same as automated testing. And this thinking accounts for most of the blunders in system level test automation. Dorothy Graham takes us on a tour of these blunders, including: the Stable-Application Myth (you can’t start automating until the application is stable), Inside-the-Box Thinking (...
Traditional Testing: The Silent Killer of DevOps
Many organizations today are adopting DevOps to accelerate software delivery. However, once they have invested significant time and money optimizing most parts of the software delivery process, testing often holds them back from achieving the desired results. Why? Because software testing is still dominated by yesterday’s tools and processes—which don’t meet the needs of today’s accelerated development processes. How can you ensure that you and your team help the organization achieve its objectives? Wayne Ariola says that the key is continuous testing—and Wayne doesn’t just mean test...
Service Virtualization: What, Who, When, and How
PreviewService virtualization provides many benefits for both development and test teams. For testers, service virtualization empowers them to work in parallel with their development counterparts and take control of their own schedules. They no longer have to wait for development to complete their work or to get access to a restricted system such as a mainframe or a third party API. Test teams can get the basic details from dev and/or use a sample request and response pair to create a virtual service themselves. With no need to wait on others to start testing, testing can start at...
Agile Testing at Scale
Mary Thorn has had the opportunity in the past twenty years to work at many startups, creating several QA/test departments from scratch. For the past ten years, she has done this in agile software companies. Recently Mary moved from leading small agile test organizations to leading a large agile test organization where she has learned how to lead agile testers and agile testing in large contexts. Mary takes you through what she has learned, identifies the keys to transitioning your test organization as it grows, and discusses the techniques required to lead it through the changes. Agile...
Automate Your API Testing Process
PreviewCreating automated tests for your team stories, integration, or regression test cycles within agile sprints is almost every tester’s top challenge. Usually it consumes many hours and requires a great deal of effort to achieve, especially in complex and large agile projects. Teams need to deliver software as quickly as they can while producing the best possible product quality. Talal Ibdah shows how you can achieve these goals and automate your API functional and performance tests; define test environments and configuration files; make chaining requests; continuously deliver your...
Testing RESTful Web Services
PreviewA lot of folks doing testing (QAs, BAs, and Devs alike) are experienced with testing applications through the front end—a graphical user interface or a mobile app. However, Hilary Weaver-Robb says that with this type of testing we often miss the internal web services and APIs that power those applications. Integration or web service tests are right in the middle of the Testing Pyramid, so to ensure adequate coverage it’s vital for testers to know how to test at that level. Thankfully, to test web services we can apply many of the same principles we already know. Hilary focuses on...
What Does Continuous Testing Really Mean?
You may have heard the term “continuous testing” and thought it was just the DevOps flavor of the month … or that it isn’t part of DevOps … or that it isn’t for cloud-based applications. Marianne Hollier says that continuous testing means adopting the right set of automated tests along with service virtualization, which allows the team to simulate missing dependencies and to start testing earlier and more frequently. She shares how the right combination of best practices and tools can help software development and testing teams adopt a continuous testing approach. Since you can’t test...
Machine Learning: Will It Take Over Testing?
PreviewMachine learning (ML), a branch of artificial intelligence, is gaining widespread adoption and interest on software development projects. Paul Merrill says that ML isn't typical programming. Algorithms can be changed and checked for accuracy at runtime to “learn” from data. Some companies are already generating and executing test cases using machine learning algorithms. It is projected that significant areas of the labor force—16 percent in transportation and 9 percent of healthcare—could see job cuts in the next few years. So it's time to start thinking: Might testing be on that...
Thursday, October 5
Elegant Dev and Test Processes for a More Civilized Age
Software engineering as a discipline has come a long way. For some teams, months-long cycles of dev-test-build-release have shrunk down to mere days—or even hours. In the fastest, leanest organizations, most testing happens in parallel with development as part of a slick, continuous integration pipeline. Come along with Melissa Benua as she explores just how quickly and safely a product can be released using ultramodern engineering technologies. All testers know how to file a bug, but more testers should know how to configure a continuous integration (CI) pipeline tool, how to wrest code...
Leverage Big Data and Analytics for Testing
PreviewSabermetrics turned the baseball world upside down by challenging decades-old measures of individual performance and their perceived linkage to team success. After cementing their legacy as the Lovable Losers for 108 years, the Chicago Cubs were able to leverage a data-driven approach to finally win a World Series. A high-school football coach, devoted to statistical analysis, has won three state championships—by never punting. Formula 1 racing teams collect staggering amounts of telemetry data from their race cars for the purpose of eking out seconds during the course of a race....
Shift Left Testing: Going Beyond Agile
The concept of “shifting testing left” in the software development lifecycle is not new. Shifting testing from manual to automated and then upstream into engineering is a driving factor in DevOps and agile software development. However, Michael Nauman wonders why test automation, DevOps, and agile software development still frequently fail to deliver on their promises? Aligning and hardening your DevOps and test automation—along with streamlining your agile processes—is critical to your project. Michael shares how AutoCAD’s shifting testing left enabled improvements within their...
Say Goodbye to Flaky Selenium Tests
PreviewSelenium has an industry reputation of being a “flaky” tool where individual tests pass, then fail—sometimes with no production changes at all. Such flakiness in your test suites can be extremely difficult, time consuming, and frustrating to debug. The vast majority of these issues stem from using either bad locators or bad wait conditions. But both of these root causes can be addressed by implementing the right framework for your Selenium tests. Craig Schwarzwald shares the most important concepts in creating such a Selenium framework. He has proved that using a framework...
Social Skills: The Softer Side of Software Testing
PreviewCommunication breakdowns are a primary cause of IT project failure. Marcia Buzzella believes increasing the success rate of IT projects across waterfall, Agile, and DevOps methods requires a balance of social (soft) and technical (hard) capabilities to improve team performance. Social interactions among team members facilitate knowledge sharing, build relationships, promote trust, and—perhaps most importantly—align expectations. Unfortunately, the fast pace of technological change prompts many software test professionals to prioritize the improvement of technical capabilities over...
A Three-Tier Load Testing Program Saved Our Bacon
PreviewEnsuring a website will scale with excellent performance under peak levels of load is no easy task. Any number of problems can occur—from switch hardware failure to third party service outages, to a poor choice of algorithms or memory use in the code. Melissa Chawla describes Shutterfly's three-tiered approach to prevent site outages during peak load. First, check the development team's designs for scalability by holding performance design reviews for each project including identifying throughput requirements for all down-stream resources. Second, automate continuous load testing...
Integrate Your Test Automation Tools for More Power
PreviewWalk the Expo, and you will see all kinds of test automation tools. Some run scripts. Some communicate with the system under test. Some virtualize system components. Some do interesting things that you may never have considered. Yet, none gives you a complete recipe for testing your product and synthesizing the results. That is not their job. It's yours. Mike Duskis says an effective test automation program will reflect the unique nuances of your product and your business. However, unique nuances need not add up to radically different architectures. In fact, effective automation...
Manage Testing by Dependencies—Not Activities
Traditionally, test management has focused on two areas—test planning and test execution. Test planning creates the test strategy and prepares test cases. Test execution focuses on who is responsible for and assigned to executing the respective test cases and logging defects. These views, however, are not inclusive of everything a tester does. For example, the work of team members must be coordinated, environments made ready, and test data prepared. For this reason, Jim Trentadue says the testing effort should be managed by dependencies—not activities. Jim shares logical models for...
Performance Testing in a Containerized World
PreviewContainer-based and microservices architectures have become the ideal setting for faster development cycles and more robust applications. As companies shift to these technologies, an integral part of the solution is the development of a continuous performance testing pipeline. Adopting a containerized architecture presents a variety of challenges. There are concerns about introducing additional overhead into the application performance. At the same time, a new paradigm implies defining new testing strategies, new metrics, and new tools that can better adapt to these architectures....
On Becoming a Tester Who Codes
PreviewTo be a well-rounded and analytical tester, Adam Satterfield says you should learn to code. Learning to code empowers a tester to be more self-reliant and less dependent on someone else to write their test scripts, which can take valuable time from the critical and time-crunched testing process. Learning to code positions a tester for long-term career growth, opens up new professional opportunities, and gives them the perspective to be a better tester with a deeper understanding of what questions to ask and how to approach a meaningful testing plan to gain better insights. However...