This 3 module online workshop is designed to give an introduction to the world of test automation, from a black box software testing perspective, and prepare you for joining a project and contributing to its day-to-day test automation activities.
Each module is 3 days long and uses practical exercises to help you understand and apply the theoretical concepts introduced in each module.
You will learn:
- Basic programming concepts, useful terminal commands, Git day-to-day usage
- Different approaches to test automation, the most common test automation pitfalls
- How to create UI driven test automation with Selenium
- How to use API level test automation to enhance UI driven tests
- How to structure your test automation code for better maintainability
- How to integrate your test automation scripts into CI pipelines
Throughout the 3 modules, you will be working on a capstone project that helps you apply all the concepts learned along the way. The final project will be graded at the end of Module 3.
The workshop can be done using C#, Python or Java as the main programming language.
WORKSHOP SYLLABUS
Module 1 – Programming concepts applied in testing
- Day 1: Data types, variables, operands, control structures, methods, parameters, return values, storage
- Day 2: Useful terminal commands, intro to Git, OOP concepts, intro to algorithms
- Day 3: Testing frameworks, creating tests, intro to client-server architecture, intro to client side technologies like html, css, js
Module 2 – Introduction to test automation
- Day 1: Approaches to test automation, intro to oracles, test automation pitfalls, intro to UI driven automation, intro to Selenium
- Day 2: Creating drivers, navigation with Selenium, implicit vs. explicit wait, finding elements with selectors, intro to CSS and XPath
- Day 3: Design and create automated tests using Selenium, with focus on structure of tests, avoiding duplicate code
Module 3 – Advanced concepts in test automation
- Day 1: Intro to writing well-structured, maintainable test automation code, intro to Page Object model, interactions with the OS
- Day 2: Data-driven tests, parameterised tests, reporting, API level tests and combining them to UI level tests
- Day 3: Integration to CI pipelines, usage with frameworks like BDD, discussion of final capstone project