Test Automation University Archives - Automated Visual Testing | Applitools https://applitools.com/blog/tag/test-automation-university/ Applitools delivers the next generation of test automation powered by AI assisted computer vision technology known as Visual AI. Mon, 20 Nov 2023 18:34:07 +0000 en-US hourly 1 The Role of Automation in Mobile Continuous Testing Q&As https://applitools.com/blog/the-role-of-automation-in-mobile-continuous-testing-qas/ Thu, 06 Apr 2023 19:23:11 +0000 https://applitools.com/?p=49010 My answers to questions I received at TAU Conference 2023 Recently it was a pleasure to give a talk about the role of automation in Mobile Continuous Testing at the...

The post The Role of Automation in Mobile Continuous Testing Q&As appeared first on Automated Visual Testing | Applitools.

]]>
The Role of Automation in Mobile Continuous Testing

My answers to questions I received at TAU Conference 2023

Recently it was a pleasure to give a talk about the role of automation in Mobile Continuous Testing at the TAU Conference powered by Applitools, and actually, it was an excellent opportunity to meet different test automation experts and attendees from all over the world.

If you missed the session, you could find the on-demand recording here: applitools.info/kte

During the session, I got various questions about mobile testing and CI, so I wrote this blog to answer them all.

Let’s get started!

Question 1: Automating tests for different devices

Question: What is the most efficient approach when automating tests for the same mobile app on different (Android/iOS) devices? Automate with a tool that works for both or a tool for each one individually?

My answer: The best answer always depends on the team’s needs and goals. Using a tool that works for both platforms is a good choice, because this approach saves time and effort in test automation as it allows you to write test scripts once and run them on multiple devices and platforms such as using Appium. 

But sometimes, the team decides to use platform-specific testing tools such as Espresso for Android and XCUITest for iOS, because they need the mobile developers to work closely with the test engineers in writing the UI tests because they believe it’s a shared responsibility. 

Additionally, they can use the same programming language. Test scripts will be in the same repositories, and using the native locators from the app will be directly accessible in this case.

Question 2: Testing multi-platform apps

Question: Is the approach to/process for testing a multi-platform app like Evernote (mobile, desktop, web) different from a mobile-only app?

My answer: Testing a multi-platform app like Evernote requires a different approach because the following reasons:

  • Each platform’s user interface, operating system, hardware, and software requirements (mobile, desktop, web) differ, so testing must account for these differences and ensure that the app operates as intended.
  • To ensure consistency across all platforms, including features like note-taking, search, sync, and collaboration, each platform must be tested separately, as well as its integration.
  • Testing the app across various platforms ensures the design, navigation, and features are consistent and intuitive.

In order to know how to deal with different platforms, these things should be included in the test plan and strategy at the beginning.

Question 3: Upcoming course content

Question: Is the outline described in your presentation today part of an existing course? Or will it be part of a future course re-haul of your existing course on TAU?
My answer: No, it’s not in my existing courses, but maybe we can have it in the future.

Question 4: Manual testing for mobile CI

Question: When in this mobile CI workflow would manual testing fit in? Or is it suggested that manual testing is not needed?

My answer: If your team would like to achieve the fully automated CI/CD to build, test, package, and release the mobile apps to the App Stores, manual testing will not fit in the lifecycle because the goal is to make the process fully automated as much as we can. But if the target is to have continuous integration only, you can build and package the apps and then send them to the manual testers to do the testing activities. After that, if there are no issues in the build or the release, you can continue with the release process of manually automating it. 

It always depends on the team goal and the release cadence. Some teams or companies release every one or two weeks; in this case, manual testing will be a blocker and releases can take a long time.

Question 5: Manual testing with an automation setup

Question: Is there still a need for manual testing, even with an automation setup?

My answer: Yes, manual testing can be used to identify issues not covered by automated tests, sometimes, different scenarios require a human eye, interaction, or decision. 

It always depends on the type of mobile app and the functionalities we need to cover; this can be added to the test plan and the test strategy from the beginning.

Question 6: Making apps testable

Question: Isn’t it also necessary that apps are made testable?

My answer: Yes, I totally agree, as a mobile development team, we should consider making the mobile app testable by doing the following tips:

  • By writing modular code, you can test individual components independently.
  • Make your app’s logic, data, and presentation layers separate using design patterns like MVVM or MVP. This will make testing easier.
  • Decouple dependencies between classes through dependency injection. This will make it easier to swap out components during testing.

Question 7: Using tools for mobile test automation

Question: If you’re not strong in mobile app automation, for something like a React Native app, would you stick with something like Appium (which is familiar with native automation/Selenium web), or would it be better to try the Maestro (or something similar)?


My answer: The POC (Proof of Concept) project is always the best, in my opinion. If you already have a React Native app, you can try to create a project and try to automate the app with Appium, as you know, Appium is a black-box testing tool so at the end you need only the .apk or .ipa files to be able to automate them, which is not different with React Native apps because at the end you will have already two native apps (iOS and Android). Or you can try Maestro. It’s a new framework, and it may be beneficial in your case.

Question 8: Staying up-to-date on industry skills

Question: Does the coming of flutter make the tester’s life easy?

My answer: I cannot guarantee that, as a tester, we face new challenges every day. For instance, we must learn about new testing tools and technologies, which requires us to stay on top of our game. In contrast, as we can see these days, AI is booming and is affecting our daily work, which makes acquiring unique skills indispensable.

Question 9: Preparing for ISTQB Foundation Certification

Question: How best to prepare for an ISTQB Foundation Certification?

My answer: It depends on which ISTQB certificate you want to achieve, for instance, if it’s the foundation level, you need at least 6 months of experience with software testing to understand the fundamentals and the concepts in the Syllabus. 


As you can see in the following image, the certificates have different tracks and levels. Each level required specific requirements and a different level of experience. You can find all the details on the ISTQB official website, including the Syllabus and the sample questions with answers.

ISTQB certification levels
Image source: ISTQB website

Besides reading the Syllabus, your background will be enough.

Wrapping up

I hope you enjoyed these answers to your questions, and I look forward to seeing you at the TAU and Applitools conferences in the near future.

Please do not hesitate to contact me if you have any other questions.

My LinkedIn: https://www.linkedin.com/in/moataz-nabil/

My Twitter: @moatazeldebsy

Thank you for reading.

Happy testing!

The post The Role of Automation in Mobile Continuous Testing Q&As appeared first on Automated Visual Testing | Applitools.

]]>
Preparing for a Technical QA Engineer Job Interview https://applitools.com/blog/preparing-for-a-technical-qa-engineer-job-interview/ Tue, 28 Mar 2023 19:19:48 +0000 https://applitools.com/?p=48843 When you see technical assessment as one of the stages of an interview, what do you do? Does the panic set in? In order to gain confidence in technical tasks,...

The post Preparing for a Technical QA Engineer Job Interview appeared first on Automated Visual Testing | Applitools.

]]>
laptop with notepad and coffee

When you see technical assessment as one of the stages of an interview, what do you do? Does the panic set in? In order to gain confidence in technical tasks, the best way is to practice and tackle them head on.

In this blog, I will walk through:

  • My experience as a candidate, having previously had job titles including QA Engineer, SDET, and QA Automation Lead.
  • Encountering different types of technical tasks, from the classic whiteboard FizzBuzz programming task to a take-home task building a test framework from scratch.
  • Advice as a hiring manager from my experience as QA Lead at a healthcare startup in the UK, where I will touch on not only the technical aspects of the interview but also the behavioral and situational based questions we ask candidates, providing tips on how to prepare as well.

All tips and advice are based on my experience as a hiring manager, hiring for a QA Engineer.

laptop with notepad and coffee

My experience as a candidate

I’ve never been the most technical person. I graduated university with a psychology degree and managed to land a graduate scheme job which taught me the skills on the job, alongside working as a Test Analyst. Therefore, whenever I see a technical part of the job interview process, my anxiety definitely sets in. However, having been through quite a few of these during my career I’ve come up with a few different tactics.

My approach is to refresh my skills either in the programming language or automation test framework and practice! This may mean accepting multiple job interviews in order to use some companies’ technical assignments just as a form of rehearsal. If that’s not possible, Test Automation University (TAU) provides code samples and assignments to refresh your skills.

Of course, every job has its own spin on the technical task but generally follows a similar pattern. Interviews for QA Engineer and Test Automation roles often focus on end-to-end testing with frameworks based on Selenium, Puppeteer, Cypress, or Playwright. While doing these tasks, I always spent too long on them and would focus on using the latest language features or making sure to abstract any duplicate code to helper functions.

Some of the tasks I encountered as a candidate, I definitely thought I had failed as I completed them, especially when they were whiteboard technical tasks. The first one was FizzBuzz and another was sorting and filtering a list. It’s very difficult for me to perform these tasks on a whiteboard using pseudocode without having a keyboard in front of me and without Stack Overflow. Often the person interviewing uses these types of tasks to understand your thought process and how you communicate throughout the activity.

Advice from my candidate experience

These tasks often don’t relate to the daily activities an automation tester or SDET will be performing. In my opinion, the interviewer shouldn’t be assessing the completion of the task or the actual solution. From my experience, my advice for these type of programming tasks: 

  • Don’t overthink it: Get a solution down and rewrite it later.
  • Ask questions: It can buy some time for thinking.
  • Become comfortable with silence: The interviewer won’t be comfortable with the silence either.
whiteboard coding exercise

The technical assessment

As a hiring manager, I have seen some bad and some bizarre submissions as part of the technical test. Some red flags, I have witnessed while reviewing our technical tasks:

  • One of the tasks was missing from the submission
  • No assertions in automated checks
  • Assertion within test wrapped in try / catch
  • “Negative” scenario provided is actually a positive scenario

Getting the basics right is so important. TAU has many courses to help refresh and upskill in preparation for technical jobs.

How I evaluate technical assessments

I will walk through the process of how I evaluate a technical task, which will help how to approach the task effectively:

  • Firstly, once I have received the technical task back from the candidate, I open up the README.md file and try to run the project. If the instructions are clear and easy to understand, this gives a great first impression. Making the hiring manager’s job easier by describing how to run the tests is a really good start.
  • Secondly, by running the tests (hopefully, they are green), I read the names given to the tests. This defines what is actually being tested, demonstrating understanding of the task itself.
  • Thirdly, looking at the new code, have the assertions answered the right question? Especially around the negative scenario, does it handle unwelcome behavior? Too often, negative testing is misunderstood.
  • Fourthly, when the test is focused on UI test automation, what element locators have been used? Following the hierarchy of best practices in Cypress documentation is a good reference. Obviously, the best locators are not always available to the candidate, but commenting what should be used will not go unnoticed. This is where comments in the code are allowed and should definitely be used to assist with helping the hiring manager understand your thoughts.
  • Fifthly, has the code been structured to facilitate maintenance and stability? For example, moving setup steps to beforeEach proves you know how to make tests independent. Also, refactoring code to be easier to read and understand helps in proving your experience of working with unfriendly code.

These are some key areas which I focus on during the review process, but overall, I’m looking for simplicity, clarity, and following best practices. I always request candidates don’t take too long on a task. Comments with future improvements are enough in this scenario.

The behavioral assessment

Often the interview will be split into multiple sections, one of those could be behavioral or situational style questions. For example, “How do you deal with a situation when a developer says a bug is actually a feature?” The role as an automation tester involves working as part of a team, therefore it’s important to prepare for these questions. As before with the coding exercises, practice can help prepare for this style of interview questions. By rehearsing examples from your experience, the answers are often articulated more fluently.

How I evaluate behavioral assessments

If we take the example of dealing with challenging developers, questioning bugs. Some things I look for:

  • Firstly, how closely a tester works with developers and what kind of relationship they have. Working at a startup, it is very important that the QA Engineers and developers work together to solve problems.
  • Secondly, persuading and influencing peers. Whether they involve other stakeholders and how much information is gathered before presenting the argument. Again, within a startup environment, we are looking for people who solve their own problems. Involving managers and other stakeholders is still appropriate in certain circumstances, but trying to resolve on your own first shows proactivity and independence.
  • Thirdly, attention to detail when it comes to acceptance criteria and what stage this conversation happens within the software development lifecycle (SLDC). Particularly what I am looking for is someone who promotes “3 Amigos” (ideally all 3 but 2 is good enough). These 3 Amigos conversations help eradicate requirements being misunderstood before development starts.

These behavioral or situational questions relate to daily activities for a tester, how someone works within a team, and especially their communication skills. Obviously as a hiring manager, I want to hear about real experiences candidates have had. However, including your opinion on how the team or process could be improved is also valued. Describing the kind of environment the candidate would like to work in helps differentiate between previous and desired experience.

tester pointing at laptop

Tips from a hiring manager

Having interviewed many candidates and reviewed lots of technical assessments, these are a few of my tips to think about when interviewing:

  1. Don’t be afraid to ask questions. A core attribute of a good tester is asking good questions. Therefore this is encouraged within my interviews, the more questions or clarifications the better.
  2. Show your workings. Just like when you are doing a math exam at school. It’s important how you got to the answer, whether that is as comments within code or verbally when explaining your solution.
  3. Admit what you don’t know. It’s better to state what you are unsure about, whereas trying to guess, the interviewer can only interpret what you say. An honest person is very well received from my perspective. As I can teach a skill to a prospective candidate, the other attributes are more difficult to coach.

To conclude

As a hiring manager, I am not looking for the finished article. Everyone has had different experiences and opportunities. This should always be taken into consideration. What’s important to demonstrate within the interview process is how you communicate, work as part of a team, and your technical skills. In order to do that, explain your thought process, provide your opinion, and be clear what you still need to learn.

ICYMI: Get connected, be inspired, and sharpen your skills with on-demand expert session recordings from Test Automation University Conference 2023.

The post Preparing for a Technical QA Engineer Job Interview appeared first on Automated Visual Testing | Applitools.

]]>
Upcoming Content for Test Automation University https://applitools.com/blog/upcoming-content-for-test-automation-university/ Tue, 14 Mar 2023 15:21:43 +0000 https://applitools.com/?p=48478 Test Automation University (TAU) is the premier platform for learning about software testing and automation. Powered by Applitools, TAU offers dozens of courses on all testing topics imaginable from the...

The post Upcoming Content for Test Automation University appeared first on Automated Visual Testing | Applitools.

]]>
Visual testing learning path

Test Automation University (TAU) is the premier platform for learning about software testing and automation. Powered by Applitools, TAU offers dozens of courses on all testing topics imaginable from the world’s best instructors for FREE.

In my previous article, I shared a breakdown of TAU by the numbers. I covered all the stats and metrics about TAU today. Now, in this article, I’d like to share the future by publicly announcing all the new content we have scheduled in our development pipeline!

New courses

Test Automation Design Patterns by Sarah Watkins

Up first is Test Automation Design Patterns by my good friend Sarah Watkins. Anyone who’s ever worked on a test project knows that good test cases don’t just happen – they’re built intentionally. In this upcoming course, Sarah teaches everything she knows about designing and delivering test automation projects at scale, from formulating tests to follow Arrange-Act-Assert, to using dependency injection for handling test inputs and other objects, to deciding between page objects or the Screenplay Pattern. This will be an advanced course to really help you become the ultimate SDET, or “Software Development Engineer in Test.”

GitHub Actions for Testing by Matthias Zax

Next up is GitHub Actions for Testing by Matthias Zax. Automation means much more than merely scripting test case procedures. It includes automating repetitive segments of your development process, like running tests and reporting results. GitHub Actions are a marvelous, lightweight way to add helpful workflows to manage your source code repositories. In this course, Matthias teaches how to create GitHub Actions specifically for testing and quality concerns. I know GitHub Actions have transformed how I run my own GitHub projects, and I’m sure they’ll make a big difference for you, too!

Behavior-Driven Development with SpecFlow by Bas Dijkstra

Next is a course for a topic very near and dear to my own heart: Behavior-Driven Development with SpecFlow by Bas Dijkstra. Behavior-Driven Development, or “BDD” for short, is a set of pragmatic practices that help you develop high-quality, valuable behaviors. Not only will Bas walk through the phases of Discovery, Formulation, and Automation, but he will show you how to use SpecFlow – one of the best BDD test frameworks around – to automate Gherkin scenarios. He will also teach how to integrate SpecFlow with popular libraries like Selenium WebDriver and RestAssured.NET.

I hope you’re excited for those three upcoming courses. Course development takes time, so we don’t have a hard publishing date set, but be on the lookout for them this year. I know Sarah, Matthias, and Bas are all hard at work recording their chapters.

New learning paths

That’s not all our new content. We have a lot more to announce today, so let’s keep going.

Visual Testing Learning Path

We have a new learning path to announce: Visual Testing! Applitools’ very own Matt Jasaitis is developing a three-part series on visual testing. The example code uses Selenium WebDriver with Java, but the concepts he teaches are universal. The first two courses in this learning path are already available. The third course, with the tentative title Expert Visual Testing Practices, will be available by April.

Leadership Learning Path

Historically, Test Automation University has focused almost exclusively on testing and automation skills. As we grow in our career as professionals, we often find we need to develop other kinds of skills as well. That’s why I’m excited to announce that TAU will be developing a new learning path for leadership!

Managing Test Teams by Jenny Bramble

The first course in our new leadership track will be Managing Test Teams by Jenny Bramble. At some point in our careers, many of us face the question, “Should I become a manager?” Becoming a good manager requires a different skill set than becoming a good tester or a good engineer. It comes with a new set of challenges that you might not expect. In this course, Jenny will share everything she’s learned about leading teams of testers, holding crucial conversations, and deciding if a career path in management is right for you. Jenny is also one of our speakers later today, so be sure to join her session.

Building Up Quality Leaders by Laveena Ramchandani

The second course will be Building Up Quality Leaders by Laveena Ramchandani. While Jenny’s course will focus primarily on being a good manager, Laveena’s course will focus on attributes of leadership that apply to any role within software quality. Laveena will cover leadership skills like servanthood, charisma, decisiveness, and gratitude, and how they all apply to the testing world.

Creating Effective Test Strategies by Erin Crise

The third course will be Creating Effective Test Strategies by Erin Crise. The key to leading successful testing initiatives is a solid, well-grounded, well-balanced strategy. The strategy must balance automation with exploration. It must include a variety of areas such as visuals, accessibility, and performance. It must be communicated effectively across teams. And it must be agile enough to adjust to changes. With her wealth of experience from several software projects, Erin will teach how to plan and execute effective test strategies in this course.

Just like for the other upcoming courses I just announced, these leadership courses aren’t ready yet. Expect them to drop later this year. We are also planning a few more courses in this leadership path, so stay tuned for more details!

Refreshing old courses

Now, we said earlier how TAU is over four years old. In the world of tech, that’s a long time. I hate to say it, but some of our courses are becoming outdated. Tools and frameworks evolve – as they should. It’s time to refresh many of our courses.

Last year, we published our first refresh courses: Introduction to Robot Framework by Paul Merrill and UI Automation with WebdriverIO v7 by Julia Pottinger. Both refresh courses were well received by our community of students.

After auditing our whole course catalog, I decided that it’s time to refresh some more courses!

Cypress courses by Filip Hric

Our intro and advanced Cypress courses are among our most popular. In fact, Introduction to Cypress is currently ranked #8 for monthly completions. This is no surprise given Cypress’s incredible popularity with front end developers. However, our mainstay courses were published before many of Cypress’s current features, like component testing and the new directory structure introduced with Cypress 10.

Filip Hric will take up the challenge to refresh both the intro and advanced Cypress courses. He will redevelop them to flow together cohesively as parts 1 and 2. We will also create a new Cypress learning path for them once we publish them.

Playwright courses by Renata Andrade

As a Playwright Ambassador, I can’t let Cypress have all the fun. Playwright is so hot right now. The community is booming, the downloads are skyrocketing, and even within Applitools and TAU, we see its adoption growing significantly. That’s why we are not only refreshing our introduction-to-Playwright course, but we are also going to publish an all-new Advanced Playwright course!

Our instructor Renata Andrade, like Filip, will develop these courses to be parts 1 and 2. She will also develop them in TypeScript. And you’d better believe we’ll create a Playwright learning path for them as well.

Mobile Automation with Appium in Java by Moataz Nabil

Let’s not forget mobile test automation as well. Moataz Nabil is going to split his course, Mobile Automation with Appium in Java, into two parts. At six and a half hours, this course is currently the longest on TAU. By splitting it into two parts, we hope to make it easier for students to complete.

Web Element Locator Strategies by Andrew Knight

And finally, there’s one more course we plan to redevelop: my very first course, Web Element Locator Strategies. In my refresh, I intend to develop new subchapters to show how to write locators in different frameworks like Playwright and Cypress, not just in Selenium Java. I’ll include new types of locators as well.

Retired courses

We also needed to retire a few of our courses that are out of date:

  1. Automated Visual Testing with Java by Angie Jones
  2. AI for Element Selection by Jason Arbon
  3. From Scripting to Framework with Selenium and C# by Carlos Kidman

In case you missed it, we removed these courses from TAU at the beginning of March. I want to thank these instructors for making these courses.

A full curriculum

I know I’ve talked a lot about learning paths today. One of the most requested new features we receive is certificates for completing learning paths. I’m sorry to say that we are not going to add certificates for learning paths. Learning paths are somewhat dynamic. They can change over time as we publish new courses. So, giving certificates for completing them doesn’t make sense.

Instead, we are toying with a stronger idea: a curriculum. A learning path concentrates on one narrow testing topic, like leadership or visual testing. I want to create a comprehensive program of courses covering a wide breadth of testing topics, and to recognize completion of that program with something like a diploma. We have a rich catalog of courses for building a strong curriculum. Right now, this is still in the idea stage. I’m hoping to bring it into reality later this year.

One more thing…

TAU is four years old, and while I hate to admit it, the TAU platform itself is starting to show its age. With so many courses available, it’s becoming hard to find the ones you want. On the backend, it actually takes quite a bit of manual labor to publish a new course, too.

It’s time to refresh the TAU platform. It’s time for TAU version 2.

Over the coming months, Matt Jasaitis and I will redevelop the whole TAU web app. Yes, that’s the same Matt Jasaitis who is creating the Visual Testing learning path. Our goal is to build a sustainable learning platform to serve Test Automation University for years to come. We will also build a better support system into the platform. Unfortunately, this project is so new that I don’t even have mockups to show you yet, but at least I can announce that TAUv2 is coming.

So, what do y’all think about all this new content coming to TAU? We’d love to hear from you. Let us know through TAU Slack.

The post Upcoming Content for Test Automation University appeared first on Automated Visual Testing | Applitools.

]]>
Test Automation University by the Numbers https://applitools.com/blog/test-automation-university-by-the-numbers/ Mon, 13 Mar 2023 15:25:00 +0000 https://applitools.com/?p=48470 Test Automation University (TAU) is the premier platform for learning about software testing and automation. Powered by Applitools, TAU offers dozens of courses on all testing topics imaginable from the...

The post Test Automation University by the Numbers appeared first on Automated Visual Testing | Applitools.

]]>
TAU by the numbers

Test Automation University (TAU) is the premier platform for learning about software testing and automation. Powered by Applitools, TAU offers dozens of courses on all testing topics imaginable from the world’s best instructors for FREE.

In this article, I’d like to share a breakdown of Test Automation University by the numbers: all the stats and metrics that we gather for insights into the program. I also shared this information in my keynote address for Test Automation University’s 2023 conference, What’s New With TAU? Let’s dive in!

Students, courses, and achievements

Believe it or not, it’s been four years since Applitools launched TAU! Four years is a long time. That’s as long as a typical college undergraduate degree.

I remember feeling thrilled when Applitools first launched TAU. Before then, there wasn’t any cohesive, community-oriented education platform for testing and automation. Most schools barely included testing topics in their programs. While the Web had a wealth of information, it was difficult to know which resources were both comprehensive and trustworthy. Test Automation University provided a central platform that could be trusted with literally the best and the brightest instructors in the world.

Now, I can’t imagine a world without TAU. At least once a week, someone I’ve never met before slides into my DMs and asks me, “Andy, how can I start learning about testing and automation?” I literally just tell them, “Have you heard of Test Automation University?” Boom. Done. I don’t have to check my bookshelf for titles or do a quick search for blog articles. I just say go to TAU. They’re always grateful.

And when they do go to TAU, they join our ever-growing community of students! Just last month, we crossed 150 thousand registered “TAU-dents”! That’s a huge size for any community.

Every time we’ve hit a milestone, we’ve celebrated. When we hit 50 thousand students in June 2020, we threw our first TAU Party. Then, when we hit 100 thousand students, we hosted TAU: The Homecoming, our first virtual conference. That’s when I first joined Applitools. Now, at 150 thousand students, we’re hosting our second virtual conference.

Our growth is also accelerating. Historically, we have grown by 50 thousand students about every year and a half. This most recent milestone happened a little sooner than expected.

Every week, about 800 to 1000 new students sign up for TAU. That’s sustained, consistent growth. It’s awesome to see all the new students joining every week.

Over 4 years, we have published a total of 73 courses. That’s a lot of content! A single course has at least 4 chapters with at least 30 minutes of video lessons. Most courses average about 8 chapters over an hour of content, and our longest courses stretch to 6 hours! We try to publish a new course about once a month. And the best part is that every one of our courses is completely, totally, absolutely FREE!

Our courses would be nothing without the excellent instructors who teach them. To date, we have 48 different instructors who have produced courses for TAU. These folks are the real superstars. They are bona fide software testing champions. Let me tell you, it is no small effort to develop a TAU course.

When Applitools first launched TAU back in 2019, I remember thinking to myself as a younger panda, “Man, that’s awesome. I wish I could be part of that. Maybe someday I can develop a TAU course and be like them.” A few months later, Angie Jones slid into my DMs and asked me if I’d want to develop my first course: Web Element Locator Strategies. In all honesty, TAU is one of the main reasons I work at Applitools today!

Let’s look at achievements next. In total, all students have completed 162 thousand courses! That’s 162 thousand certificates and 162 thousand badges, averaging slightly more than 1 course completion per student.

The credit total is even more impressive. Our students have earned about 116 million course credits. That’s just under 800 credits per student, which correlates to about one course’s worth of credits. 116 million credits earned is a mind-blowing number, and that total is only going to increase with time.

Course completion analysis

Those are just some raw numbers on TAU. I also did some deeper analysis on our courses to learn what topics and formats are most valuable to our community. Let’s take a look at that together.

When evaluating courses, the main metric I measure is course completion – meaning, how many students completed the course and earned a certificate. Anyone can start a course, but it takes dedication to complete the course. Completion signals the highest level of engagement with TAU: a student must dedicate hours of study and coding to earn a course badge.

My goal for any course we publish – and how I determine if a course is “successful” in most basic terms – is to consistently hit 30 completions per month, or 1 completion per day. Very popular courses hit 2 completions per day, and our most popular courses hit at least 3 completions per day.

Our top 10 courses are all in that upper echelon of completion rate. Our most popular course by far is Angie JonesSetting a Foundation for Successful Test Automation, followed by my course, Web Element Locator Strategies.

All three of our programming courses – Java, JavaScript, and Python – appear in the top 10. Rounding out the top 10 are courses on Selenium WebDriver, Cypress, API testing, and IntelliJ IDEA. If you want to see more details about the most popular TAU courses, check out the article I wrote about it a few months ago on the Applitools blog. Note that some small shifts have happened since I wrote that article, but the information is still mostly accurate.

When partitioning the full catalog of courses by the programming languages they use, we can see that Java and JavaScript dominate the landscape. This should be no surprise, since those two languages are by far the most popular languages for test automation. Applitools product data also backs this up. TAU offers a good number of Python and C# courses that are reasonably popular. I personally developed 3 of those 7 Python courses. TAU also offers a handful of courses that use Ruby and other languages. Unfortunately, however, we have discovered that those courses, especially for Ruby, have very low completion rates. Again, I surmise that this reflects broader industry trends.

I also analyzed the completion rate for a course versus its length. What I found is probably not surprising: shorter courses have higher completion rates, while longer courses have lower completion rates. The average completion rate for all courses is 57%. The breaking point appears to be at about two hours, with a sweet spot between 60-90 minutes. Since we want to encourage course completions, we are going to encourage instructors to produce courses in the hour-to-hour-and-a-half range moving forward.

So, what’s next?

These numbers describe TAU as it is today. In my next article, I’ll share all the new plans we have for TAU, including upcoming courses!

The post Test Automation University by the Numbers appeared first on Automated Visual Testing | Applitools.

]]>
How to Tell Your Manager Why You Should Attend TAU Conference 2023 https://applitools.com/blog/how-to-tell-your-manager-why-you-should-attend-tau-conference-2023/ Tue, 28 Feb 2023 16:09:22 +0000 https://applitools.com/?p=47972 Have you registered for the free virtual Test Automation University (TAU) Conference 2023 yet? This two-day event is an amazing opportunity to improve your software testing skills. There will be...

The post How to Tell Your Manager Why You Should Attend TAU Conference 2023 appeared first on Automated Visual Testing | Applitools.

]]>

Have you registered for the free virtual Test Automation University (TAU) Conference 2023 yet? This two-day event is an amazing opportunity to improve your software testing skills. There will be speaking events and hands-on workshops from industry leaders and test automation experts. We also have networking sessions to connect with the speakers and your software peers.

While this event is free, it will take time out of your day to attend and participate in the activities. Getting buy-in from your manager for you to take this time is crucial to ensure you can get the most out of the event. We’ve written this guide to make getting this buy-in a breeze.

Hone your automation skills

The workshops and conference sessions are curated with career development in mind to help you learn new skills and stay up to date with trending technologies.

Attend hands-on workshops

The first day of the conference is full of hands-on workshops led by thought leaders and experts. These workshops are filling up quickly! If your first choice is full, you can select something else. You’ll have access to all recordings on-demand after the event.

  • Head-to-Head Web Testing Part 1 with Cypress: Filip Hric from Cypress will guide you through the first steps to start using Cypress and set up a project on your own.
  • Introduction to Performance and Load Testing with k6: Leandro Melendez from k6 will share the importance of performance testing and how to use k6 for performance testing.
  • Getting Started with Visual Testing: Anand Bagmar from Applitools will explore the importance of automated visual validation and how to integrate Applitools Visual AI into your Selenium-Java automation.
  • Head-to-Head Web Testing Part 2 with Playwright: Andrew Knight from Applitools will guide you through setting up a Playwright project with the same tests as Filip’s workshop.
  • Going Beyond Unit Testing from the Inside: Tariq King will recap his TAU course Testing from the Inside and go deeper into the world of unit testing and other related code-based testing approaches.
  • An Introduction to API Automation with Javascript: Julia Pottinger will cover automating common API requests, negative tests for your API, error handling with your APIs, and automating API workflows.

Listen to live sessions

On the second day of the event, we have speakers giving talks that can help you find your fire to pursue your career goals with confidence. Each session has a live Q&A with the speaker at the end. This gives you a chance to get clarification or even expand further into a topic that’s more specific to your team’s challenges.

  • From Washing Cars To Automating Test Applications: Rex Jones II from FieldRoutes will share his career story of getting into software testing and the challenges he faced on the way.
  • A Holistic Approach to Testing in Continuous Delivery: Lisa Crispin from Lisa Crispin Consulting LLC will explore the useful experiments her team used to overcome common challenges in continuous delivery.
  • Bigger than the Box: Erika Chestnut will provide the closing keynote of the conference. She will share her experience breaking out of the box to expand the role of quality in her organizations.

Attend shorter lightning talks

A few of our speakers prepared lightning talks to teach concepts in a short amount of time. Some of these talks include:

  • What the QA Position Will Look Like in the Future: Rafaela Azevedo from Crytpacademy will explore how testing roles are evolving.
  • Supercharging Your CI Workflow with Java and GitHub Actions: Nikolay Advolodkin from Sauce Labs will share how to use Java and GitHub Actions for continuous integration.
  • The Role of Automation in Mobile Continuous Testing: Moataz Nabil from Bitrise will discuss using automation in continuous testing of mobile apps.

Network with other experts

This event is so much more than a series of webinars. Both days of the virtual conference also include networking breaks to connect with the speakers and other attendees.

The first networking break of the event will have following speakers:

The second networking break will have the following speakers:

The third and final networking break will have the following speakers:

Get inspired about test automation

Even though this event is virtual, we don’t want it to feel like you’re just watching. We have activities, quizzes, and prizes to get you excited about learning more and growing your skill sets.

If you join the event a few minutes early at 8:45am PT on March 9th, you can watch the pep rally, hosted by Joe Colantonio from TestGuild. Throughout the day, you can participate in testing games and quizzes. You can hear even live algorave performance by Dan Gorelick at the halfway show.

Join us for the event

We hope this guide helps you align with your manager on attending TAU Conference 2023. To make it easier to share with your manager, we’ve provided an email template. Be sure to edit to fill in your responses, add your own voice, and include other reasons you want to attend.

Register for your virtual spot to join us March 8–9. If you can’t attend the full event, don’t worry. All registrants have access to the on-demand archive of recordings after the event.

See you there!

The post How to Tell Your Manager Why You Should Attend TAU Conference 2023 appeared first on Automated Visual Testing | Applitools.

]]>
What’s New in WebdriverIO 8 https://applitools.com/blog/whats-new-in-webdriverio-8/ Tue, 03 Jan 2023 16:15:01 +0000 https://applitools.com/?p=45319 WebdriverIO is an amazing test automation framework, and I am very excited that on December 1, 2022 WebdriverIO officially announced its version 8 release! With its previous updates in versions...

The post What’s New in WebdriverIO 8 appeared first on Automated Visual Testing | Applitools.

]]>

WebdriverIO is an amazing test automation framework, and I am very excited that on December 1, 2022 WebdriverIO officially announced its version 8 release! With its previous updates in versions 6 and 7, the WebdriverIO team rewrote everything in TypeScript, removed sync support to transition to async-only, and added integration for Google Lighthouse. This version 8 release is a welcomed refinement of the framework. It shouldn’t change much for end users, nor should it have breaking changes.

With its update to version 8, WebdriverIO: 

  • updated the helpful one-line command to set up a new project
  • removes support for older versions of Node.js
  • transitions from CommonJS to ESM
  • implements a new Action API interface
  • adds a new runner for Unit and Component Testing in the browser
  • streamlines the way WebdriverIO deals with global objects using the test runner

Of course, the team also updated the documentation, too.

Let’s explore the WebdriverIO v8 updates.

Update to One-line Setup Command

A small but effective update so far that made me smile was being able to set up a WebdriverIO project with one command `$ npm init wdio@latest ./`. After that command, it asks you all the questions needed to set up and run your tests. It provides you with predefined options for not only end-to-end testing of web and mobile applications but unit and component testing as well.

WebdriverIO 8 config wizard screenshot
Option to select where tests will be launched
WebdriverIO 8 config wizard screenshot
Predefined Frameworks for unit and component testing with WebdriverIO
WebdriverIO 8 config wizard screenshot
Predefined Options for end-to-end testing with WebdriverIO

Support for Node.js v12, v13, and v14 dropped

The Node.js team moved Node.js v14 into a maintenance Long Term Support (LTS) phase in October 2021. It is now in “maintenance” until its end-of-life in April 2023. With newer versions of Node.js available, the WebdriverIO team recommends updating to Node.js v16 or v18 directly.

Find out more about Node.js release schedule.

Transition from Common JS to EMCAScript modules (ESM)

To give some background, CommonJS and ESM refer to the module system that allows us to use code from a “next” developer/library or code/data that is in a different file. The CommonJS module system has been the default module system within the Node.js ecosystem. However, the ES module was added in Node.js v8.5.0 and has been stabilized and incorporated as standard from Node.js v13.2.0. 
You may be familiar with using `require` to use your page objects in your test files and `module.exports` or `exports` so that your page objects or other files can be accessed by your tests. This method of managing files and libraries is the CommonJS way.

WebdriverIO 8 code snippet screenshot

With ESM you use `import` and `export` to manage files and libraries.

WebdriverIO 8 code snippet screenshot

There are some other differences between them, but for you, the end user, this is the main one. 
This change should not affect your work as CommonJS is still supported. However, if you want to use ES modules then you can now do so. I recommend getting familiar with ESM and how it works before starting to use it. Hopefully, in the near future, there will be additional boilerplates from WebdriverIO on using ESM in your projects https://webdriver.io/docs/boilerplates/.

New Runner for Unit and Component Testing in the Browser

An exciting v8 feature is the new browser runner that allows you to run unit and component tests in an actual/real browser environment. This is going to provide you with a more realistic user interaction with your components. It comes with presets for React, Vue, Svelte, SolidJS among others, and is powered by Vite.js.

Find out more details about this new runner.

New Action Interface

This is a new interface that makes executing various actions much easier. Two new browser commands action and actions have been added. It is now much simpler and type-safe to run the right action, e.g. sending key events to the browser.

WebdriverIO 8 action documentation
WebdriverIO 8 actions documentation

Read more about this in the WebdriverIO API docs.

WebDriver BiDi Support

WebdriverIO is based on the WebDriver protocol, which is a web standard for automating browsers. This means that, with WebdriverIO, your tests are running in a browser that your user uses rather than a browser engine. 

This WebDriver BiDi Support means that whenever new protocol changes happen in Webdriver, you as the user can use it once it’s available in browsers. 
The idea of WebDriver BiDi is to make a new standard protocol for browser automation, which will be based on the bi-directional transport protocol (WebSocket or pipes).

Optional Globals

The WebdriverIO test runner would usually register the browser object or the $ and $$ commands to the global scope. With v8 update, the user can decide if they want to continue attaching these objects and methods to the global scope or prefer importing them directly.

To import them directly you would say : 

import { browser, $, $$, expect } from ‘@wdio/globals’

Importing the $ command allows you to use it from the @wdio/globals:

WebdriverIO 8 global definitions code snippet screenshot

Using Visual Studio Code as my code editor, if I hover over the $ it shows that it is coming as a global import from WebdriverIO:

WebdriverIO 8 global definitions code snippet screenshot

A new configuration property called injectGlobals (defaults: true) handles whether the test runner modifies the global scope or not. If your setup works fine using global objects, no change is needed to update to v8.

WebdriverIO 8 global definitions code snippet screenshot

You don’t have to import from @wdio/globals as it will still work.

Other Updates

Aside from these major updates, documentation has been improved and new API docs around WebdriverIO objects like browser, element, and mock have been introduced. The behavior of relative spec or exclude paths was also fixed so that now specs and exclude paths will be always seen as relative to the config file and –spec arguments, relative from the working directory.
To see all of the details of this latest release, visit the WebdriverIO blog.

Update to WebdriverIO version 8 from version 7

Install a module to help update outdated npm modules

`npm install -g npm-check-updates`

Run `ncu` to show list of outdated npm packages:

WebdriverIO8 update steps command line screenshot

Then run `ncu -u` to upgrade your package.json:

WebdriverIO8 update steps command line screenshot

Then finally run npm install to install new versions:

WebdriverIO8 update steps command line screenshot

I then reran all my tests and they passed successfully.

My thoughts on the version update

WebdriverIO’s version 8 update is a continuation of work by the WebdriverIO team to make the framework more rounded and robust. I like the changes that have been made and I am looking forward to trying out unit component testing with WebdriverIO.

I love that the updates don’t have breaking changes and so this allowed me to upgrade from version 7 to 8. I would recommend that you update your project to the latest version to benefit from the updates that have been made.
If you are interested in learning more about WebdriverIO, check out my WebdriverIO course on Test Automation University. Also, check out this repo with a sample example using WebdriverIO v8.

The post What’s New in WebdriverIO 8 appeared first on Automated Visual Testing | Applitools.

]]>
The Top 10 Test Automation University Courses https://applitools.com/blog/the-top-10-test-automation-university-courses/ Thu, 10 Nov 2022 16:34:00 +0000 https://applitools.com/?p=44406 Test Automation University (also called “TAU”) is one of the best online platforms for learning testing and automation skills. TAU offers dozens of courses from the world’s leading instructors, and...

The post The Top 10 Test Automation University Courses appeared first on Automated Visual Testing | Applitools.

]]>
Test Automation University, powered by Applitools

Test Automation University (also called “TAU”) is one of the best online platforms for learning testing and automation skills. TAU offers dozens of courses from the world’s leading instructors, and everything is available for free. The platform is proudly powered by Applitools. As of November 2022, nearly 140,000 students have signed up! TAU has become an invaluable part of the testing community at large. Personally, I know many software teams who use TAU courses as part of their internal onboarding and mentorship programs.

So, which TAU courses are currently the most popular? In this list, we’ll count down the top 10 most popular courses, ranked by the total number of course completions over the past year. Let’s go!

#10: Selenium WebDriver with Java

Selenium WebDriver with Java course badge
Angie Jones

Starting off the list at #10 is Selenium WebDriver with Java by none other than Angie Jones. Even with the rise of alternatives like Cypress and Playwright, Selenium WebDriver continues to be one of the most popular tools for browser automation, and Java continues to be one of its most popular programming languages. Selenium WebDriver with Java could almost be considered the “default” choice for Web UI test automation.

In this course, Angie digs deep into the WebDriver API, teaching everything from the basics to advanced techniques. It’s a great course for building a firm foundation in automation with Selenium WebDriver.

#9: Python Programming

Python Programming course badge
Jess Ingrassellino

#9 on our list is one of our programming courses: Python Programming by Jess Ingrassellino. Python is hot right now. On whatever ranking, index, or article you find these days for the “most popular programming languages,” Python is right at the top of the list – often vying for the top spot with JavaScript. Python is also quite a popular language for test automation, with excellent frameworks like pytest, libraries like requests, and bindings for browser automation tools like Selenium WebDriver and Playwright.

In this course, Dr. Jess teaches programming in Python. This isn’t a test automation course – it’s a coding course that anyone could take. She covers both structured programming and object-oriented principles from the ground up. After two hours, you’ll be ready to start coding your own projects!

#8: API Test Automation with Postman

API Test Automation with Postman course badge
Beth Marshall

The #8 spot belongs to API Test Automation with Postman by Beth Marshall. In recent years, Postman has become the go-to tool for building and testing APIs. You could almost think of it as an IDE for APIs. Many test teams use Postman to automate their API test suites.

Beth walks through everything you need to know about automating API tests with Postman in this course. She covers basic features, mocks, monitors, workspaces, and more. Definitely take this course if you want to take your API testing skills to the next level!

#7: Introduction to Cypress

Intro to Cypress course badge
Gil Tayar

Lucky #7 is Introduction to Cypress by Gil Tayar. Cypress is one of the most popular web testing frameworks these days, even rivaling Selenium WebDriver. With its concise syntax, rich debugging features, and JavaScript-native approach, it’s become the darling end-to-end test framework for frontend developers.

It’s no surprise that Gil’s Cypress course would be in the top ten. In this course, Gil teaches how to set up and run tests in Cypress from scratch. He covers both the Cypress app and the CLI, and he even covers how to do visual testing with Cypress.

#6: Exploring Service APIs through Test Automation

Exploring Services APIs through Test Automation course badge
Amber Race

The sixth most popular TAU course is Exploring Service APIs through Test Automation by Amber Race. API testing is just as important as UI testing, and this course is a great way to start learning what it’s all about. In fact, this is a great course to take before API Test Automation with Postman.

This course was actually the second course we launched on TAU. It’s almost as old as TAU itself! In it, Amber shows how to explore APIs first and then test them using the POISED strategy.

#5: IntelliJ for Test Automation Engineers

IntelliJ for Test Automation Engineers course badge
Corina Pip

Coming in at #5 is IntelliJ for Test Automation Engineers by Corina Pip. Java is one of the most popular languages for test automation, and IntelliJ is arguably the best and most popular Java IDE on the market today. Whether you build frontend apps, backend services, or test automation, you need proper development tools to get the job done.

Corina is a Java pro. In this course, she teaches how to maximize the value you get out of IntelliJ – and specifically for test automation. She walks through all those complicated menus and options you may have ignored otherwise to help you become a highly efficient engineer.

#4: Java Programming

Java Programming course badge
Angie Jones

Our list is winding down! At #4, we have Java Programming by Angie Jones. For the third time, a Java-based course appears on this list. That’s no surprise, as we’ve said before that Java remains a dominant programming language for test automation.

Like the Python Programming course at spot #9, Angie’s course is a programming course: it teaches the fundamentals of the Java language. Angie covers everything from “Hello World” to exceptions, polymorphism, and the Collections Framework. Clocking in at just under six hours, this is also one of the most comprehensive courses in the TAU catalog. Angie is also an official Java Champion, so you know this course is top-notch.

#3: Introduction to JavaScript

Introduction to Cypress course badge
Mark Thompson

It’s time for the top three! The bronze medal goes to Introduction to JavaScript by Mark Thompson. JavaScript is the language of the Web, so it should be no surprise that it is also a top language for test automation. Popular test frameworks like Cypress, Playwright, and Jest all use JavaScript.

This is the third programming course TAU offers, and also the top one in this ranking! In this course, Mark provides a very accessible onramp to start programming in JavaScript. He covers the rock-solid basics: variables, conditionals, loops, functions, and classes. These concepts apply to all other programming languages, too, so it’s a great course for anyone who is new to coding.

#2: Web Element Locator Strategies

Web Element Locator Strategies course badge
Andrew Knight

I’m partial to the course in second place – Web Element Locator Strategies by me, Andrew Knight! This was the first course I developed for TAU, long before I ever joined Applitools.

In whatever test framework or language you use for UI-based test automation, you need to use locators to find elements on the page. Locators can use IDs, CSS selectors, or XPaths to uniquely identify elements. This course teaches all the tips and tricks to write locators for any page, including the tricky stuff!

#1: Setting a Foundation for Successful Test Automation

Setting a Foundation for Successful Test Automation course badge
Angie Jones

It should come as no surprise that the #1 course on TAU in terms of course completions is Setting a Foundation for Successful Test Automation by Angie Jones. This course was the very first course published to TAU, and it is the first course in almost all the Learning Paths.

Before starting any test automation project, you must set clear goals with a robust strategy that meets your business objectives. Testing strategies must be comprehensive – they include culture, tooling, scaling, and longevity. While test tools and frameworks will come and go, common-sense planning will always be needed. Angie’s course is a timeless classic for teams striving for success with test automation.

What can we learn from these trends?

A few things are apparent from this list of the most popular TAU courses:

  1. Test automation is clearly software development. All three of TAU’s programming language courses – Java, JavaScript, and Python – are in the top ten for course completions. A course on using IntelliJ, a Java IDE, also made the top ten. They prove how vital good development skills are needed for successful test automation.
  2. API testing is just as important as UI testing. Two of the courses in the top ten focused on API testing.
  3. Principles are more important than tools or frameworks. Courses on strategy, technique, and programming rank higher than courses on specific tools and frameworks.

What other courses are popular?

The post The Top 10 Test Automation University Courses appeared first on Automated Visual Testing | Applitools.

]]>
Top 10 Most Popular Free Test Automation Courses of 2021 https://applitools.com/blog/top-10-popular-free-test-automation-courses-2021/ Thu, 18 Nov 2021 16:44:26 +0000 https://applitools.com/?p=32633 Thankfully, there are many free high quality Test Automation courses today. Here are the top testing courses for 2021 being taken by leading test engineers.

The post Top 10 Most Popular Free Test Automation Courses of 2021 appeared first on Automated Visual Testing | Applitools.

]]>

The days of not being able to find a high quality Test Automation course for free are in the past – in no small part, we’re proud to say, due to Test Automation University (TAU). Today you can find free courses on web, mobile, API, and codeless test automation frameworks. Courses cover tools like Selenium, Cypress and Jenkins, and languages like Java, JavaScript, Python, Ruby, Swift and more – with new course releases every month.

TAU offers more than a dozen learning paths to guide you in your journey, and all courses are taught by leading testing experts.

Celebrate with 100,000 of Your Best Testing Friends

Join the party! Over 100,000 students have joined TAU already, and to celebrate we’re throwing a homecoming bash. Come join us on December 1st  and 2nd for a two day virtual conference with expert-led sessions and workshops, plus a live DJ, talent show and more ?.

Top 10 Free Test Automation Courses Taken by Test Engineers

Tens of thousands of free courses have been completed at TAU this year by leading test engineers. Here are the top testing courses for 2021:

  1. Setting a Foundation for Successful Test Automation

    The Setting a Foundation for Successful Test Automation course, taught by Angie Jones, was the most popular course for 2020 and held that position through 2021 as well. As opposed to diving into code and automation tools, this course explores the initial considerations for starting a new test automation initiative and focuses on making sure you set up a culture for success. With the majority of test automation projects doomed for failure, this course is a much-needed resource to help change that. This course is highly recommended for anyone (managers, developers, testers, product owners) who will be involved in a test automation initiative.
  2. Web Element Locator Strategies

    The second most popular course of the 2021 was Andy Knight’s Web Element Locator Strategies course which has seen a jump from 4th place in 2020. This course gives a fantastic and in-depth overview of the Document Object Model (DOM) – detailing how to explore the HTML that makes up a web page to find reliable locators for test automation. Andy covers the primary locator strategies as well as provides a thorough look into CSS selectors and XPath.
  3. Java Programming

    Falling down 1 spot from 2020 is Angie Jones’ Java Programming course. This course is perfect for those who are new to programming and want to learn the language. The material is not specific to test automation, but instead teaches Java in general so that you become a true Java programmer and can use this skill for any related programming role, including an automation engineer. Students particularly love that this course is filled with lots of examples to demonstrate the concepts in practice, and even includes optional exercises for you to try your own!
  4. Introduction to JavaScript ?

    New to the top 10 list is Mark Thompson’s Introduction to JavaScript. This course debuted on Test Automation University in the Fall of 2020 and has certainly made a splash, rising up to the #4 spot of the year. With JavaScript automation tools commanding more and more of the market share, it’s no surprise that automation engineers are eager to pick up this skill.
  5. IntelliJ for Test Automation Engineers

    Corina Pip’s IntelliJ course climbs one spot in popularity this year. The course covers the various capabilities of IntelliJ and how to efficiently use this editor for Java test automation projects. Even experienced automators may learn a trick or two!
  6. Exploring Service APIs through Test Automation

    Appearing again on the top 10 list is Amber Race’s introduction to API testing course! Amber provides real-world techniques to tame your tangled and messy APIs. Learn about the P.O.I.S.E.D. testing heuristic which is a great approach to thorough test coverage of your API.
  7. Selenium WebDriver with Java

    The Selenium WebDriver course by Angie Jones remains in the top 10 but has taken a fall from the third most popular course of 2020. This free Selenium tutorial provides a very comprehensive guide on how to automate testing with WebDriver in Java, complete with optional independent exercises to allow you to practice what you’ve learned.
  8. Introduction to Cypress ?

    New to the top 10 list is the free Cypress tutorial taught by Gil Tayar. While not new to the Test Automation curriculum, this course has garnered quite a bit of interest lately as Cypress’ popularity has exploded.
  9. Cucumber with Java ?

    While Giridhar Rajkumar’s Cucumber with Java course was added last year, it gained a lot of popularity in 2021. This course is perfect for those who are practicing BDD and want to validate their specifications via automated testing.
  10. Continuous Integration with Jenkins ?

  11. Another new entry for 2021 is Aparna Gopalakrishnan’s CI course with Jenkins. This course was a late addition to TAU in 2020 and apparently was right on time! As automation engineers embrace CI/CD, this course gets them up and running!

Our Observations

We last compiled our list of top testing courses from 2020, and there have been a few changes! 

  • JavaScript rising ⬆: “Introduction to JavaScript” has risen to become one of the most popular courses after debuting late last year, settling in at #4. Clearly, there is strong demand for JavaScript knowledge in the testing community with tools like Cypress growing in popularity. We definitely recommend that you add this one to your 2022 learning goals to keep up with the market trends.
  • Java still dominant but arguably declining ?: Last year, the #2 and #3 courses we saw were “Java Programming” and “Selenium WebDriver with Java,” respectively. Both are still on the list, but now at #3 and #7. On the other hand, “IntelliJ for Test Automation Engineers” climbed one spot this year, and “Cucumber with Java” is a new entrant on the top ten list. So Java still has a dominant 40% of the top 10 courses this year. We’re eager to see if the JavaScript programming course will surpass the Java programming course in 2022. Also, while not making the top 10 list, the Python Programming course came in at #11 and missed the list by a mere 12 students.
  • Selenium vs Cypress ?: This is a big question that we’ve been talking a lot about. While Selenium Java still has a strong position in our top 10, this year “Introduction to Cypress” debuts on the list just one spot behind it, and by less than 100 students!
  • API testing is still in demand: The “Exploring Service APIs through Test Automation” course was released in January of 2019 and remains in the top 10 courses year after year – proving that API test automation skills are highly sought after.

2022 and Beyond

As you’re planning your education initiatives for 2022, keep these amazing, freely available resources in mind. In addition to these 10, there are many more courses available and new ones being released every month. To be notified of new course releases, register at Test Automation University!

The post Top 10 Most Popular Free Test Automation Courses of 2021 appeared first on Automated Visual Testing | Applitools.

]]>
A Guide to Appium – Our Top 10 Appium Tutorials in 2021 https://applitools.com/blog/top-appium-tutorials-guides/ Wed, 21 Jul 2021 20:26:20 +0000 https://applitools.com/?p=30038 In this collection of free Appium tutorials, guides and courses, find our most popular Appium articles so far in 2021 to help you improve your mobile test automation skills.

The post A Guide to Appium – Our Top 10 Appium Tutorials in 2021 appeared first on Automated Visual Testing | Applitools.

]]>

In this collection of free Appium tutorials, guides and courses, find our most popular Appium articles so far in 2021 to help you improve your mobile test automation skills.

Are you looking to up your mobile test automation game? Appium is a powerful open-source testing framework that you should be acquainted with. At Applitools, we love all things test automation, and we’ve been thinking and writing about Appium for years. In this guide, we’ve collected all our best free tutorials, comparisons and courses in one place for you.

The pieces are ranked by the traffic they’ve received so far in 2021 – collectively they’ve been viewed by many thousands of you in the last six months or so.

Whether you’re a beginner or an experienced Appium user, you’re sure to find something new and useful here. We hope you enjoy this list, and if there’s something we missed that you wish we’d cover in the second half of 2021, let us know @applitools!

What is Appium?

First, a brief introduction.

Appium is one of the most popular open-source test automation frameworks for mobile testing – the testing of native mobile apps, mobile web apps and hybrid apps for Android, iOS and Windows. It is cross-platform and compatible with numerous development languages, allowing you to write tests against multiple platforms in the language of your choice and reuse the code. It was developed in 2011 by Dan Cuellar and Jason Huggins, and today has about 14K stars on GitHub with very regular updates (the last commit was 4 hours ago at time of writing).

You can get an overview of what Appium is all about here in their docs.

Top 10 Appium Articles

10. Deep-hacking Appium for Fun and Profit

In this on-demand webinar (with accompanying slides), Applitools Senior Director of R&D, Daniel Puterman, dives deep into the internals of Appium’s code. He and his team submitted a major pull request when they added a feature to Appium, and Daniel shares his experiences doing so. This webinar took place a few years ago but it’s still a relevant and fascinating look into the structure and architecture of Appium.

9. Jonathan Lipps: Easy Parallel Visual Testing with Appium

Jonathan Lipps, who leads the Appium project (among other things), led this on-demand webinar to help you understand how to easily parallelize visual testing with Appium across all Android devices at once using Genymotion Cloud and Applitools. If you’re wondering how you can perform visual testing for mobile apps at scale, this is a great one to check out.

8. Test Automation for Android Wearable Devices with Appium

When I said we’ve been talking about Appium for years, I meant it, and this classic post is now approaching 7 years young. That this post remains among our more popular Appium posts after all that time is a testament to the enduring relevance of the techniques it describes and the topic itself. Take a look at this post and the demo video to get a sense of how wearable devices can be tested with Appium.

7. Install Appium the Easy Way

Getting started with Appium for the first time can be a little daunting, as there are many dependencies to keep track of and set up. In this post, Anand Bagmar shares a custom script he wrote to automate the process for you so that you don’t have to do each of these individually. Check it out for a simple and easy way to get going with Appium quickly.

6. Future of Testing: Mobile Recap – All About Mobile Test Automation

A few months ago Applitools hosted a great “Future of Testing: Mobile” event. In this recap, you can read about (and watch) key talks about Appium 2.0, the state of mobile frameworks generally, and much more. You can watch all the videos here (and sidenote: our next “Future of Testing: Mobile” event takes place on August 10th, so register now to catch it live!).

5. Using Genymotion, Appium & Applitools to visually test Android apps

Mobile testing can be a challenge. Android in particular can seem daunting, with its fractured nature yielding numerous devices, form factors and operating system versions that need to be tested to achieve full coverage. In this tutorial, you’ll learn how you can use Genymotion’s cloud-based Android emulation to run Appium tests rapidly on a range of Android devices, and how you can easily combine it with Applitools as well to give you full visual coverage.

4. Learning Appium Visual Testing on TAU

In this recap of a popular Test Automation University course, Automated Visual Testing with Appium, which is taught by Jonathan Lipps (who we also talked about in #9), you’ll get a crash course on visual testing with Appium. You’ll learn the basic of Appium testing and explore multiple alternatives for visual testing. This is a great written recap that is easy to follow along with, so check it today to get started with visual testing, and don’t forget to check out the full course if you’re curious for more.

3. Visual Testing with Applitools, Appium, and Amazon AWS Device Farm

Remember back at #5 when we talked about the challenge of testing on mobile across all devices, form factors and operating system versions? In this popular article, you’ll learn another way to tackle the issue using Amazon’s AWS Device Farm. The solution is cross-platform too, so it goes beyond just Android. This tutorial is on the technical side, and you’ll find a number of helpful and detailed code samples and screenshots to guide you through the process step by step.

2. Getting Started with Appium 2.0 Beta

Appium 2.0 is coming soon, and the betas have been coming out quickly as the official release draws closer. If you’re looking to get started with Appium 2.0 early, this guide is for you. You’ll find tips for installing the Appium 2.0 server, working with the newly decoupled drivers, incorporating the latest plugins and more. Though things move fast and a beta version or two has been released since it was published in February, it’s still extremely relevant and one of our most popular Appium posts for a reason.

1. Appium vs Espresso vs XCUITest – Understanding how Appium Compares to Espresso & XCUITest

Appium, Espresso and XCUITest logos next to a trophy

Our most popular post around Appium, this one seeks to answer a question that’s been around since the dawn of mobile apps: What mobile test automation framework should I use for my app? This article compares Appium (cross-platform, open-source) with two of the most widely-used test automation frameworks in Espresso (just Android, developed by Google) and XCUITest (just iOS, developed by Apple). It provides a detailed overview of the pros and cons for each of these frameworks. If you’re looking to understand these frameworks better or just to figure out how to test your own app, this highly-visited post is for you.

Bonus! Top 3 Free Courses ?

Looking to expand your knowledge around Appium but want something more in-depth than an individual article or tutorial? Why don’t you take a free course at the Test Automation University? Here are the top three courses you may want to consider:

Conclusion

Appium is a popular open-source framework for mobile test automation. It’s a powerful and versatile tool, and definitely one that we’re watching closely as it develops. How do you use Appium today, and what are you looking forward to in the next release? Let us know @applitools.

The post A Guide to Appium – Our Top 10 Appium Tutorials in 2021 appeared first on Automated Visual Testing | Applitools.

]]>
Test Automation University is now 75,000 students strong https://applitools.com/blog/tau-contributors/ Tue, 23 Feb 2021 09:32:28 +0000 https://applitools.com/?p=27058 What does it take to make a difference in the lives of 75,000 people? Applitools has reached 75,000 students enrolled in Test Automation University, a global online platform led by...

The post Test Automation University is now 75,000 students strong appeared first on Automated Visual Testing | Applitools.

]]>

What does it take to make a difference in the lives of 75,000 people?

Applitools has reached 75,000 students enrolled in Test Automation University, a global online platform led by Angie Jones that provides free courses on things test automation. Today, more engineers understand how to create, manage, and maintain automated tests.

What Engineers Have Learned on TAU

Engineers have learned how to automate UI, mobile, and API tests. They have learned to write tests in specific languages, including Java, JavaScript, Python, Ruby, and C#. They have applied tests through a range of frameworks including Selenium, Cypress, WebdriverIO, TestCafe, Appium, and Jest.

75,000 engineers would exceed the size of some 19,000 cities and towns in the United States. They work at large, established companies and growing startups. They work on every continent with the possible exception of Antarctica.

What makes Test Automation University possible? Contributors, who create all the coursework.

Thank You, Instructors

As of this writing, Test Automation University consists of 54 courses taught by 39 different instructors. Each instructor has contributed knowledge and expertise. You can find the list of authors on the Test Automation University home page.

Here are the instructors of the most recently added courses to TAU.

AuthorCourseDetailsChapters
Profile Name
Corina Pip
JUnit 5
Learn to execute and verify your automated tests with JUnit 517
Profile Name
Matt Chiang
WinAppDriver
Learn how to automate Windows desktop testing with WinAppDriver10
Profile Name
Marie Drake
Test Automation for Accessibility
Learn the fundamentals of automated accessibility testing8
Profile Name
Lewis Prescott
API Testing In JavaScript
Learn how to mock and test APIs in JavaScript5
Profile Name
Andrew Knight
Introduction to pytest
Learn how to automate tests using pytest10
Profile Name
Moataz Nabil
E2E Web Testing with TestCafe
Learn how to automate end-to-end testing with TestCafe15
Profile Name
Aparna Gopalakrishnan
Continuous Integration with Jenkins

Learn how to use Jenkins for Continuous Integration5
Profile Name
Moataz Nabil
Android Test Automation with Espresso
Learn how to automate Android tests with Espresso11
Profile Name
Mark Thompson
Introduction to JavaScript
Learn how to program in JavaScript6
Profile Name
Dmitri Harding
Introduction to NightwatchJS
Learn to automate web UI tests with NightwatchJS8
Profile Name
Rafaela Azevedo
Contract Tests with Pact
Learn how to implement contract tests using Pact8
Profile Name
Simon Berner
Source Control for Test Automation with Git
Learn the basics of source control using Git8
Profile Name
Paul Merrill
Robot Framework
Learn to use Robot Framework for robotic process automation (RPA)7
Profile Name
Brendan Connolly
Introduction to Nunit
Learn to execute and verify your auotmated tests with nUnit8
Profile Name
Gaurav Singh
Automated Visual Testing with Python
Learn how to automate visual testing in Python with Applitools11

Thank You, Students

As engineers and thinkers, the students continue to expand their knowledge through TAU coursework.

Each course contains quizzes of several questions per chapter. Each student who completes a course gets credit for questions answered correctly. Students who have completed the most courses and answered the most questions successfully make up the TAU 100.

Some of the students who lead on the TAU 100 include:

StudentCreditsRank
Profile Name Osanda Nimalarathna
Founder @MaxSoft
Ambalangoda Sri Lanka
44,300
Griffin
Profile Name Patrick Döring
Sr. QA Engineer @Pro7
Munich Germany
44,300
Griffin
Profile NameDarshit Shah
Sr. QA Engineer @N/A
Ahmedabad India
40,250Griffin
Profile NameAdha Hrustic
QA Engineer @Klika
Bosnia and Herzegovina
39,575Griffin
Profile NameHo Sang
Principal Technical Test Engineer @N/A
Kuala Lumpur Malaysia
38,325Griffin
Profile Name Gopi Srinivasan
Senior SDET Lead @Trimble Inc
Chennai India
38,075Griffin
Profile Name Ivo Dimitrov
Sr. QA Engineer @IPD
Sofia Bulgaria
37,875Griffin
Profile Name Malith Karunaratne
Technical Specialist – QE @Pearson Lanka
Sri Lanka
36,400Griffin
Profile Name Stéphane Colson
Freelancer @Testing IT
Lyon France
35,325Griffin
Profile NameTania Pilichou
Sr. QA Engineer @Workable
Athens Greece
35,025Griffin

Join the 75K!

Get inspired by the engineers around the world who are learning new test automation skills through Test Automation University.

Through the courses on TAU, you’ll not only learn how to automate tests, but more importantly, you’ll learn to eliminate redundant tests, add automation into your continuous integration processes, and make your testing an integral part of your build and delivery processes.

Learn a new language. Pick up a new testing framework. Know how to automate tests for each part of your development process – from unit and API tests through user interface, on-device, and end-to-end tests.

No matter what you learn, you will become more valuable to your team and company with your skills on how to improve quality through automation.

The post Test Automation University is now 75,000 students strong appeared first on Automated Visual Testing | Applitools.

]]>
More than a Hackathon to me – Ivana Dilparic https://applitools.com/blog/holiday-hackathon-dilparic/ Thu, 11 Feb 2021 00:20:27 +0000 https://applitools.com/?p=26823 This experience has turned me into advocate for Applitools. I see a lot of potential of this kind of testing. I recognize the benefit for the current project my team is working on. And looking back I see there were many cases over the years where it would have helped QA Engineers I have worked with.

The post More than a Hackathon to me – Ivana Dilparic appeared first on Automated Visual Testing | Applitools.

]]>

I remember the feeling when I submitted my entry for Holiday Shopping Hackathon. Sure, there is always a bit of relief once you wrap something up. But mostly I was just proud that I managed to handle each task from Hackathon instructions. 

I wasn’t eyeing any of the prices nor expected to ever hear back from judges. I simply saw Applitools Holiday Shopping Hackathon as a learning opportunity and went for it. This sense of pride was coming from having my learning mission accomplished. 

I see a lot of potential of this kind of testing. I recognize the benefit for the current project my team is working on.

–Ivana dilparic

But Hackathon ended up being much more for me, besides getting fine JavaScript and Cypress practice and getting introduced to this amazing visual testing tool, now I also have lifetime bragging rights and a bit of self esteem boost to keep up with my new tech goals.

Why did I need new tech goals in the first place?

I have been in managerial and leadership roles in IT industry for over 12 years. Even though I hold Master’s degree in Computer Science and my first role after graduation was as Software Engineer, 12 years is a lot of time to not be actively developing software.   

All this time I have been making constant efforts to build and enhance an array of soft skills, to accumulate industry specific knowledge (for at least 5 industries) and to be able to actively participate in tech discussions. It turned out that this was not enough, at least not for the tech part, as I started getting feedback that I am “behind with the tech side”. 

One thing was clear, I needed to craft a plan which will turn the things around.

The things I tried

I know by now that the best way to learn something is to start practicing it actively and to combine theory with practice. My work is not leaving me with much room for something like getting hands on experience with new cool frameworks. So all the learning and practicing had to happen in the evenings and over the weekend.

I subscribed to several podcasts and blogs and I handpicked some development courses which seemed related to technologies currently used with my team. I was investing a lot of time and was absolutely sure that there is no significant improvement. Courses I choose were either focused on very basic examples or were too demanding in terms of mandatory coursework. Even if I managed to stretch my time and cover self-assignments, whatever I learned there would fade away shortly because I was not actively using it. 

Then came Hackathon

The hackathon just sounded like a good idea. The instructions were very specific; it was very clear what was expected from participants. Timeframe for submission was very generous – since learning about Hackathon, I had several weeks to complete my submission, so I didn’t need to pause on rest of my life and get behind with the sleep (something I have been associating with Hackathons until now).

For Cypress part I relied on Introduction to Cypress course from Test Automation University. Mr. Gil Tayar did a great job!

Visual testing in Applitools

I admit that I ignored the manual and relied on exploring Applitools myself. Overall, I find the app to be intuitive and easy to use. All information about test runs is very well structured and easy to navigate through. 

Multi-browser testing worked like a charm. It took me no time to set this up, and speed of multi-browser testing was more than I hoped for.

For one of Hackathon tasks, I figured out how bugs work. That was straight forward. Potential issues were very obviously highlighted. They scream action.

Another task was related to root causes. I didn’t figure this one in first attempt, but I have obviously excelled on that second try.

Visual testing before I knew Applitools

I recall scenarios where QA team on my projects was using Selenium to automate tests. Idea was to automate UI tests as well. 

There were too many visual issues which tests were not detecting. Even the issues important for the end user were being undetected by these tests. QA Engineers were explaining the causes for this, coming up with workarounds how to increase the test coverage with limited time investments. This didn’t sit that well with the client.

Conclusion

What can I say, this experience has turned me into advocate for Applitools. I see a lot of potential of this kind of testing. I recognize the benefit for the current project my team is working on. And looking back I see there were many cases over the years where it would have helped QA Engineers I have worked with. It shortens the time to set up UI tests and it probably shortens running time. Plus, it provides better coverage. 

Also, I find Test Automation University to be one of the best things that happened in testing community lately. Thank you for doing this, Applitools!

As for my personal development, Hackathon was a great boost for me. It helped me carry on with my learning trajectory. And I expect more Hackathons in my future.

Lead image by Antonis Kousoulas from Pixabay

The post More than a Hackathon to me – Ivana Dilparic appeared first on Automated Visual Testing | Applitools.

]]>
Top 10 Most Popular Free Test Automation Courses of 2020 https://applitools.com/blog/top-10-most-popular-free-test-automation-courses-of-2020/ Tue, 22 Dec 2020 22:12:36 +0000 https://applitools.com/?p=25237 What's the top 10 test automation courses people took this year to enhance their skills? Find out here!

The post Top 10 Most Popular Free Test Automation Courses of 2020 appeared first on Automated Visual Testing | Applitools.

]]>

Unless you’ve been living under a rock, surely you’ve heard of Test Automation University (TAU) – the online platform that provides free courses on all things test automation! TAU provides more than 50 courses on web, mobile, API, and codeless test automation frameworks in Java, JavaScript, Python, Ruby, and Swift – with new course releases every few weeks.

With several learning paths to guide you and courses taught by testing experts, TAU has become the premier place to find what you need when you need it.

Here are the top 10 courses that engineers have taken this year:

1. Setting a Foundation for Successful Test Automation

The Setting a Foundation for Successful Test Automation course is taught by Angie Jones and explores the initial considerations for starting a new test automation initiative. What’s unique about this course is that it doesn’t dive into programming or tools. No, instead it focuses on making sure you set up a culture for success. With the majority of test automation projects doomed for failure, this course is a much needed resource to help change that. I highly recommend this course for anyone (managers, developers, testers, product owners) who will be involved in a test automation initiative.

2. Java Programming

The Java Programming course is also taught by Angie Jones and has been an excellent course for those wanting to learn the language. This course is not specific to test automation, but instead teaches Java in general so that you become a true Java programmer and can use this skill for any related programming role, including an automation engineer. The material covered in the course is equivalent to the curriculum of a full semester of Java programming at a university and is filled with lots of examples to demonstrate the concepts in practice, and even includes optional exercises for you to try your own!

3. Selenium WebDriver with Java

Angie Jones also teaches the free Selenium WebDriver tutorial which is a very comprehensive guide on how to automate testing with Selenium. The course is a full tutorial on Selenium WebDriver going from 0 to 100 – introductory to advanced. It also includes optional independent exercises to allow you to practice what you’ve learned.

Image

4. Web Element Locator Strategies

Andy Knight teaches the Web Element Locator Strategies course which gives a fantastic and in-depth overview of the Document Object Model (DOM) – detailing how to explore the HTML that makes up a web page to find reliable locators for test automation. Andy covers the primary locator strategies as well as provides a thorough look into CSS selectors and XPath.

5. Exploring Service APIs through Test Automation

This course by Amber Race is an excellent introduction to API testing! Amber provides real-world techniques to tame your tangled and messy APIs. Learn about the P.O.I.S.E.D. testing heuristic which is a great approach to thorough test coverage of your API.

6. IntelliJ for Test Automation Engineers

In this course, Corina Pip teaches you about the various capabilities of IntelliJ and how to efficiently use this editor for Java test automation projects. Even experienced automators may learn a trick or two!

7. Test Automation in DevOps

World-renowned author and testing legend, Lisa Crispin, teaches the Test Automation in DevOps course. Lisa covers some basic concepts and terminology about DevOps, continuous delivery, and continuous deployment as well as techniques for operability and learning from production use.

https://twitter.com/lorainegarutti/status/1328426336197734401

8. The Whole Team Approach to Continuous Testing

Principal Agile Tester, Lisi Hocke, covers how to tackle test automation when there are no automation experts on the team. She reveals the secrets of pairing, mobbing, and collaborating with developers and others on the team to make continuous testing a reality!

9. Introduction to TestNG

TestNG is a test framework which allows you to execute tests. In this 9-chapter course taught by Rex Jones II, you’ll learn about assertions, annotations, attributes, data-driven testing, and cross-browser testing.

10. Codeless Test Automation with Selenium IDE

Selenium IDE has gotten a complete makeover and Dave Haeffner, one of the Selenium IDE contributors, teaches a course covering the new features of the revamped tool, such as decision structures, loops, test case reuse, debugging, CI, and plugins!

2021 and Beyond

As you’re planning your education initiatives for 2021, keep these amazing, freely available resources in mind. In addition to these 10, there are many more free courses available and new ones being released every few weeks. To be notified of new course releases, register at Test Automation U!

The post Top 10 Most Popular Free Test Automation Courses of 2020 appeared first on Automated Visual Testing | Applitools.

]]>