Index
Zhimin’s Articles, categorized
10 min readMar 26, 2021
This is the “Table of Contents” page of my articles, which are categorized by topics. I hope this will help you find interested topics quickly. This page will be updated when new articles come out.
Table of Contents:
· Web Test Automation
∘ 1. Test Automation Techniques
∘ 2. Opinions
∘ 3. Benchmark
∘ 4. Show Cases / Case Studies (Web Test Automation)
∘ 5. Advice
∘ 6. Self-Reflections
· Continuous Testing (CI/CD) & DevOps
∘ 7. CT Techniques
∘ 8. Opinions
∘ 9. CT Show Cases
· Desktop Test Automation
· Agile Testing
· Agile
· Software Design
· Quick Guides
· IT Interviews
· Misc
100+ are featured in software testing newsletters.
Web Test Automation
1. Test Automation Techniques
- Step by Step showing how to learn to write raw Selenium WebDriver test scripts in minutes
Selenium WebDriver is the Easiest-to-Learn Web Test Automation Framework, far easier than any other test automation framework, using free software. Seeing is believing! - Maintainable Automated Test Design 🔥
Design automated test scripts that are easy to maintain. - Test AJAX Properly and Efficiently with Selenium WebDriver, and Avoid ‘Automated Waiting’ 🔥
A simple and efficient way to do AJAX testing, in seconds - Functional Test Refactoring 🔥
1. Functional Test Refactoring: Extract Function
2. Functional Test Refactoring: Move to Helper
3. Functional Test Refactoring: Move
4. Functional Test Refactoring: Extract to Page Function
5. Functional Test Refactoring: Introduce to Page Object
6. Functional Test Refactoring: Rename - Attach Selenium Python test steps against an existing browser
Debugging automated tests (in PyTest) with high efficiency - Automation Assist
- Use UI Automation to Assist Agile Showcases
- Automation Assist Technique, Part 1: Showcase - Testing Emails in Automated Test Scripts with Fake SMTP server: MailCatcher
Safe, Fast, and Reliable Email Testing with Selenium WebDriver and MailCatcher - Free Test Automation Practice Site with Database Reset
Data reset will help you to write automated tests much easier - Optimize Selenium WebDriver Automated Test Scripts: Speed 🔥
Simple techniques to improve the execution speed of some automated test steps, up to 50X. - Optimize Selenium WebDriver Automated Test Scripts: Maintainability
Simple techniques to make maintaining automated test steps easier. - Optimize Selenium WebDriver Automated Test Scripts: Readability
Simple techniques to make automated tests readable for the whole team - Drive Chrome with Extensions using Selenium WebDriver
- Draw on a Canvas using Selenium WebDriver
- Selenium 4 Chrome DevTools Examples
- Selenium 4 Relative Locator Examples
- Selenium WebDriver Recipes in Ruby 4th Edition is released
- Use Regular Expressions in Test Automation
- Practical DDT: Randomized data scenarios in one automated test script + Continuous Testing
- Automating Shadow DOM with Selenium WebDriver
- An Unsuccessful Attempt to use OCR to Pass text-based Captcha in Selenium Automated Tests
- Test SOAP Web Services Effectively, Easily and Freely
Use raw ruby scripts, not SoapUI or PostMan.
2. Opinions
- Series: Why Do Most UI Test Automation Fail? (Technical)
- Part 1: Wrong choice of automation framework
- Part 2: Wrong choice of test syntax framework
- Part 3: Wrong test scripting language
- Part 4: Wrong choice of test automation tool
- Part 5: Don’t know how to design easy-to-maintain test scripts
- Part 6: Lack of Efficiency
- Part 7: Lake of experience in executing a medium-size regression suite of automated UI tests - Clarified Series:
Unit Testing Clarified
User Story Card Clarified
Regression Testing Clarified 🔥
Cross Browser Testing Clarified
Headless Browser Testing Clarified
‘Data-Driven Testing’ Clarified
‘Shift Left Testing’ Clarified
Continuous Testing Clarified
Full-Stack Software Engineer Clarified
Testing Pyramid Clarified 🔥
BDD Clarified: BDD ≠ “Given-When-Then” (Gherkin)
Codeless Test Automation is Irrational
“Done, Done” in Agile
Fake End-to-End Test Automation Clarified
In-Sprint Test Automation Clarified
CI/CD (Pipeline) Clarified
DevOps Clarified
User Acceptance Testing Clarified - Series: Why Do Most UI Test Automation Fail? (Human factors)
- Part 1: Management under-estimate the effort, especially on test maintenance
- Part 2: Tech leads over-estimate their capability in test automation
- Part 3: Tech leads are fixated with a particular wrong technologies
- Part 4: No access to a real Test Automation Coach - Why Gherkin (Cucumber, SpecFlow,…) Always Failed with UI Test Automation? 🔥
All test automation attempts using Gherkin syntax, that I know of, all failed badly. Why? The creator of Cucumber said “Cucumber as a test tool it sucks”. - Why Cypress sucks for real test automation? (Part 1: Selenium is way better) 🔥
All Cypress test projects, that I know of, all failed. This article tells you why. - Why Cypress Sucks for Real Test Automation? (Part 2: Limitations)🔥
Many limitations of Cypress make it not suitable for serious test automation. - Why JavaScript Is Not a Suitable Language for Real Web Test Automation?
JavaScript is OK for developing apps, but not for functional test automation, where its audience is beyond programmers. Ruby is a far better choice. - Test Automation Camel, a metaphor that explains why most test automation attempts failed? 🔥
- Is Your Test Automation on Track? Maintenance is the key
Automated test scripts require ongoing care and maintenance. Unmaintainable or hard-to-maintain automated test scripts are vain. - False ‘Selenium WebDriver Cons”
The so-called ‘Cons’ of Selenium WebDriver listed in some review articles are wrong, plainly wrong. - Evil Mudslingings against Selenium WebDriver
Selenium WebDriver is the most productive automation framework for testing web applications. As a W3C standard, WebDriver ticks all the boxes. - Please, Not Another Web Test Automation Framework, Just Use Raw Selenium WebDriver
Don’t ruin your test automation with a silly mistake — “building a new test framework”. 99.999% of engineers simply don’t have the capability, moreover, it is totally unnecessary (and mostly ended embarrassingly). Just follow Facebook/Google/Microsoft, use raw Selenium WebDriver. - Irrational and False Excuses for Web Test Automation Failures
Real reason: Incompetence. Just admit ‘lack of the skills’, change the mindset, and seek professional help if necessary. - Why I Created a Selenium Recorder But Rarely Use it myself?
Recorded test scripts are hard to maintain. With a good testing tool, handcrafting automated test scripts can be highly efficient and fun. - Web Automation Framework Trend ⇒ Selenium WebDriver
The only automation framework is W3C Compliant. - Why Auto-Retry of Test Execution in a Test Framework is Wrong?
I pioneered auto-retry back in 2007. The Auto-retry shall not be in the test framework (like Cypress and Jest did it wrongly), it shall be in the CT server. - Which Selenium WebDriver Language Binding 🔥
Test scripts shall be written in a good scripting language, such as Ruby. - Crazy Web Test Automation: “Freedom Is Slavery”
Choose Selenium WebDriver to embrace freedom. - Automated Test Scripts Shall be in the Syntax of a Scripting Language, Naturally!
- How to Implement Real Automated Regression Testing?
- How to Rescue a Failed Test Automation?
- Codeless Test Automation is Irrational
- Be aware of the “fake it until you make it” mindset in Test Automation and CI/CD
- Why Recording Videos for Automated Test Execution in Test Scripts is Wrong?
- There is no “100% coverage” in Automated E2E Software Testing
- Why Test Automation Tool with Runtime License is Evil?
- Why I Switched my day work from Programming to Automated Testing?
- Part 1: More Challenging
- Part 2: More Fun 🔥
- Part 3: Too Productive to Continue working as a Programmer - Software QA Engineers: “One of the Happiest Jobs in the USA”
- CIO’s Agile/DevOps: The Emperor’s New Clothes
3. Benchmark
- Which Selenium WebDriver locator is faster? 🔥
The result might surprise you. - Performance comparison: Selenium Ruby, Python, and Node.js
4. Show Cases / Case Studies (Web Test Automation)
- Upgrade 500 Selenium v3 tests to Selenium v4, Easy!
It is good that I chose Selenium, the only W3C-compliant web automation framework. - Case Study of UI Test Automaton on My Own Migration Project
- Working Automated Test ≠ Good Reliable Test 🔥
A case study to show the common mistakes in poor-quality and unreliable automated test scripts. Developing a working automated UI test is not enough. - Case Study: Simulate Two Users with Selenium Automation Scripts
An impressive demonstration of a typical enterprise business process scenario with automation scripts. - Case Study: Automated Testing ‘Login with Remember Me’ in Selenium WebDriver
a step-by-step guide to developing this slightly tricky automated End-to-End test for this common web app feature. - Reloading a Chrome Extension using Selenium WebDriver
5. Advice
- Advice on Self-Learning Test Automation with Selenium WebDriver 🔥
Self-Learning web test automation is possible. - Advice on Software Projects to Survive at COVID-19: Time to Skill up Continuous Testing
Test Automation and CT will be even more beneficial to software projects after the Post-Covid world. - How to Expose Fake UI Test Automation in Fake Agile companies?
“Agile” claimed by most software companies claimed is fake. Just ask a simple question: “Show me the automated functional testing report in your CI/CT server?” - A Practical Advice on Rejecting Gherkin for Test Automation
Prevent this recipe for failures in E2E test automation.
6. Self-Reflections
- My Test Automation Journey
How I changed my career from a Java Programmer to Test Automation/Continuous Testing coach and the lessons I learned over the last 15 years. - My Continuous Testing Journey
Execute automated test suite from Testing IDE ⇒ Build Scripts from Command Line ⇒ CI Server ⇒ CT Server. - Reflections of Software I Created over the Last 14 Years in My Spare Time
Test Automation and Continuous Testing helped me to be a much better programmer. Thanks to test automation and CT, I am the owner of several highly acclaimed software products. - Lessons Learned from Test failures due to a new ChromeDriver Bug
The automation framework is software, it may contain bugs as well. - My Dream that I Had 20 Years Ago: “develop a cool C++ app” Has Been Finally Realised
- Why I Switched my day work from Programming to Automated Testing
- Part 1: More Challenging
API Testing
- Testing RESTful Service in Ruby
- Part 1: Test Creation
- Part 2: Run frequently in a Continuous Testing Server - Test SOAP Web Services Effectively, Easily and Freely
Desktop App Test Automation
- Successful Windows Desktop App Test Automation with Appium
- Appium Desktop Test Automation Milestone: 60,000 test executions over 2 years for 300-test regression suite
Continuous Testing (CI/CD) & DevOps
7. CT Techniques
- Set Up a Continuous Testing Server to Run Selenium Tests in Minutes
Run Selenium tests in a 100% free and open-source CT server, no previous CI/CT experience is required. - AgileWay Continuous Testing Grading 🔥
A simple grading system to rank your Agile/DevOps instantly!
8. Opinions
- Benefits of Continuous Testing Series
1. Part 1: to Wise Executives
2. Part 2: to Wise Managers
3. Part 3: to Wise Business Analysts
4. Part 4: to Wise Developers
5. Part 5: to Wise Testers
6. Part 6: to Happy Customers - Software Development Trend ⇒ Continuous Testing
The trend in software development is Continuous Testing: executing automated end-to-end regression tests in a CT server, multiple times a day.
9. CT Show Cases
- Recommend a Great CI Presentation: “Continuous Integration at Facebook” 🔥
See what a real Continuous Integration(& DevOps) is like. - WhenWise Regression Test Suite Reaches 500 Selenium tests and ~300K Test Executions
Share WhenWise’s CT process, which enables daily deployment to production. - Appium Desktop Test Automation Milestone: 60,000 test executions over 2 years for 300-test regression suite
Testing Windows native apps with Appium + WinAppDriver. - ShowCase: Great Software Development Productivity with Real UI Test Automation & Continuous Testing
Implemented the core CRM Field Service within 3 days, part-time - Running Playwright Mocha tests in BuildWise CT Server
Setting up a suite of Playwright Mocha tests in BuildWise to run continuously!
Desktop Test Automation
- Demo of Automated Testing for Windows Desktop App: TestWise tests TestWise
An Appium-WinAppDriver automated test creates a Selenium-WebDriver test in TestWise. - Appium Desktop Test Automation Milestone: 60,000 test executions over 2 years for 300-test regression suite
Agile Testing
- 35-Word Functional Test Automation Strategy 🔥
- Why Don’t I Use Defect Tracking? No Need, I do real Continuous Testing.
Real Agile projects minimize defect tracking with automated regression testing - With a Good Continuous Testing Process, You Can Get “GOOD & CHEAP & FAST” in Software Development
Quality enhances Efficiency and saves Costs. - “One Team One Dream” vs “Another Day Another Dollar”
The reality of IT team morale is often far from IT executives’ slogans. The most effective way to reduce the gap: Continuous Testing. - Estimating Test Automation Story Points is a Total Waste of Time
95+% of test automation efforts are on test maintenance & regression testing - Automation Assist Series
1. Use UI Automation to Assist Agile Showcases
2. Automation Assist, Part 1: Showcase - AgileWay Test Automation Formula
A shortcut to test automation success - 30-minutes Test Automation Coaching for A$1
- Test Automation and Continuous Testing Competition Week
- Effortless Requirement Traceability
- Lava Lamp Integration with the CT Server
Agile
- Agile Project Management: You Cannot Lower the Quality
- Done, Done in Agile
- XP (eXtreme Programming) is better than Scrum, as XP defined DevOps 20 years ago
XP (eXtreme Programming) is well ahead of its time. However, few projects adopt it though XP is more correct and practical. - Did you push software updates into production yesterday?
“Daily Deployment (to production)” is an eXtreme Programming (XP, first Agile) practice. - Estimating User Story Points is a Waste of Time
Software Design
- Software Design Pattern By Example: Singleton
- Software Design Pattern By Example: Strategy
- Software Design Pattern By Example: Template Method
Quick Guides
- 10-Minute Guide to Git Version Control for Testers
- 10-Minute Guide to Set up Test Automation using Selenium WebDriver with Ruby
- Set up, Develop Automated UI tests and Run them in a CT server on your First day at work 🔥
IT Interviews
- Four Screening Questions to Filter Out Fake Test Automation Engineers in Interviews 🔥
- One Test Automation Scenario Interview Question that Most Candidates Failed 🔥
- Case Study: User Change Password Automated Test - Agile Project Management: You Cannot Lower the Quality
(filter out incompetent software managers, and fake agile coaches/scrum masters) - My secret of near 100% interview success on Test Automation Engineer roles
- An IT Graduate’s frustration with a Fake ‘Senior Test Automation Engineer’ 🔥
Misc
- Chinese Idiom Stories for Software Professionals Series
- #1 Seven-Step Poem (七步詩)
- #2 Lord Ye Loves Dragon (葉公好龍)
- #3 Imitating Beauty (东施效颦)
- #4 To win a war with words (纸上谈兵)
- #5 Practice makes perfect (熟能生巧)
- #6 A quiet man of sincerity attracts admiration (桃李不言,下自成蹊)
- #7 Be There Just to Make Up the Number (滥竽充数)
- #8 Cutting a Mark on the Boat to Find the Sword (刻舟求剑)
- #9 Covering One’s Ears to Steal a Bell (掩耳盗铃)
- #10 Self-Contradictory (自相矛盾)
- #11 Pulling Up the Seedlings to Help Them Grow(拔苗助长)
- #12 Learning to Walk in Handan (邯郸学步)
- #13 Buying the Case but Returning the Pearl (买椟还珠)
- #14 Waiting for Hares by the Tree(守株待兔)
- #15 Those Who Flee 50 Steps Laugh at Those Who Flee 100 Steps(五十步笑百步)
- #16 Complementing Each Other (相辅相成)
- #17 It is never too late to mend (亡羊补牢)
- #18 The Measurements Are More Reliable! (愚人買鞋)
- #19 Paying a Handsome Price For A Swift Steed (千金買死馬)
- #20 Opposite effect to one’s intention (南辕北辙)
- #21 Prevention is Better (扁鹊三兄弟)
- #22 A Good Neighbour worths a Thousand Silver Coins(千金买邻)
- #23 Calling A Stag A Horse (指鹿为马)
- #24 To Draw a Snake with Feet 画蛇添足
- #25 Blind Men Feeling an Elephant盲人摸象
- #26 Skilled and Magical Craftsmanship (庖丁解牛)
- #27 Trim the Toes to Fit the Shoes 削足适履