Those who seek to enter the field of test automation have difficulty doing so due to lack of experience. One way to gain experience is of course to study and practice on your own. But how do you demonstrate your new knowledge to employers?
Other professionals, like front-end developers, create portfolios to showcase their skills, and you can do the same as automation engineers!
Here are 10 projects for your test automation portfolio this will help you stand out from the competition.
1. Web Browser Automation
Web automation is by far the most common and sought-after form of test automation. If you want to get started with test automation, this is an absolute must-have for your portfolio.
Make sure you go beyond a basic login flow. Instead, show complete scenarios that require your code to interact with multiple pages.
This project must demonstrate your ability to find element locators and interact with different types of elements such as drop-down menus, checkboxes, text fields, buttons, links, alerts, file upload widgets and frames.
Also be sure to write clean test code and using design patterns such as the Page Object Model or the Scenario template.
Sites to practice against:
2. Mobile Automation
The demand for mobile test automation engineers has increased over the years as the popularity of mobile applications has skyrocketed. Having experience here can definitely work in your favor.
Your portfolio should demonstrate automated testing on iOS and Android apps. Using Appium creating a project that works for both iOS and Android would be great. Use tools like those from Apple XCUITest or that of Google Espresso it is good too. But if you go this route, I recommend doing at least two projects (one of each), because each only supports one mobile operating system.
Regardless of which framework you use, you’ll want to demonstrate the same element interactions as in your web automation project, but also mobile-specific gestures like swiping and pinching.
Apps to practice with; download one of them to use in your project:
3. Visual automation
After completing your web and mobile projects, fork them and add visual tests capabilities at their disposal. You’ll quickly see how your tests are lacking because they haven’t been enabled to check how your app looks.
Visual testing is a skill listed on a number of Jobsand having this skill will really help you shine against the competition.
4. API Automation
With the rise of microservices, IoT applications, and public APIs, the demand for automation engineers who know how to test APIs has become substantial. So definitely add an API testing project to your portfolio. (Here is a free course on how to test APIs to help you get started.)
As part of this project, be sure to demonstrate a variety of API methods, with GET and POST at a minimum. Use APIs that require parameters or request bodies, and also return complex responses with multiple objects and arrays.
For bonus points, use advanced verification techniques such as deserialization Or approval testing. By also demonstrating how to mock API responses that would be a nice bonus.
APIs to train on:
5. Automation of BDD specifications
Many teams are training behavior-driven development (BDD) and automate the tests according to the specifications produced. You’ll want to demonstrate your experience in this field and how you can get started and get started.
For this portfolio project, be sure to not only show the mapping between feature files and step definitionsbut also demonstrate how to share state between stages via dependency injection.
Also be extremely careful when writing your feature files. Long, detailed feature files will hurt your wallet more than help it. Make the effort to write well and concise Gherkin.
6. Data-Driven Automation
Your practical projects may use only a small amount of test data, so it’s easy to store this data in the source code. However, in production development teams, you will have hundreds or even thousands of automated tests. To track all this data, many teams adopt a data-driven testing approach.
I recommend adding it to at least one of your projects to demonstrate your ability to programmatically read data from an external sourcesuch as a spreadsheet file.
7. Use of the database
Speaking of being able to access data from external sources, it’s a good idea to add a project that interacts with a database. I recommend writing queries in your code to read and write from a database, and using it in the context of testing.
For example, you can read into the database to gather the expected results of a search query. You can also write to a database to place your application in a prerequisite state before testing.
8. Multiple languages and libraries
Writing all your portfolio projects in a single programming language is acceptable; However, automation engineers often need to become familiar with multiple languages.
To make yourself more marketable, try using a different language for some of your projects.
Also change it a bit and try a few other automation libraries as well as assertion libraries. For example, maybe do a project with Selenium Web Driver in Java and JUnit, and another project with Cypress in JavaScript and Mocha.
I know it sounds intimidating, but you’ll find that certain architectural and design patterns in test automation are universal. This exercise will really solidify your understanding of automation principles in general.
9. Accessibility Automation
Automating accessibility testing has always been necessary, but has recently become extremely important for businesses. There have been legal battles where companies were sued because their websites were not accessible to people with disabilities.
Demonstrate that you are capable of test automation for accessibility will give you a great advantage when applying for a job.
You can use the same sites/apps that you used for your web and mobile projects to demonstrate accessibility testing.
10. Performance testing
Last but not least, you should consider adding a Performance Test project to your portfolio.
Non-functional testing such as performance is a niche skill that many automation engineers do not possess. Adding it to your portfolio will help you be seen as a unicorn that really stands out from the crowd.
Portfolio presentation
GitHub
Make sure to put all your projects on GitHub so employers can easily access and review your code. Be careful, however, hide secret keys. This will give you bonus points because it shows another level of maturity.
Website
Create a website that highlights each of your portfolio projects. You don’t have to create the website yourself; you can use common CMS systems like WordPress to help you quickly get your portfolio up and running and visible.
Each project highlight should include a paragraph or bullet points explaining what you did in the project as well as the tools and programming language used.
resume
Include a link to your portfolio on your resume, and feel free to list your portfolio projects in the “Experience” section of your resume.
Although this is not traditional work experience, it shows that you are self-starter, passionate, and skilled to enter the field of test automation.
Interview
During your interviews, don’t forget to mention all the projects you worked on. Draw on your experiences building projects to be able to answer questions. Also brush up on other concepts around testing and development this may arise during the interview.
Good luck!
Join Angie for her Automation Cookbook Serieswhere it solves common automation issues when live streaming.