STAREAST 2019 - Testing for Developers
Monday, April 29
Unit Testing: What Every Developer and 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...
Test Design for Fully Automated Build Architecture
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. Setting up the pipeline capable of doing just that is becoming more and more common and something you need to know about. 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...
Pairwise Testing Explained
NewAs testers we are faced with many challenges especially when designing and executing tests. Most problems reside in the fact that we usually do not know which test case design technique to use and more importantly we usually do not have time to run all of our tests. This workshop will uncover what the challenges are with test design and explains the real problems associated with combinatorial testing. During this tutorial Lloyd Roden looks deeply into the two methods for designing tests using the pairwise design technique; Orthogonal Arrays and pairwise algorithms. Pairwise testing helps...
Blockchain Quality: Securing Trust in a Digital Age
NewBlockchain technology introduces decentralized, distributed, cryptographically linked digital structures that record information across many computers. Due to its highly secure structure, blockchain is growing at a rapid pace in the financial and automotive industries, and adoption is starting in other industries. We are also witnessing the rise of the smart contract, a set of immutable programmatic auto-enforcing rules that live on the blockchain. However, although there are many benefits, blockchain introduces a unique set of testing and quality concerns. For example, race conditions and...
Influence Diagrams: A New Way to Understand Testing
PreviewAs 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 simple way to understand and manage the complexities of key interactions among testers, developers, and business stakeholders. In this practical workshop with hands-on activities, Isabel will help you construct and interpret influence diagrams to illustrate typical team and project problems and solutions in testing. With...
Testing Strategies for Microservices
Software development is trending toward building systems using small, autonomous, independently deployable services called microservices. Leveraging microservices makes it easier to add and modify system behavior with minimal or no service interruption. Because they facilitate releasing software early, frequently, and continuously, microservices are especially popular in DevOps. But how do microservices affect software testing and testability? Are there new testing challenges that arise from this paradigm? Or are these simply old challenges disguised as new ones? Join Tariq King as he...
From User Story to Test Case
New Sold Out!Agile Software Methods are becoming the preferred way of working in most organisations. However testers are often finding it difficult to know how to adapt to the new way of working. It is often difficult to know how to test user stories and more importantly, how to use the systematic testing techniques in an agile context. Join Lloyd Roden as he discusses a variety of test case design techniques for user stories. Bring your own user stories to this tutorial and Lloyd will explain how these testing techniques can be applied to your own user stories. Lloyd will demonstrate how exploratory...
Clean Coding Practices for Test Automation
NewWe are often reminded by those experienced in writing test automation that code is code. The sentiment being conveyed is that test code should be written with the same care and rigor that production code is written. However, many people who write test code may not have experience writing production code, so it’s not exactly clear what is meant by this statement. And even those who write production code find that there are unique design patterns and code smells that are specific to test code in which they are not aware. Join Angie Jones for this workshop, at which, you will be given a...
Tuesday, April 30
X-Ray Vision For Testers: How to Analyze Things
Preview NewHow do we go about understanding something complex? How do we move from confusion to clarity? What strategies and approaches can we use to identify and reason about things that matter? When we’re dropped into a testing situation, how do we make sense of it all? How can we rapidly achieve a deeper understanding of things that we know little or nothing about? How can we develop skills to make us more powerful testers? The answer to these questions is analysis - the study of things and ideas by examining their elements and structure. In this one-day tutorial, Michael Bolton will lead...
Introduction to Selenium
Knowledge of Selenium, the industry-standard tool for testing web applications, is a much sought after skill in today’s world of test automation. If you want to learn Selenium, then this full-day tutorial provides a great start. Max Saperstone 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, robust, and easy to maintain. Max introduces other tools that work with Selenium to help manage the data used to drive your tests, evaluate JavaScript-heavy applications, manage your test...
Bash Scripting with Git and GitHub for Open Source Contribution
PreviewSkill with Git is a prerequisite for most software jobs today. This is because the vast majority of software developed is stored in Git-based repositories such as GitHub, GitLab, and BitBucket. GitHub's domination of social coding makes it the new business card to demonstrate your creativity, popularity, capability, and tenacity. “Configuration as code” is a standard DevOps practice so testers must know how to set up and use Git to obtain and update versions of their infrastructures. In this hands-on tutorial, create your own website and learn the GitHub markdown used to format...
Visual Validation for Test Automation
NewFunctional test automation is a wonderful way to frequently and expeditiously execute regression testing. However, the test scripts that we write are limited to the few assertions we’ve considered. Many times, these assertions only cover the tip of the iceberg and account for a small fraction of what a human being would have subconsciously verified. For example, a test automation script can verify that when adding 2 and 2 via a calculator app, the sum that is returned on screen is 4. But does the 4 appear correctly? Is it upside down? Or sideways? Is it the right color? Are there errors...
Continuous Testing Using Containers
NewContainers. Every manager thinks they want them, but few teams have experience in knowing what to DO with them. Used thoughtfully, containerization of your services can transform the way your organization thinks about testing. Gone can be the days of maintaining X different compute environments with Y different configurations. Imagine instead spinning up just the code you need, on the machine type it needs, and only for as long as you need it. In this technical training, Melissa will walk through what containerization means for a legacy code base attempting to practice continuous...
Wednesday, May 1
Cutting through the Hype around Continuous Testing
There is a lot of hype around continuous testing these days. It seems like every product vendor has a continuous testing product and every consulting company has a continuous testing practice. But what exactly is continuous testing? And how is it different from what we've been doing in testing for the past several decades? Join Jeffrey Payne as he discusses what continuous testing is all about and how today's organizations are leveraging it to improve their quality. Learn what tools and techniques enable continuous testing, and examine the pros and cons of moving toward a more continuous...
Postmodern Testing
PreviewThe modern world of testing gets noisier, more fragmented, and more confusing every day. Postmodern Testing is an admission of the imperfect world we live in—a new test strategy framework for today’s agile, continuous, and multiplatform teams. Jason Arbon will outline strategies for identifying any given product’s testing needs, as well as prescribe how to efficiently combine different testing techniques and test automation tools to deliver a coherent, well-reasoned, and cost-effective method to the madness. Jason draws on his learnings from how Google tested the Chrome browser,...
Big Data Migration to the Cloud: Testing Challenges and Strategies
PreviewMoving to the cloud is no longer a question of if, but when. Most corporations are either underway in their cloud adoption or have it on their radar. Typically the move from on-premise to cloud is a few hops and different types of data, such as SQL or some version of a file. Couple this with data transformations and it poses a challenge to testing and QA. How do you validate at each hop? Is it required to validate contents between source and destination? Can this testing be automated? Do we build a tool to automate these steps or purchase one? In this session, Sanjay Srinivas will...
Dig In: Get Familiar with the Code to Be a Better Tester
PreviewMaybe you’ve been testing the same application for a while and your rate of finding new bugs has slowed. Or you’re trying to find more ways to figure out what your devs are doing day to day. You have the tools at your disposal—you just need to dig in! Hilary Weaver-Robb will share tools and techniques you can use to take your testing to the next level. See everything the developers are changing, and learn how you can find the most vulnerable parts of the code. These strategies can help you focus your testing and track down those pesky bugs! Take away a better understanding of tools...
Game Theory: The Test Engineering Path to Success
Every customer has different expectations for their software, requiring different testing strategies. Game designers can help us understand how to plan our strategy for managing various QA tools so teams can successfully navigate each different customer strategy in a risk-reward environment. A customer who makes their money from understanding and teaching software to others, rather than selling it, requires continuous integration and delivery, because they need new material on a regular basis. A customer who uses the software to defend life and limb requires it to be right the first time...
Thursday, May 2
The AI Testing Singularity
PreviewMost basic software testing will soon be done by a few individual, large systems. But today, software testing is a fragmented world of test creators, test automators, vendors, contractors, employees, and even “pizza Fridays” where developers roll up their sleeves and test the build themselves. When teams start testing their apps, they dream up the same positive, negative, and edge test cases as every other team before them. Most software testing is either manually tapping an application or manually creating and maintaining detailed automation scripts—from scratch! AI will soon...
Leveraging Kubernetes as a Tester
Kubernetes is one of the fastest growing open source projects in history, and it's taking the DevOps world by storm. With so many resources being poured into this technology, it would be nice if there were some benefits for testing. It may seem that the Kubernetes framework revolves around operations and microservices, but with a little know-how, we can leverage the internet excitement around the project to enhance our own automated testing frameworks. Glenn Buckholz will demonstrate how, with just a little bit of knowledge about Docker and Git, an automated testing team can leverage...
What's That Smell? Tidying Up Our Test Code
We are often reminded by those experienced in writing test automation that code is code. The sentiment being conveyed is that test code should be written with the same care and rigor that production code is written with. However, many people who write test code may not have experience writing production code, so it’s not exactly clear what is meant. And even those who write production code find that there are unique design patterns and code smells that are specific to test code. Join Angie Jones as she presents a smelly test automation code base littered with several bad coding practices...
The Era of Intelligent Testing
Existing QA solutions were built for a world where software changed infrequently. Highly adopted tools such as Selenium, Appium, and JUnit require a specialized skill set and too much maintenance, once you start factoring in the brittle nature of tests and the infrastructure required to run tests at scale. But there is still hope for QA in machine intelligence. Next-generation AI tools are here to help QA keep up with the agility of modern software delivery practices in two ways: by enabling manual testers who don't know how to code to automate, and by easily automating repetitive tasks so...
API Testing: Going from Manual to Automated
API testing can be challenging—especially for the uninitiated. Ever wonder what makes an API test great? Patrick Poulin will arm you with an understanding of the benefits of automating API testing over doing it manually. Patrick will review the tools landscape and show common errors people make while creating API tests. He'll discuss the steps required to completely automate the entire testing framework for APIs, and show how it is simpler than most people assume. Leave this session with an understanding of how to automate API testing and overcome the fear of the unknown.
AI in Testing: A Moderated Panel Discussion
Artificial intelligence is the newest trend in software testing. But what is it, and how will it impact the tester's role, both today and in the future? What do you need to do to embrace this emerging technology? Adam Auerbach and Jennifer Bonine will moderate this panel discussion—which will include Jason Arbon, Dan Belcher, Tariq King, Jeff Nyman, and Jeremias Rößler—to give you an opportunity to hear the opinions of industry leaders about AI in testing. You will have a chance to drive the debate, so come prepared with all your AI questions.
Using and Implementing BDD a Day in the Life
PreviewLearn how to discover, prioritize and plan the features that really matter: those that will deliver real business value and that will make a difference to your organization. You will discuss effective user stories that are pitched at the appropriate level, and writing actionable acceptance criteria that will guide developers and provide valuable feedback and documentation on application features and project progress. And you will experience how building a better synergy between BAs, developers and...