Software testing is the process DevOps and software architects take to ensure that the final product meets all users/ businesses and legal requirements while fully functional. Automation Testing is an integral part of the software development life cycle. Although it’s hard for aspiring test engineers to demonstrate their skill set. That’s why they rely on creating a test automation portfolio so that recruiters can assess their expertise in automation testing. Similar to how front-end developers, UX professionals, and others in technology are asked to provide examples of their work when trying to secure a new job. In this blog, we’ll outline why it’s essential to have a handy-automation portfolio & 10 Automation Testing Projects that you can add to your portfolio.
Why Portfolio for Automation Testing
Imagine that you’re at an interview, where your reviewer asks “Tell us how will you automate this login page” or “can you tell us about your automation experience.” Wouldn’t it is an excellent response if you redirect them to the actual codes you’ve written to demonstrate your point? Think of how much more powerful a persuader this would be to potential employers than a verbal answer. It’s a widely accepted view that the best way to learn is by doing. Nothing speaks to people like seeing something in operation – theory alone simply does not have the same powers of persuasion.
Some Instructions before you get started
- Set a goal. Be decisive. Decide what you want to do in advance, and do your best to stick to it.
- Take advantage of free and paid automation resources available online such as ZEN-Automation Testing Program, Test Automation University & More. Try this Quora Link for more resources.
- Always use Github to host your complete code- use a private repository or share it with the world.
- Network about it- reach out to automation testing forums & communities, who’re always ready to help you with your queries.
- You can also create online demos or tutorial videos on YouTube.
- Pick a project that dives deep and goes into a great level of detail for a single tool/language/layer of a stack.
- Perhaps you prefer to be shallow and broad, and give examples of various things to show you aren’t just a one-trick pony.
- Last but not least- Enjoy Yourself! If the whole process feels like a monotonous chore, switch to a different project, level it down, or leave it for a while. The Whole Automation Field is a big paradox of trial & error, and sometimes it gets unfathomably frustrating. Maybe even try collaborating with other test engineers, don’t forget that the world is your oyster. Wink*
List of top 10 Automation Projects that will add value to your Automation Portfolio
So it’s time to get creative and build your portfolio.
1. Writing a Test Case Script for everyday websites
For Now, you know that the main objective or the crux of your job profile is to test an app or its features over & over again. You should also get used to doing the same. Take your favorite app or website that you often use and think about how would you test it. Web automation is the most standard practice and sought-after form of Test Automation. Although make sure you go beyond the basic design flow. Moreover, show them the full scenarios that require your coding skills to interact with multiple pages.
The project should demonstrate your skills to find element locators and interact with the most notable elements such as dropdown menus, text fields, checkboxes, buttons, alerts, pop-up menus, links, file-alert widgets, and frames. Also, make sure you’re writing the clean test code and utilizing various design patterns such as screenplay patterns & page object models.
There are many websites that allow to experiment and test against.
It contains all the basics for web automation & basic concepts of Selenium & Cypress. You can also find various advanced concepts of Selenium to learn for FREE. You can also avail already automated scripts for Selenium for all types of problem statements.
2. App Testing
Since the majority of people are transitioning to mobile apps, the demand for app automation testers has soared drastically. Having an experience with testing apps can certainly increase your chance of getting recruited by top automation firms.
Your mobile testing automation should contain the test scripts against both iOS & Android apps. You can use tools such as Apple’s XCUI TEST or Google’s Espresso. But if you go this route, I recommend doing at least two projects (one of each), since each supports only one mobile operating system.
Nevertheless, whatever tool you use, you have to demonstrate the same element interaction as shown above in a web testing project. However, this will also include mobile-specific gestures such as pinching & swiping. You can download apps & relevant files with third-party app providers for both iOS and Android.
3. Make a project spanning Visual Automation
Once you’ve established yourself with mobile & web projects, fork them and add visual testing capabilities to them. You’ll witness how many tests are missing as they weren’t scripted to test or enable the visual appearance of your app. Visual Tester is one of the most sought-after and in-demand fields in the Software Development industry.
4. API Automation
With the rise of microservices, public-facing APIs & IoT applications, IoT testing has become an integral part of the software development cycle. Many enterprises of automation talent that can help them with API testing. So, it would be feasible to add an API testing project to your portfolio.
Make sure that within this project you demonstrate a variety of API methods, with adding minimum POST & GRE scenarios that are crucial to the REST API. Brownie points out if you can use an API that requires parameter or request bodies and also return a complex response with an array & multiple objects. There are many mock APIs available to be tested against.
5. Data-Driven Automation
Your project may only use a small & certain amount of data so that it can be stored easily within your source code. However, while working within a big enterprise or with product development teams, you may encounter hundreds or thousands of automated tests. Many teams adopt a data-driven testing approach to keep up with the massive volumes of data.
We suggest that you add at least one project to your automation portfolio that demonstrates your ability to extract & test data from an external source, such as an excel spreadsheet file.
To give you context here’s a thoughtful blog where you can learn how to use Apache to extract data from an excel spreadsheet.
6. Database Usage
Once you’ve figured out how to access & extract data from an external source, it’s a good idea to add a project that interacts with data as well. We recommend writing queries within your code to both reads and write from a database and using this within the context of a test.
For instance, one can read from a database to gather the expected results from a search query. Or you can write to a database to place your application in a prerequisite state before proceeding to test.
7. Creating a generic CICD plugin
If you want to pursue a job in a product-based company that relies on continuous delivery/continuous integration, why not show a project that demonstrates your pipeline abilities. One such example is query Jira for issues in a Sprint that need to be tested, then hand that info off to another plugin that maps those issues to the acceptance tests and runs them.
This will prove that you do have a certain threshold experience with selenium tests & GIT.
8. Performance Testing
Ensure that you add a performance testing project to your portfolio. Nonfunctional testing such as performance is nuanced and niche skill that many automation testers does not possess. Adding this to your portfolio will help you be perceived as a unicorn who really stands out from the crowd.
Below are some websites to test against.
- Simple Travel Agency – BlazeMeter demo site for performance testing.
- Pet Store Web – Pet store for performance testing.
- Computer Database – Simple site with minimal inputs to use in performance testing.
9. Testing for multiple languages & libraries
Also, switch it up a bit and try a few other automation libraries as well as assertion libraries. It may seem infuriating at times, but this exercise has a practical benefit. With time, you will notice that some concepts & methods in automation testing are universal. This exercise will really solidify your understanding of automation principles in general.
10. BDD-specific Automation
Behavior-Driven Development (BDD) is the latest tech buzzword, and many companies are adopting it. Hence the need for test engineers who can automate the specified tests. For this portfolio project, be sure to not only show the mapping between feature files and step definitions but also demonstrate how to share the state between steps via dependency injection.
So before wrapping up the blog, we want to give you some crucial yet pretty obvious suggestions. Make sure you include the link to your portfolio in your resume. Feel free to add it in the experience section, while it’s not traditional work, it will lead to show your recruiters that you are self-driven, passionate, and competent to break into the test automation field.
In case you need guided in-depth study & hands-on real-life projects, join ZEN CLASS- Automation Testing BootCamp. Unlike other online programs, this is a LIVE program, where you can learn selenium with various programming languages and build your portfolio with industrial projects. The program is curated by automation engineers and experts who have been in the testing industry for years.
Refer to this GIT Repository for an extended list of websites to be tested against.