CAST 2019 Tutorials
We are happy to offer six different full-day tutorials spread over Monday the 12th and Tuesday the 13th of August.
Monday August 12th:
Angie Jones Visual Validation for Test Automation
Functional 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 that appear on other areas of the screen? These are all things that the human eye would notice, but an automated regression test would not. The test would continue to pass, even with all of the aforementioned errors. This is where visual validation comes in!
Visual validation is a relatively new concept to add to your test automation toolbox. Applitools, a sophisticated visual validation tool, uses AI to mimic the human eye and brain to verify the look and feel of your application.
In this workshop, you will develop automated UI tests using Java, Selenium WebDriver, JUnit, and Applitools. You’ll learn when and where to add visual assertions, how to work with various match levels including ones suitable for dynamic content, and how to evaluate and resolve visual test results.
Existing familiarity with test automation (even if with different tools) will be helpful for this workshop.
Angie Jones is a Senior Developer Advocate who specializes in test automation strategies and techniques. She shares her wealth of knowledge by speaking and teaching at software conferences all over the world, writing tutorials and technical articles on angiejones.tech, and leading the online learning platform, Test Automation University.
As a Master Inventor, Angie is known for her innovative and out-of-the-box thinking style which has resulted in more than 25 patented inventions in the US and China. In her spare time, Angie volunteers with Black Girls Code to teach coding workshops to young girls in an effort to attract more women and minorities to tech.
Lisa Crispin and Ashley Hunsberger
The Whole Team Approach to Testing in Continuous Delivery
Is your team puzzling over how to feel confident releasing to production frequently with continuous delivery? Delivering reliable and valuable software frequently, at a sustainable pace (to paraphrase Elisabeth Hendrickson), is a worthy goal. DevOps is a hot buzzword, but many teams struggle with how testing fits in, keeps up, and contributes to the DevOps culture.
In this hands-on workshop, participants will have a chance to practice techniques that can help teams feel confident releasing more frequently. You’ll learn how your team can use a test suite canvas to discuss what questions each step in your delivery pipeline needs to answer, to understand the value each step provides. You’ll work in groups to come up with new experiments to help shorten feedback cycles, make sure all essential types of testing are done continually, and fit testing into the continuous world. You’ll learn that there IS a “test” in “DevOps”.
Whether your tests take minutes or days, and whether your deploys happen hourly or quarterly, you’ll discover benefits. You’ll participate in a simulation to visualize your team’s current path to production and uncover risks to both your product and your deployment process. No laptops required, just bring your curiosity.
- Continuous delivery concepts at a high level, and the differences between continuous integration and continuous delivery
- Common terminology and a generic question list to engage with pipelines as a practice within your team
- How to use the test suite canvas to design a pipeline that gives your team confidence to release frequently
- Experience in analyzing pipelines from different perspectives to create a layered diagram of feedback loops, risks mitigated, and questions answered
- Ways your team can design experiments to address the many challenges of testing in a continuous world
Lisa Crispin is the co-author, with Janet Gregory, of More Agile Testing: Learning Journeys for the Whole Team (2014), Agile Testing: A Practical Guide for Testers and Agile Teams (2009), the LiveLessons Agile Testing Essentials video course, and “The Whole Team Approach to Agile Testing” 3-day training course. Lisa was voted by her peers as the Most Influential Agile Testing Professional Person at Agile Testing Days in 2012. She’s a testing practitioner who enjoys helping people find ways to build more quality into their software products. Please visit www.lisacrispin.com and www.agiletester.ca for more.
Ashley Hunsberger is the Director of Release Engineering at Blackboard, Inc, a leading provider of educational technology, where she helps teams to go from idea to production as fast as possible. Ashley loves sharing her experiences in leadership, agile, and testing, speaking across the world. Active mostly on twitter (@aahunsberger), you can follow her for insights for her day to day – from work life to adventures in motherhood. A proponent of open source, Ashley believes in giving back to the software community and serves as a member of the Selenium Project Steering Committee and now co-chair of the Selenium Conference, with a focus and passion for diversity and inclusion throughout the industry.
Robert Sabourin Just-in-Time Software Testing
– Powerful Tools for Fast-Changing Projects and Priorities
Turbulent development projects experience almost daily requirements changes, user interface modifications, and the continual integration of new functions, features, and technologies. Keep your testing efforts on track while reacting to changing priorities, technologies, and user needs. This highly interactive workshop offers a unique set of tools to help you cope with—and perhaps even flourish in—what may seem to be a totally chaotic environment. Practice dynamic test planning and scheduling, test idea development, bug tracking, reporting, test triage, exploratory testing, and much more.
Be ready for just about anything that can happen in a software testing project such as a complex, customer-facing Mobile, Web, e-commerce or embedded applications. Learn to identify, organize, and prioritize your testing “ideas.” Respond effectively to business, technological and organizational and cultural changes to your testing projects. Create workflows to schedule testing tasks dynamically and adapt the testing focus as priorities change. Decide on purpose what not to test— not just because the clock ran out!
Just-In-Time Testing (JIT) approaches are successfully applied to many types of software projects—commercial off-the-shelf applications, agile and iterative development environments, mission-critical business systems, and just about any application type. Real examples demonstrate how JIT testing either replaces or complements more traditional approaches. Examples are drawn from insurance, banking, telecommunications, medical, and other industries. The course is packed with interactive exercises in which students work together in small groups to apply JIT testing concepts.
Who Should Attend
This course is appropriate for anyone who works in fast-paced development environments, including test engineers, test managers, developers, QA engineers, and all software managers.
Robert Sabourin has more than thirty-eight years of management experience, leading teams of software development professionals. A well-respected member of the software engineering community, Robert has managed, trained, mentored, and coached thousands of top professionals in the field. He frequently speaks at conferences and writes on software engineering, SQA, testing, management, and internationalization. The author of I am a Bug!, the popular software testing children’s book, Robert is an adjunct professor of Software Engineering at McGill University.
Tuesday August 13th:
Anne-Marie Charrett Becoming a Quality Coach
Many teams believe and accept that quality is a team responsibility, yet struggle to implement this approach at a practical level. A quality coach provides the necessary assistance and support to enable teams to adopt this strategy. The role of quality coach differs to that of test lead, and requires different capabilities and know how. For one, a quality coach, needs to be able to coach testers and non testers alike, and rather than driving strategy they provide a space for the team to drive the testing strategy.
This one day workshop provides training on the fundamental skills and tools to introduce and implement quality coach initiative.
- Create the Role of Quality Coach (Roles & Responsibilities)
- Quality Attributes Workshop & Measurement
- Quality Assistance for Software Developers
- Coaching Software Testing
- Running Software Testing Workshops
Who should attend
Test Leads who want to become quality coaches
How will it benefit?
Test Leads are being asked to take on the role of Quality Coach where testing is performed by a whole team rather than the speciality role of a tester. This means test leads needs to acquire a different skill sit. This course is designed to help test leads transition to a new role.
What might I learn?
- What is a Quality Coach and how it differs to Test Lead
- Skills required for Quality Coach
- Coaching skills
- Roles and Responsibilities of a Quality Coach
- Creating a Quality Coach Process
- Creating Quality Indicators
Anne-Marie is a software tester, trainer and coach with a reputation of excellence and passion for the craft of software testing. An electronic engineer by trade, software testing chose her when she started conformance testing against European standards. She now consults and trains testers specializing in transforming test teams into powerhouses of testing skill. Anne-Marie currently lectures at the University of Technology, Sydney on software testing. She blogs at MaverickTester.com and offers the occasional tweet at @charrett.
Fiona Charles What’s Your Problem? – Hands-on Problem Solving Workshop
Problem solving is an essential skill for testers—in fact, for anyone in software development. But too often, we jump into trying to develop solutions before we really understand the problem. Even if we’ve identified the problem pretty well, we can get bogged down with too many options, or fall in love with an idea that isn’t a good solution.
Come spend a day working with others to explore and practice techniques to:
- Identify and prioritize the real problem(s) you need to solve
- Evaluate potential solutions
- Apply heuristics to help actually solving problem(s)
- Get unstuck when you have too many options, only one idea, or none at all
We can all get better at solving problems. Let’s have fun learning from each other in this hands-on workshop.
Fiona Charles is an independent consultant, specialising in the human side of software development and projects: teaching organizations to manage their software quality risk, and IT practitioners project skills “beyond process”—hands-on practical skills essential to thrive and excel on any kind of software project. She consults with clients on software quality, testing, and test management, works as an Agile testing coach, and acts occasionally as a program-level test manager on difficult projects. She speaks and conducts interactive workshops at international conferences and in-house for clients, has recorded many webinars, and published many articles in test-related publications.
Maaret Pyhäjärvi Exploratory Testing on Computer Interfaces (APIs)
Exploratory Testing is a skilled multidisciplinary style of testing. Many have learned to apply it on user interfaces that naturally speak to testers as their external imagination. Yet with systems of today, it is important we move that skill of smart thinking with external imagination to interfaces hidden from users – public and private APIs. How can you use exploratory testing on something that does not have a GUI?
Let’s shape up our skills of exploring both the functional and parafunctional aspects of a system through its APIs in their operating environments, without forgetting developer experience of having to maintain and troubleshoot these systems. Let’s learn to be intentional with our APIs, instead of being accidental – through delivering relevant, timely feedback.
Intertwining test automation and exploration, we include considerations of the best for today and for the future. For great testing bringing value now as well as when we are not around, we need to be great at testing – uncovering relevant information – and programming – building maintainable test systems. At the core of all of this is learning. What we lack in a set of skills, we can compensate through collaboration.
On this course, we are learning these skills hands on testing various interfaces with various tools. It’s a deep dive into applying exploratory testing at computer interface level, not on the tools. The main things you will take out of this session are thinking in terms of coverage, generating versatile ideas on API level, and being aware of opportunity cost to control your own choices as you are testing.
On the side, you will be exposed to ideas such as tools like Postman and Python requests library, to ideas of comparing such as Java Asserts and Approvals, and to approaches such as integration and contract testing. You don’t need to know any of these, but if you do, you’ll still pick up a lot to improve your testing.
Let’s work on code-oriented tests that are not regression oriented but aim at finding new information by means of exploratory testing.
- Learn to uncover information on API that a typical automation focus would miss
- Uncover how other people think when testing to learn from your peers
- Learn to identify variables (things you can change) on an API or a method signature
- Learn to prioritize your testing efforts for most relevant feedback fast
Maaret Pyhäjärvi is a feedback fairy with a day job at F-Secure, where she works as Engineering Manager. She identifies as empirical technologist, tester and programmer, catalyst for improvement, author and speaker, and community facilitator and conference organizer. She was awarded as Most Influential Agile Testing Professional Person 2016 and has spoken at events in 25 countries delivering close to 400 sessions. With 25 years as exploratory tester before stepping into a role to manage developers, she crafts her engineering manager job into being a mix of leading a team of 12, doing hands-on testing and programming. She is a serial volunteer and organizing powerhouse contributing to European Testing Conference and Speak Easy, as well as Finnish non-profit scene. She blogs at http://visible-quality.blogspot.fi, posts articles on Medium, and is author of two LeanPub books: Mob Programming Guidebook and Exploratory Testing. Her web page is http://maaretp.com.