Giter Club home page Giter Club logo

a-test-automation-project's Introduction

A test automation project

There is a lot of good content out there on how to build tests with different tools. However, what's often lacking is the opportunity to put what you have read, seen or heard into practice.

That deliberate practice, though, is essential when you really want to learn a new skill. Reading, watching or listening alone isn't going to get you there (ever tried to learn swimming just by watching other people swim?).

This is the reason I published this project. It will give you an opportunity to get your hands dirty on a test automation challenge, covering several different tools and technologies that a test automation engineer encounters when they work on real-life projects.

By going through this project step by step, you will build a solution that serves as a portfolio project for your current or prospective employer.

This project is an ongoing piece of work, meaning that updates and new challenges will be added over time.

What am I going to learn?

This project covers:

How is the workshop material presented?

This project will not hold your hand through every step. I will not provide you with instructions that tell you exactly what to do and what to type where. The point of this project is to figure things out and build things yourself.

I will, however, make sure that there is a logical progression from one step to the next, and I will provide information on the 'why?' and 'what?' (but again, not the 'how?') for every step. Links to relevant learning material will be included where applicable, for your review.

If you're really stuck, by all means have a look at one of the reference implementations for inspiration. The goal, though, is to build a solution yourself. Getting stuck, trying to find out how things work and the frustration that comes with this is part of the learning process.

What tools can I use for this project?

That's up to you. I deliberately set up this project to be tool- and programming language-agnostic. So, whether you want to use Java, C#, Python, JavaScript with your libraries and test frameworks of choice, or if you want to use low-code tools like Robot Framework, it's up to you.

I will provide reference implementations for some of the most popular languages, tools and libraries, and I am happy to include yours, too.

What if I'm stuck?

Are you stuck? Awesome! That's how you know you're learning something new. Here are some tips to help you get unstuck:

  • Ask an experienced coworker for help
  • Pair up with a fellow learner
  • Ask Google / ChatGPT / StackOverflow / ...

If you're really, really stuck and still can't find an answer, please open an issue on this repository and I (or maybe someone else) will gladly have a look at it.

How can I get my work reviewed?

Here are some ideas to get feedback on your code:

  • Pair program with a fellow learner while working on the exercises
  • Ask an experienced coworker to have a look at your code

Unfortunately, I don't have the capacity to give detailed feedback to individuals on their code myself.

Reference implementations

Link Language Test runner API library UI library CI platform
Click C# NUnit RestAssured.Net Playwright GitHub Actions

Can I contribute to this project?

Absolutely! There are several ways to do this:

  • Provide a reference implementation for the project
  • Submit a pull request containing improvements or additions to the workshop material
  • Spread the word about this project at your company, on social media, or any other place

Is this workshop available as an in-house project for my organization?

I am more than happy to discuss options to bring this project to your organization. We can then tailor the content to your specific requirements, and we can perform the exercises in your context, using your technology stack and applications. Send me an email at bas[AT]ontestautomation[DOT]com for more details.

a-test-automation-project's People

Contributors

basdijkstra avatar

Stargazers

 avatar  avatar Gennadii Chursov avatar Martin Hojmann avatar Riza avatar  avatar Thiago Calheiros avatar Jurn van Mieghem avatar  avatar  avatar Vitalii Zghonnik avatar  avatar Cliff avatar  avatar Falon Strada avatar KPR avatar Amr Ali avatar Kat A. Klettke avatar  avatar Velizar Velikov avatar Bheem avatar João Pedro Broietti Pissolito avatar  avatar Perla avatar Alex  Owens avatar Faisal Basra avatar Tejbir Singh avatar Kha Giai Minh avatar Md. Gofran Khan avatar Mohamad Ghneim avatar Dn1993 avatar gülsüm avatar Alexander Vorvule avatar Piotr Wicherski avatar Joe Joyce avatar  avatar Rimvydas Vainutis avatar Ivo Dimitrov avatar Marcel avatar  avatar  avatar  avatar  avatar Martyn Nevers avatar  avatar Israel Santiago avatar Audrey Clark avatar Vasko Stojkovski avatar Angel Lastra avatar Firman Isma Serdana avatar Mitali Shah avatar Jorge Reyes Vargas avatar  avatar  avatar Imender Singh Rehal avatar JM avatar  avatar Karlo Barcelona avatar Heiko Kase avatar  avatar  avatar  avatar Cevdet Ayaz avatar Gáspár Nagy avatar Emanuele Prella avatar  avatar Petr Míčko avatar Zubair Ahmed Rafi avatar Mahmoud Abdallah avatar Sander avatar Sebastian Herrera avatar Kyle Potter avatar Bas Bosveld avatar Alper Mermer avatar  avatar  avatar

Watchers

 avatar Angel Lastra avatar  avatar Kristian avatar dabellana avatar Mohamad Ghneim avatar JB avatar Joaquín Q. avatar Vasko Stojkovski avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.