Where To Learn Test Programming

Applitools
6 min readApr 6, 2020

What do you do when you have lots of free time on your hands? Why not learn test programming strategies and approaches?

When you’re looking for places to learn test programming, Test Automation University is a great place to consider. From API testing through visual validation, you can hone your skills and learn new approaches on TAU.

We introduced three new TAU courses through this past quarter, and each of them can help you expand your knowledge, learn a new approach, and improve your craft as a test automation engineer. They are:

  • IntelliJ for Test Automation Engineers (3hrs 41min)
  • Cucumber with JavaScript (1hr 22 min)
  • Python Programming (2 hrs)

Each of these courses can give you a new set of skills.

Let’s look at each in a little detail….

IntelliJ for Test Automation Engineers

Corina Pip teaches this course on IntelliJ for Test Automation Engineers. This course makes sense for anyone asking,

“How does my approach and toolset compare with what other people do?”

Corina explains the details of using IntelliJ IDEA for test automation. The 12 chapter course takes 3 hours and 41 minutes to complete, and the course covers the full use of IntellJ IDEA. Her first five chapters involve setup and use of IntelliJ. These are:

  • Installation — you can use the paid version, or the free community version
  • Create and import projects
  • Menus
  • Screens
  • Settings

At the end of these chapters, you have a good idea of where to find things in IntelliJ.

Then, Corina jumps into details about using IntelliJ for test and test automation:

  • Create and edit tests
  • Running tests
  • Debugging tests
  • Code analysis
  • Version Control System integration
  • Additional tips
  • Updating and plugins

The course covers lots of detail. I think you will appreciate test contents in Chapters 6 and 7. Chapter 6 — create and edit tests, contains lots of critical testing tasks:

  1. Creating a package and test class
  2. Building the test methods
  3. Creating fields and variables
  4. Calling methods and jumping to source
  5. Auto import class reformat
  6. Renaming methods and variable

Chapter 7 also covers critical testing tasks, including:

  1. Running a package from the project screen
  2. Rerunning tests
  3. Running tests from the editor and configurations
  4. Pin, fixing tests and rerunning

By the time you get through Chapter 10, you’ll know how to link your tests back to your version controls system (Corina shows examples with Git, but you can use your favorite). The last chapters help you see how to use IntelliJ on an ongoing basis, as packages, add-ons, and the entire IDE receive updates periodically.

If you’re not using automation today, this course provides a great framework. If you are using another approach, Corina will give you some way to compare your results with what she does.

Cucumber with JavaScript

Photo by PhotoMIX-Company–1546875

Do you want to learn test programming for behavior-driven development (BDD)?

Gavin Samuels teaches Cucumber with JavaScript. He focuses this course on BDD, Gherkin, Cucumber, and JavaScript.

Gavin’s first chapter covers BDD in detail. He covers the value of BDD to your organization:

  • Improved collaboration
  • A common language for the product owner, tester and developer
  • Silos break down as team members understand each other’s roles and responsibilities
  • The common language builds a shared team understanding of the requirements
  • Examples used in design become artifacts used in development and test

In his second chapter, Gavin covers Gherkin — a syntax for describing a certain behavior. Each entry provides details for an example or scenario involving a specific feature and condition — followed by a Given/When/Then set of inputs and result (Given state, When input happens, Then act to create a specific result). This chapter contains the guts of the thought process for BDD. Spend time going through his examples, because the more richly you think things through and specify scenarios in Gherkin, the more likely you can create both usable and reusable code.

The third chapter covers Cucumber. Cucumber supports BDD and can execute Gherkin statements Gavin shows how you can use BDD and Cucumber — or misuse it — in your environment. Gavin lists out the skills you need for the rest of the course:

  • Java (he shows you where to get Oracle Java)
  • JavaScript (he has you install node.js and npm)
  • Webdriver.io — you need some knowledge.
  • Knowledge of regular expressions
  • A text editor

In the last three chapters, you actually use Cucumber to build tests. Chapter 4 shows you how to set up all the code you have installed. Chapter 5 runs through actual test scenarios. And, finally, Chapter 6 shows you how to add visual validation with Applitools.

Python for Test Automation

Photo by Christina Morillo

Yes, you could get a book. Or, you could take a class. And why take just a generic language class when you can learn Python for a specific use — like, say learn test programming with Python?

Jess Ingrassellino teaches the Python for Test Automation programming class.

If you want to learn Python for test automation, take this course. In the end, you can read, understand, and review Python code. What’s more, you can read, write and understand unit tests, write scripts for different types of testing, create and modify Python/Selenium UI tests, understand security scans, and understand accessibility scans in Python.

Her course looks like a traditional programming course. In fact, if you read the titles of her chapters, you would wonder how it differs from any other language course. Especially in the last chapter, “Inheritance, Multiple Inheritance, and Polymorphism”, which you might think presents itself as just object-oriented detail. But, in fact, her focus on language helps you understand how you can use Python, or work with others who use Python, in your everyday testing.

Each of the chapters incorporates the idea that you might be testing some parts of the code. She incorporates examples as part of the course, so you can see how to create tests yourself — or how to read tests written by others.

While compact, this course covers key ideas in using Python — starting from installing Python and the Pycharm IDE to creating tests to account for inheritance, multiple inheritance, and polymorphism.

Conclusion

As I find myself with more time on my hands, I expect to take these courses really soon. And, I want to learn test programming skills.

I like the fact that I can learn Python for testing — rather than taking a general language course. I take my programming languages like foreign languages — I’d rather learn French so I can find the lavatory now, and explicate the poetry of Guy de Maupassant sometime in the future.

As a recovering product manager, I am looking forward to seeing how BDD helps developers take my product requirements and turn them into development and test code. So, I’ll make time for Gavin’s course soon.

And, finally, I love seeing how other people make use of the tools they prefer for testing, so I can’t wait to take Corina’s course.

Are you looking for other courses? We have over 35 free courses on Java, JavaScript, C#, Cypress, Selenium IDE, Mocha, Chai… find all of them at Test Automation University.

For More Information

Originally published at https://applitools.com.

--

--

Applitools

Deliver visually perfect web and mobile apps with AI-powered end-to-end visual testing & monitoring. Get started, free: http://bit.ly/ApplitoolsFree