Automating Test Design & Designing Test Automation – A Problem Solving Approach
Following all the webinars and workshops we have had with Robert Sabourin. We present to you Automating Test Design & Designing Test Automation - A Problem-Solving Approach Bootcamp, taught by Robert Sabourin. We are confident you will make a good decision in Robert's field of play that will change your life for all time.
Long Story Short
25+ Hands-on Exercises and assignments
12+ Hands-on Hours
Why one should take this course?
Automating Test Design & Designing Test Automation is a highly interactive learning experience that provides you with effective techniques to implement software test automation in a wide variety of testing projects. You will learn how automation can support test design and help you achieve critical functional and non-functional test objectives.
This course focuses on real techniques applied to real projects; the approaches discussed have been applied to many different software projects. Agile, Iterative or Waterfall development environments have all benefited from Test Design Automation and Test Automation Design techniques.
Plenty of real examples and case studies, drawn from many different domains, will be shared with delegates including source code using a wide variety of different programming languages and tools.
Learn about automating test design.
Software testing is intractable. Even the simplest feature has more possible tests than can be done in a lifetime. Automated test design helps you select a reasonable set of test conditions to meaningfully explore important risks. Automated test design guides selection of meaningful combinations, permutations, samples, and distributions of factors which influence, or are influenced by, the behaviour of software under test.
There exist a plethora of platforms and system configurations which testing cannot ignore. Different versions, configurations and locales of hardware, software, operating systems and even third party coresident software are an enormous risk, especially for mobile and web-based technologies. Automated test design can establish a reasonable set of platforms to exercise thoroughly and efficiently.
Automated test design can help identify interesting pathways, through any complex series of operations, can be identified automatically deriving a reasonably small number of tests to exercise complex patterns and expose important bugs and weakness and point out areas of instability.
Automated test design can extract great tests from absurd collections of complex business rules.
Learn about designing test automation.
Today many practitioners learn test automation by studying how to use specific tools to manipulate software simulating transactions in a myriad of ways. Almost all test automation is taught as part of a regression testing strategy to repeat manual checking repeatedly. But not here. In this course we clearly demonstrate that all automation is not regression and automation can a helpful tool to solve a wide variety of testing conundrums. Test automation does not replace testers, it enables them!
In this course we will look at how test automation can be an important utility in solving all manners of testing problems. Real testing problems can be solved leveraging automation the right way in the right time.
In this course test automation examples are explored and discussed in depth. Fundamentally, automation provides a means of controlling and observing software under test. What we need to see and observe depends on our goals.
Each case studies review will expose automation strategies which delegates will explore through a series of homework assignments.
We will look at many different automation models and examples of the real-world problems they have solved.
Case studies include:
Who should take this course
Anyone who wants to learn about the vast array of automation techniques which can be used to help leverage testing efforts.
Product owners, managers, and other development professionals will gain important insights into the benefits and trade-offs related to software test automation.
No specific technical prerequisites are assumed, and any technical concepts will be explained: however, attendees are expected to have familiarity with software development, testing and automation terminology.
Homework assignments are structured so that they can be implemented without the need for programming. An optional “applied” element is included for delegates with programming skills.
Frequently Asked Questions
1. Who can Attend This Bootcamp?
Answer: This course is for software project team members involved in testing, programming, business analysis, software construction and deployment.
2. Can an experienced candidate attend this course?
Answer: Yes, if he/she wants to validate their current automation approach and pick up ways to extend their practise – especially using tools to support test design.
3. Do I need to join from my Laptop/Computer?
Answer: Yes. There will be hands-on activities involved.
4. Any other prerequisites?
Answer: None – but this would be more relevant to someone with a testing or development experience.
5. Will this be hands-on training?
Answer: Yes, all topics will be covered with hands-on exercises.
6. If I have doubts in solving the assignment, or otherwise?
Answer: You can get your doubt solved with the instructor in the session or can get in touch on a 1-1 communication channel.
7. What if I miss attending any session?
Answer: We highly encourage attending all the sessions live. However, if you miss a particular session, we will share the session recording so you can cover those topics before the next session. Please note that this will be approved on a case-to-case basis.
8. Will I get any post-workshop guidance?
Answer: Yes, our speaker is friendly and loves to help Testers. You can freely contact for any guidance and there will be monthly common sync-up as well.
9. Will I receive any material after the workshop?
Answer: Yes, you will receive notes/cheat-sheet. All examples including source code are provided.
10. Will I receive any certificate?
Answer: You will get one participation certificate and a completion certificate (on completing the final project).
About Automating Test Design
Testers can save a lot of time—and focus on what really matters—by using automated test design and implementation tools. Traditional test automation helps testers execute tests, report progress, and offer insights into test coverage and completeness, but little emphasis has been made on automating effective test design.
Rob Sabourin will share automated test design techniques using a selection of free and open-source tools.
Rob has implemented automated test design in conjunction with automated unit tests and automated story tests on many software projects, and he will share examples demonstrating automatic test design on many technology stacks using popular unit and story test frameworks.
Rob will illustrate how complex transactional business tests are defined with automated decision table analyzers using state-of-the-art logic reduction algorithms, as well as construct test cases navigating complex integration paths, microservice APIs, and functionality chains using automatic path analysis tools.
You will learn to automate test generation on many technology stacks for several architectures, including REST APIs, microservice architectures, cloud computing solutions, multi-tiered architectures, and mobile and embedded systems, to efficiently discover critical bugs.
About Designing Test Automation
Many of Rob’s customers, students and professional colleagues are concerned about building skills in test Automation. In this course Rob shares a problem-solving approach which can help you leveraging test automation tools and technologies to help solve some complex testing problems. Rather than mastering any specific tool or technology stack Rob shares many ways that automation can support testing. Automation can be an important part of your testing solution space. Rob has succeeded in many projects by tooling and instrumenting projects leveraging a multitude of automation strategies over the past 40 years.
Automated Test Design and Designing Test Automation
This course addresses the topic of design.
Instead of prescribing how test automation should be used in software testing, this course looks at the testing from a problem-solving approach.
Given a clear test objective, tied to project-specific business goals, Rob Sabourin will share how a wide variety of tools and techniques can be used to efficiently deliver valuable meaningful results.
The issue of test design will be reviewed looking at how tools and technologies can be used to support the design of excellent tests. Test design is about focusing, and different test design techniques can be applied to help fulfill the test objective. Automated test design tools and techniques can be used in the identification of a meaningful relevant and minimal set of variables, conditions, and factors, selecting appropriate trials to exercise the application, and learn about the risks that really matter.
Specifically starting with variable identification Robs will investigate collaboration tools, mind maps, spreadsheets, and technology-oriented tools such as Postman and Static Analysis tools such as SonarQube and J-Test to help identify the variables of interest.
Multiple variable test design techniques focused on business rules can be supported with tools such as decision table editors and APIs such as Open Rules.
Test designs for transactional, data-oriented, or stateful systems can be implemented with path analysis tools used to help identify a reasonable subset of the vast number of possible pathways through a network.
Combinations of test design techniques, such as Pareto analysis can be performed with spreadsheets and with many publicly available libraries and tools.
Rob will show how simple Python scripts can be assembled to generate excellent combinations, permutation, selection, and sample-oriented tests.
About Teaching Approach
See it. A Bit of Show and Tell.
Rob provides a series of illustrative examples of each test design and test automation approach. The context, testing problem, and proposed solutions are reviewed.
Try it out yourself.
Delegates are given a chance to implement some of the test design approaches as in-class and homework exercises. Although some tools may be required all are free or open-sourced and have been used by Rob on both Windows and Mac Platforms.
Homework problems give delegates a chance to attempt more complex problems, combine techniques and even apply techniques to their own problem space.
Make it real. Case Studies and Experience Reports.
Rob presents case studies from recent project contexts which blend many test automation tools and techniques to help solve complex problems. All the case studies come from professional task analysis and include relevant business, technical and organizational factors.
Dynamic Energetic and Relevant.
Rob provides a fun, educational, and high-energy learning experience. Rob encourages delegates to bring up their real-world project concerns so that Rob can selection of a wide set of relevant recent examples and case studies. Rob is not prescriptive; he shows what he and his many customers have done to solve similar problems in various contexts.
=> Automating Test Design
=> Automation Fundamentals
1. What do we want to learn about?
2. How does this relate to purpose?
3. Direct information.
4. Indirect information.
5. Shadows on a wall.
2. Application Program Interfaces.
4. Simulating Operation.
8. What is good enough.
2. Keyword Driven.
4. How to learn a new scripting language.
5. Dabbling with Scripts
=> Assessing correctness.
=> Data integrity.
=> Notion of Regression
1. Automation is not Regression.
2. All automation is not regression.
3. The automatability of regression.
4. All regression is not automation.
5. The regress-ability of automation.
1. Warm fuzzy feelings
1. Smoke Testing Build Readiness
2. Smoke Testing Environment Readiness
3. Functional Acceptance Simple Tests (FAST)
5. Shot Gunning
6. Hybrid Models
7. Tagged Models
8. Relationship to
=> Having Fun with Spreadsheets
1. Pareto Analysis
2. Monte Carlo Approaches
1. Data sources
3. Logfile analysis
=> Learning how to use testing tools & technologies.
=> Driven to confusion.
=> Static Analysis.
=> Dynamic Analysis.
=> Notions of Coverage.
=> Automation in Multilingual Computing.
=> Automation in Non-Functional Testing
1. Topic of Non-Functional Requirements.
2. Designing experiments.
3. Automation in Non-Functional experiments.
4. Automating in Live Testing
1. Test Design
=> Software Development Life Cycle Dependencies.
=> Technical Collaboration.
=> The crazy world of frameworks.
=> Continuous Integration.
=> Automating Story Tests
=> Automation Library Models.
1. Controller Models.
2. Step Based Models.
3. Domain-Specific Models.
4. Technology Specific Models.
5. Basic Atomic Operations.
=> Some Automation Programming Practises
=> Some More Automation Paradigms.
=> Skills matter
Robert Sabourin, AmiBug.Com, Inc., Canada
Robert Sabourin has more than thirty-nine 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. Robert is the principal consultant (&president/janitor) of AmiBug.Com, Inc.
About The Test Tribe:
The Test Tribe is proudly India’s Largest Testing Community and has already set a strong Global footprint with 10+ Global Events and thousands of global community members . The Test Tribe is built with a mission to give Testing Craft the glory it deserves, while we co-create Smarter, Prouder, and Confident Testers.
The Test Tribe Community has so far done 130+ Events like Conferences, Meetups, Workshops, Bootcamps, Hackathons, TestAway, Webinars, AMAs, etc.
The Test Tribe aims to provide online and offline platforms to Testers where they can Collaborate, Learn, and Grow together.
Check out our upcoming Events list here
Join thousands of other Testers in the community.
Register now! Limited seats that are already filling fast on pre-interest!
The Test Tribe Team