STARWEST 2017 - Testing for Developers
Sunday, October 1
Fundamentals of DevOps Certification—ICAgile (2-Day) - SOLD OUT
Mastering HP LoadRunner® for Performance Testing (2-Day)
Real-World Software Testing with Microsoft Visual Studio® (3-Day)
Fundamentals of Agile Certification—ICAgile (2-Day)
Performance, Load, and Stress Testing (2-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...
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 not only will result in much improved test automation but also can make the difference between automation success and failure. See why successful...
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...
Harnessing Your Automation: Choose Your Own Adventure
You've seen this before. The project requirement states that You will be responsible for developing test automation that covers ______. And it is rarely as simple as it first seems. With upstream and downstream considerations, tool changes, and course correction at every juncture, how can you possibly improve efficiency and quality, and still plan for and stay on target during the process of developing and implementing a robust test automation harness? Dawn Code will guide you through the steps of building test automation that can suit a variety of needs. Following a Choose Your Own...
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...
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...
Fundamentals of Software Test Design
As testers, we know that we can define many more test cases than we will ever have time to design, execute, and report. The key problem in testing is choosing a small, “smart” subset—from the almost infinite number of tests available—that will find a large percentage of the defects. Join Lee Copeland to discover how to design test cases using formal black-box techniques, including equivalence class testing, boundary value testing, decision tables, and state-transition diagrams. Explore examples of each of these techniques in action. Don’t just pick test cases randomly. Learn to selectively...
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...
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/...
Plan, Architect, and Implement Test Automation within the Lifecycle
PreviewIn test automation, we must often use several tools that have been developed or acquired over time with little consideration of an overall plan or architecture and no consideration for how to integrate the tools. As a result, productivity suffers and frustrations increase. Join Mike Sowers as he shares experiences from multiple organizations in creating an integrated test automation plan and developing a test automation architecture. Mike discusses both the good (engaging the technical architecture team) and the bad (too much isolation between test automators and test designers) on...
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...
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...
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...
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
PreviewModern software products tend to have a rich UI that supports many user workflows, all of which need to be covered in testing. Agile organizations quickly discover that manual end-to-end testing neither supports their velocity nor provides respectable regression coverage. A common progression is to move from fully manual testing to record/replay, then to Selenium IDE style tests, then to automation based on Selenium WebDriver, perhaps with a BDD overlay. Daria Mehra has practiced this approach and shares her experience. She compares the Selenium style of automation to an...
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...
Test Automation for Data-Centric Applications
Test automation, one of several key technical enablement practices, allows teams to be more successful in their agile journeys. Although there are many test practices and automation tools available for software development teams to leverage, few data-centric testing tools are targeted to data-related development and testing, leaving data warehousing and business intelligence teams thinking they can't possibly automate their tests. Cher Fox explores why test automation is important to agile data teams, discusses why they aren’t automating their tests today, and investigates the path to test...
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....
Use Automation to Assist—Not Replace—Manual Testing
PreviewAutomation is a powerful tool to help testing but too often it is used to replicate existing manual tests. This leads organizations to spend large amounts of time and money constantly updating flaky automated tests and test teams to suffer frustration from having to focus on activities that are not truly testing. This cost and frustration can be avoided by using automation as a tool to assist testing—not to replace tests. Jeffrey Martin shares some real-world examples of using automation to supplement testing by leveraging its true value—the replication and repetition of tasks...
User Experience Testing—with the Pilots at 18,000 Feet
All testers have users with unique needs. Are these needs included in your requirements? Lisa denDekker-Redemann says that was not always the case at UPS. Were we testing the mobile systems that our crew members use like we should? Sometimes to get it right, we have to go out into the wild—or in our case, out into the wild blue yonder. To get the whole story (and awesome test coverage), we boarded an aircraft to design scripts and test live 18,000 feet in the air. We found real conditions our users face that didn’t make the user stories and test conditions. Lisa shares why she went into...
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...
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....
Get Ready for Cloud Testing
PreviewIn the past few years, deployment of applications in the cloud has become an industry standard. Meher Nori believes that it is very important for QA/testing organizations to understand the impact the cloud may have on them and prepare accordingly. The impact primarily involves a change in the testing strategy, and two items become very important. (1) Security testing and elasticity/scalability testing—new types of tests which previously were not so important—need to be created and executed once an application is hosted in the cloud. (2) Some traditional tests—availability testing...