My Top/Favourite Articles

Self-Rated

Zhimin Zhan
8 min readApr 7, 2023

As of 2023–03–16, I have published 308 articles on Medium since January 2021 (~ two years), and 137 of them were featured in leading software testing newsletters (I am the World №1 author in software testing, according to the findings from my daughter’s automation scripts ). By the way, I am still writing, i.e., the number is increasing.

Here I listed my personal favourites, the top 38, that my daughter or even myself find useful (and re-read sometimes) as a test automation engineer.

  1. 🎖 ️A Tale of a Deceptive End-to-End Test Automation Engineer
    There is no shame in lacking the ability to perform user end-to-end test automation, but deceitfulness is certainly unacceptable. An interesting and insightful read.
    (this article has been selected for a Boost, by Medium Curators; According to the Medium 2024–04 stats, only ~0.2% articles are Boosted.)
  2. One Test Automation Scenario Interview Question that Most Candidates Failed
    A simple question reveals fake automated testers instantly. Also, the most liked (clapped) article by readers.
    A related one,
    Four Screening Questions to Filter Out Fake Test Automation Engineers in Interviews
  3. What Happened to ThoughtWorks?
    My most popular (by a big margin) article.
  4. Cypress.io is Dying
    A compilation of facts and common sense. A Follow-up for My Article, “Cypress.io is Dying” After 3 Months verifies my predictions.
  5. My Innovative Solution to Test Automation: Debug Automated E2E Web Test Scripts Intuitively and Proficiently
    The approach can save automated testers a few hours every day, which is a common feedback I received from mentees.
  6. Why Gherkin (Cucumber, SpecFlow,…) Always Failed with UI Test Automation?
    My first Medium article. This is also featured in Medium’s top publication, “The Startup”.
    Related:
    BDD Clarified: BDD ≠ “Given-When-Then” (Gherkin); A Practical Advice on Rejecting Gherkin for Test Automation
  7. Why Raw Selenium Syntax is better than Cypress and Playwright? Part 3: Accurate, Intuitive, Consistent, and Geniously Designed.
    Besides clearing up common misconceptions, I also shared a secret of a highly efficient real test automation engineer: Testing Rhythm.
  8. 🎖 ️Waiting Strategies for Test Steps in Web Test Automation
    Handle waits differently according to the nature of the test steps.
    (this article has been selected for a Boost, by Medium Curators)
  9. Why Software Testing is Not Effective in Most Software Teams?
    Advice: Adopt E2E (via UI) Test Automation.
  10. Selenium WebDriver is the Easiest-to-Learn Web Test Automation Framework
    Raw Selenium Webdriver is better than any other web test automation framework in nearly all aspects (see whys?), including being the easiest to learn. This article shows how to learn to write raw Selenium WebDriver test scripts in minutes, Step by Step.
  11. Maintainable Automated Test Design
    Unmaintainable end-to-end automated test scripts are useless (or worse). Design automated test scripts that are easy to maintain.
  12. Test Creation Only Account for ~10% of Web Test Automation Efforts
    Many test managers and test architects don’t know this, so failures in test automation attempts are almost certain.
    Related:
    Is Your Test Automation on Track? Maintenance is the key
  13. My Innovative Solution to Test Automation: Attach test execution to the existing browser
    A huge productivity booster! A utility that can save several hours every day for test automation engineers, but few people know about it.
  14. Functional Test Refactoring: Extract Page Function
    Extract selected test steps to a Page Class (of Page Object Model pattern) as a function. Many testers are aware of Page Object Model, but often don’t do it because time-consuming and error-prone. This refactoring helps! I have been using it many times every working day since 2006.
  15. 🎖 Correct Wrong “Playwright’s Advantage over Selenium” Part 1: “Playwright is Modern and Faster than Selenium”
    (this article has been selected for a Boost, by Medium Curators)
  16. Story: “What is the Most Challenging in E2E Test Automation?”
    An insightful story shows the overall test automation community lacks even a basic understanding of test automation.
  17. 35-Word Functional Test Automation Strategy
    Don’t waste weeks/months of meetings. As web/mobile platforms haven’t changed for decades, a good test automation strategy, like this one, works for all projects.
  18. Why Cypress Sucks for Real Test Automation?
    I have been saying that since seeing Cypress for the first time. The reason is simple and obvious: a test framework must not have severe limitations. But Cypress did.
  19. Why JavaScript Is Not a Suitable Language for Real Web Test Automation?
    Every JavaScript (PhantomJS, Protractor, TestCafe, Puppeteer, Cypress and Playwright) tester I met was a fake, see the Definition of End-to-End Test Automation Success. There is a good reason for that.
  20. Optimize Selenium WebDriver Automated Test Scripts: Speed
    Simple techniques to improve the execution speed of some automated test steps.
  21. Functional Test Refactoring
    A quick, reliable, and efficient way to improve the test design of your automated test scripts. Many ‘automated testers’ produce bad test scripts because they don’t understand what high-quality ones shall be or are lazy to refine them. Refactoring support in tools (such as TestWise) will help.
  22. 🎖 A Good Software Testing Process Should Effectively Prevent the Recurrence of the Same Defects in New Releases
    Take an Engineering Mindset towards your E2E Testing.
    (this article has been selected for a Boost, by Medium Curators)
  23. Test AJAX Properly and Efficiently with Selenium WebDriver, and Avoid ‘Automated Waiting’
    So-called “automated-waiting” in automation frameworks is wrong! There is a correct, simple, flexible, easy, and efficient way to do AJAX testing, in seconds.
  24. Story: An IT Graduate’s frustration with a Fake ‘Senior Test Automation Engineer’
    Fake Test Automation Engineer is worse than useless. Young (or new) automated testers will find this useful.
  25. Recommend a Great CI/DevOps Presentation: “Continuous Integration at Facebook”
    Most so-called CI/CD are fake (do you do real continuous delivery, i.e. daily production releases? I do). Check out this great presentation by Facebook.
  26. AgileWay Continuous Testing Grading
    A simple grading system to rate your Agile/DevOps maturity instantly! While it is not strictly scientific, test automation engineers use this grading system to assess themselves and others. I find it useful.
  27. Estimating Test Automation Story Points is a Total Waste of Time
    Common feedback on this article is “Insightful”. If you were pushed to do silly estimation for test automation work, you could send the link to this article to your manager.
  28. The Real Software Development Velocity is Mostly Decided by the Testing Capability, not Coding.
    A reality that many IT managers know but find it hard to acknowledge and accept.
  29. Please, Not Another Web Test Automation Framework, Just Use Raw Selenium WebDriver
    A common and silly mistake in test automation is that Level 0 or 1 (of AgileWay Continuous Testing Grading) automated testers try to design/build a new “test automation framework”! This is totally insane. Even Protractor, a framework built by Google’s Angular.js team, failed.
    A related article,
    An Unbelievable True Story: People’s Fixation on an Obviously Failed “Self-Created” Test Automation Framework
  30. Test Automation Camel, a metaphor that explains why most test automation attempts failed?
    A metaphor provides a full picture that explains why most software projects fail test automation. Simple and Clear!
  31. Is Test Automation Still in High Demand? You Bet!
    While most test automation attempts fail (for many reasons, the most common one, by fakers), which gives test automation a bad reputation. Still, market research shows that the demand for test automation is even stronger. So if you want to get involved or are tired of doing fakely, invest (mostly just time) to learn real test automation.
  32. AgileWay Test Automation Formula
    A proven combination of frameworks and tools for achieving UI test automation success. I have been using the exact formula, using all open frameworks, since 2011. If you are new, I suggest you take this shortcut.
  33. Cypress vs Selenium WebDriver Comparison by Example
    Comparing a ‘refined’ test script by the leading Cypress expert against its raw Selenium Ruby version by me. The selenium version is much better!
    Related:
    Playwright vs Selenium WebDriver Syntax Comparison by Example, Selenium wins again.
  34. Testing Pyramid Clarified
    Comparison of four types of automated testing in the Testing Pyramid. Now, many software projects chicken out the top and most important tier: “UI Testing”. By the way, Facebook calls it “WebDriver tier”.
  35. Test Automation and Continuous Testing Competition Week
    Over 17 years, I witnessed countless test automation failures, from CIOs to testers, and they have many excuses. There is a practical, cheap and fun way to create a successful Test Automation and Continuous Testing Formula in your company.
  36. 10-Minute Guide to Git Version Control for Testers
    There are plenty of Git tutorials online. But when training a manual tester (to learn test automation), this guide is concise and easy to understand.
    Related:
    10-Minute Guide to Object-Oriented Programming for Automated Testers
  37. How do I Start Test Automation on Day 1 of Onboarding a Software Project?
    A real test automation engineer can implement at least one high-quality core business end-to-end test script on the first day. Making a good impression, End-to-End (via UI) Test Automation can be real, useful, and proven quickly.
  38. Set Up a Continuous Testing Server to Run Selenium Tests in Minutes
    Do it quickly using 100% free and open-source software, no previous CI/CT experience is required.
    I spent quite a lot of effort writing this article, but not well received as I initially expected. Reason: most unable to achieve a small set (such as 25) of tests, i.e. not up to a level to appreciate the importance of
    Continous Testing, by the way, which is essential.
  39. Automation Assist, Part 1: Showcase
    Good Test Automation Scripts are more than QA. Use automated scripts to help your team to deliver a perfect showcase.
  40. My Innovative Solution to Load Testing: Run Selenium Tests (in real browsers) in a CT Server with Parallel Execution for better Load Testing
    I invented this new load-testing approach for my app first. In 2015, I accomplished a major load-testing challenge for a large tech company. In 2018, Business Wire referred to real-browser-load-testing as “Groundbreaking Technology”.
  41. Case Study: Rescue Unreliable 20 hours of Automated Regression Testing in Jenkins ⇒ 6-Minute Highly-Reliable in BuildWise CT Server
    Convert unreliable tests in self-created Java/Groovy ‘framework’ to raw Selenium WebDriver in Ruby; Switch Jenkins to BuildWise to execute the test suite.
  42. Set up, Develop Automated UI tests and Run them in a CT server on your First day at work
    A Step-by-step guide to set up developing Selenium WebDriver tests and running all tests in a Continuous Testing Server, quickly! A good all-in-one guide for someone to start a new test project.
  43. Team Considerations in Choosing Automated Test Scripting Language, Why Ruby is much better than JavaScript?
    Ruby is the best scripting language for scripting automation tests, and this has been proven for over a decade. Unfortunately, many software projects blindly choose the coding language for automated tests, a big mistake! See Automated Test Scripts Shall be in the Syntax of a Scripting Language, Naturally!
    Related article:
    Analysis of Hired’s 2023 State of Software Engineers Report: “Ruby on Rails is the most in-demand skill.”
  44. Benefits of Test Automation and Continuous Testing series: Executives, Managers, Business Analysts, Developers, Testers and Customers.
    Sadly, many did not know the power and benefits of end-to-end test automation.
  45. Working Automated Test ≠ Good Reliable Test
    A good case study to show the common mistakes in poor-quality and unreliable automated test scripts. Developing a working automated UI test is not enough.
  46. Advice on Self-Learning Test Automation with Selenium WebDriver
    Self-Learning web test automation is possible; here are my practical tips.

Resources:

--

--

Zhimin Zhan

Test automation & CT coach, author, speaker and award-winning software developer. Help teams succeed with Agile/DevOps by implementing real Continuous Testing.