✓ Setting up your local development environment.
✓ Build and run our own locally running react application.
✓ Creating our first automation test with Cucumber, Selenium & TypeScript.
✓ Executing your automation test on your locally running application.
✓ Deep dive into our first test and understand tagging, regex, step linking, cucumber params, element locators, developer tools and hooks.
✓ Adding your own unique element identifiers to the application code to enable more automation scenarios.
✓ Setting up our automation framework to produce screenshots on test failure.
✓ Implement Cucumber World to enable us to pass global variable and configuration within each scenarios separated context.
✓ Leverage ENV files for better environment variable management.
✓ Implement dynamic test configuration to provide more flexibility when running our cucumber scenarios.
✓ Defining our element, page and host mappings in page specific .json files.
✓ Introduce our own custom waitFor() function to add stability to our automation framework.
✓ Adding a common ENV file to house all our common configuration across our automation framework.
✓ Setup cucumber html reporter to report on our test suite results.
✓ Reuse our waitFor to help stabilise and validate page has loaded before moving onto the next step.
✓ Advanced debugging techniques leveraging chrome developer tools, console logs and break points.
✓ Automating Links, Buttons and Elements at specific index.
✓ Automating Tables and asserting on an exact match between our Cucumber DataTable and the UI.
✓ Automating Switches, Cards & Avatars.
✓ Automating Drop Down Menus and Select Boxes.
✓ Adding the ability to refresh our page during an automation test.
✓ Automating Browser Alerts, Page Alerts and Tooltips.
✓ Automating Text Areas and Hidden & Visible Text.
✓ Automating stored values and expected values.
✓ Preparing our automation suite for production Automation Suite Runs.
✓ Running our automation on a production environment.
✓ Storing login details in environment specific ENV files.
✓ Leverage Example Tables from Cucumber to run scenarios on specific environments.
✓ Emulate devices resolution during automation text execution.
✓ Introduce the ability to customise our console logs for errors, logs and debug and off.
✓ Adding the ability to customise our automation failure errors.
✓ Leverage random data in our automation suite form steps.
✓ Demonstrate how quickly automation can be added with our world class automation framework.
✓ Tagging our suite for @smoke and @regression in preparation for CI.
✓ Implement an accessibility automation testing suite across our react application.
✓ Produce detailed accessibility improvement reports as well as fix some issues ourselves.
✓ Pushing our project containing our automation framework to GitHub.
✓ Implementing Selenium Hub (Grid) to orchestrate our automation test execution in parallel.
✓ Get our automation tests running on pull request and in CI (Continuous Integration)
✓ Develop and grow your understanding of TypeScript across the entirety of the course.
✓ Implement Advanced Object Orientated Design Patterns and Separation of Concerns.
I began my career as a software engineer working across iOS and Web. During this time I discovered a passion for ensuring what we develop is being delivered with quality and speed to our customers. I followed this passion and shifted my career to focus on improving the quality function.
Some Highlights from my career to date include:
– Top nominee for Best Agile Test Team in the world (A global competition – judged by our peers) – we were alongside such global companies as Google, Microsoft and Amazon.
– Grown and expanded a QA Practice from (3 testers – 6 projects) to an Enterprise-wide function with over 100+ testers across – 64 high-level projects.
– Produced incredible quality and automation testing results that lead to investment, project growth, and expansion in the quality function.
– Supported a culture of embedding QA’s in projects – Creating experts of championing world-leading quality best practices among the team.
– Ran and organised automation training sessions to up-skill, retain our talent and support our automation goals (Playwright, Espresso, Cucumber, Protractor, Cypress, Detox and XCUITEST)
– Created and empowered a collaborative monthly meet-up across projects called Back to Practice – This session brought together teams to generate ideas and tasks for future sprints that helped us improve the quality function and drive automation improvements.
– Introduce community events + skills & learning (Scheduled training, Brown bags, Automation Syncs, Sprint Showcases & Team Catch-ups).
– Introduced Exploratory Testing methods (Bug Bashes, Mob Testing & Cross-Platform Testing)
– Collaborate and support team to Significantly increase the total amount of automation tests (across the test pyramid) executed daily in CI.
– Automation (developed by testers and developers) correctly executing in CI – on pull request – passing before merge to develop/master codebase.
– Globally recognised QA Leader on social media and influencer in the technology industry.
– Represented the team’s QA Transformation and achievements at conferences and events both locally and abroad.
– Engineering leadership and level of understanding of automation frameworks & systems – developed from working across projects on the tool with the team.
– Proven engineering leadership on implementation of new automation framework with the team.
– Founded Testing Talks Conference, Testing Talks Hub and Testing Talks Online – Passion project(s) to create a fun event for all; to share, learn and reconnect in-person (and online).