30-minutes Test Automation Coaching for $1
Learn Web Test Automation from an accomplished Test Automation and Continuous Testing coach
I receive requests for help on test automation or continuous testing regularly via Email, website (my company or Leanpub book sites), Twitter or LinkedIn. The most common request is to assist in writing Selenium tests for their own app as shown in my article: Step by Step showing how to learn to write raw Selenium WebDriver test scripts in minutes.
Due to the demand, I have just announced that I will offer 30-min coaching session for $1 (limited to web apps using Selenium WebDriver). From my perspective, it is a free session (no financial gain for me. See below for the reasons for charging $1), with no strings attached.
For people prefer self-learning,
- eBooks: Practical Web Test Automation, Selenium WebDriver Recipes in Ruby
- articles: Advice on Self-Learning Test Automation with Selenium WebDriver, and 100+ more.
The Objective
The objective is to show the attendant how to create highly maintainable, easy-to-read raw Selenium WebDriver tests for his/her own app, with high efficiency.
Web Test automation, unfortunately, has been filled with bad practices, such as:
Furthermore, inexperienced engineers often choose the wrong frameworks and tools such as:
vendor-proprietary test automation tools, which are often expensive and lack flexibility and reliability
Chrome DevTools Protocol (CDP) based frameworks such as Cypress and Puppeteer
Gherkin BDD frameworks (Cucumber, SpecFlow,…)
using a compiled language such as Java and C#, or a not-suitable language such as JavaScript
The fact is that UI Test Automation failures are everywhere (see why?). After a test automation attempt failed in a software company, the tech lead usually blamed tools (such as Micro Focus or SmartBear), proprietary frameworks (such as Cypress), and even free, open-source frameworks (such as Selenium WebDriver). The mudslinging against Selenium WebDriver is low and stupid, or even evil.
Just over the last two months, I have heard of these false comments about Selenium WebDriver:
“Selenium cannot handle AJAX or dynamic websites”
“Selenium is unable to click a checkbox in a table cell”
“Selenium is slow”
“Selenium is flaky”
“You can do file upload with Selenium”
Of course, all the above comments are wrong. People were very surprised to see how easy and intuitive Selenium was when I demonstrated some features of Selenium to oppose these false claims. Time has proved that Selenium WebDriver is the most feature-complete and reliable web automation framework, as it is W3C standard compliant and supported by all major browser vendors.
“So, you’re probably wondering why some people are using Cypress.
Well, just take into consideration the fact that the Cypress company spends a lot of money on Marketing and a lot of that is focused in Content Marketing.
This means that you’ll find a lot of articles written by certain individuals where they claim that Selenium is old and flaky and Cypress is just what you need.
Don’t be fooled by those articles.”
- A Reply on Quora.
Are there still doubts? Selenium WebDriver (W3C compliant) has long been proven in the top IT companies.
“Facebook is released twice a day, and keeping up this pace is at the heart of our culture. With this release pace, automated testing with Selenium is crucial to making sure everything works before being released.” — from the presentation of Damien Sereni (engineering director at Facebook) at Selenium 2013 Conference
Why do people try to defame Selenium WebDriver, a free and the best framework for web test automation? Because those “engineers” were simply unable to develop and maintain a good suite of Selenium tests. This does not mean others can’t. I will show the attendant one correct way to do test automation by using raw Selenium WebDriver.
Why do I offer this?
For those assistance requests, I could only give general advice such as “Don’t use recorders” or “Avoid using JavaScript and Cucumber”, and suggestions on books, blogs and articles. I know this is not enough. However, there was not much more I could do. My business offers a one-on-one coaching service. Therefore, I need to protect the interests of our paid customers. When I explained the reasons why I could not review their test scripts or provide specific advice on their situation, most of them showed understanding. After all, they were asking for my help with their commercial work.
One day, I was inspired by a hit TV show, “Better Call Saul”, in which a successful lawyer (Kim Wexler) does Pro Bono work while working commercially for a bank. I believe it will be beneficial for both sides to offer near-free trial coaching sessions as long as the frequency and content of ‘free coaching’ is limited to a certain scope.
The condition for this ‘free’ session
To be fair,
One customer can only book once
If one person has booked a session before, he/she won’t be able to book it again.Only one session is offered per month.
One session per month is available for booking on WhenWise (see below).The content is limited to showing some of the best practices for scripting Selenium tests
Obviously, there is a limit on what can be done in 30 minutes. See below for details.
The Content
In this free session, I will provide coaching professionally, the same to my commercial customers but with specific content. Due to the time constraint (30-min), I will focus on writing one or two automated tests in raw Selenium WebDriver + RSpec, against the attendant’s website which is publicly accessible.
Install TestWise Ruby Edition
Quick Introduction of intuitive Selenium syntax: Locators
Quick Introduction of intuitive RSpec
Write automated tests properly, using Chrome’s inspector to choose the best locator.
Enter Selenium test steps using Snippet
Run individual tests, leave the browser open
Debug test efficiently by running selected test steps against the current browser (‘Attach execution to browser’)
Some may wonder: “Will 30 min be enough for the above?” Yes, because raw Selenium WebDriver is the easiest to learn with the right tool. Check out this article: Step by Step showing how to learn to write raw Selenium WebDriver test scripts in minutes.
Don’t believe it? I can prove this to you in this free session.
Why $1? Why not make it completely free?
Obviously, my offering of this near-free service is not for money. After taking out the payment process fee (by Stripe) and other related admin costs, I will end up in a negative on this. That’s why I can only offer one session per month.
1. Prevent people from abusing the ‘free’ service
Even I limited once only per customer on WhenWise booking, it is still possible for some people to register multiple accounts with WhenWise to book these free sessions. Enforcing a payment (even for $1), in my opinion, shall largely reduce the annoyances.
2. Filter out people who are not serious about test automation
Test Automation is easy to start, but only serious and passionate engineers can succeed. If an engineer is not willing to invest $1 (the real value is $150), I have every reason to believe he/she is not ready to do test automation anyway.
Years ago, I purchased a copy of MacOS X (Tiger) DVD for $1. I assume Apple did this for the similar reasons. If it was offered free, some might grab multiple copies.
Q & A
1. It sounds like a sale pitch.
No, it is not a sale pitch. The test scripts (for the attendant’s app) are in raw Selenium WebDriver tests, 100% free and open-source. There is no vendor locking.
While I will use TestWise (my own testing tool) in the coaching session, TestWise can be used with full functionality in free mode. You can need to pay a cent (a bit like most youtube viewers, but better, TestWise free mode does not show commercial ads, rather shows classic technical quotes from books for 10 seconds), and you may continue using that way forever.
2. What shall the attendant prepare for the session?
Just the publicly accessible website and one or two test cases, including test data.
For attendants who like hands-on, free free to follow my steps to install software and write tests.
3. Can I ask questions during the session?
Yes, you can. However, due to the time constraint, I will not have time to explain in detail or with examples. My answers would be quite generic, such as “Avoid using JavaScript”. You’d better read my books and articles (see below) in your own time. During the session, I would rather focus more on scripting.